Completed
Push — master ( d627d1...90752c )
by Joel
01:58
created
ConfirmationBehavior.php 2 patches
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
      * @param $event Event;
91 91
      */
92 92
 
93
-    public function beforeSave($event){
93
+    public function beforeSave($event) {
94 94
         $this->protectAttributes();
95 95
     }
96 96
 
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
             if ($this->skipOnNull && $value === null || $attribute == $this->timestampAttribute)
110 110
                 continue;
111 111
 
112
-            if(!$this->isAuthorised($user, $attribute, $value)){
112
+            if (!$this->isAuthorised($user, $attribute, $value)) {
113 113
                 $this->createConfirmationRequest();
114 114
                 $this->resetAttribute($attribute);
115 115
             }
@@ -124,17 +124,17 @@  discard block
 block discarded – undo
124 124
      *
125 125
      * @return bool
126 126
      */
127
-    protected function isAuthorised($user, $attribute, $value){
127
+    protected function isAuthorised($user, $attribute, $value) {
128 128
 
129 129
         //Check for pre-defined administration roles
130 130
         if ($this->userIsAuthorised($user))
131 131
             return true;
132 132
 
133 133
         //Check for valid release token , eg that the token exists and is for the same record as this
134
-        if($this->releaseToken != null){
135
-            $confirmation =  ConfirmationRequest::findOne(['release_token' => $this->releaseToken]);
134
+        if ($this->releaseToken != null) {
135
+            $confirmation = ConfirmationRequest::findOne(['release_token' => $this->releaseToken]);
136 136
 
137
-            if($confirmation == null)
137
+            if ($confirmation == null)
138 138
                 return false;
139 139
 
140 140
             $model = $confirmation->constructObject();
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
 
146 146
         //Check to see if any protected attributes have been altered
147 147
         foreach ($this->protectedAttributes as $attribute)
148
-            if($this->hasChanged($attribute))
148
+            if ($this->hasChanged($attribute))
149 149
                 return false;
150 150
 
151 151
         return true;
@@ -157,9 +157,9 @@  discard block
 block discarded – undo
157 157
      *
158 158
      * @return bool
159 159
      */
160
-    protected function userIsAuthorised($user){
160
+    protected function userIsAuthorised($user) {
161 161
         foreach ($this->allow as $role)
162
-            if($user->can($role))
162
+            if ($user->can($role))
163 163
                 return true;
164 164
 
165 165
         return false;
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
     /**
169 169
      * Business logic handling the creation of the Confirmation Request, and sending the second factor message.
170 170
      */
171
-    protected function createConfirmationRequest(){
171
+    protected function createConfirmationRequest() {
172 172
 
173 173
         $model         = $this->owner;
174 174
         $changedValues = $this->getChangedValues();
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
      *
194 194
      * @return bool
195 195
      */
196
-    protected function hasChanged($attribute){
196
+    protected function hasChanged($attribute) {
197 197
         return $this->owner->oldAttributes[$attribute] != $this->owner->{$attribute};
198 198
     }
199 199
 
@@ -201,11 +201,11 @@  discard block
 block discarded – undo
201 201
      * Fetches all values which have changed, expect for the timestamp attribute.
202 202
      * @return array
203 203
      */
204
-    public function getChangedValues(){
204
+    public function getChangedValues() {
205 205
         $changedAttributes = [];
206 206
 
207 207
         foreach ($this->owner->attributes() as $attribute)
208
-            if($this->hasChanged($attribute))
208
+            if ($this->hasChanged($attribute))
209 209
                 $changedAttributes[$attribute] = $this->owner->$attribute;
210 210
 
211 211
         unset($changedAttributes[$this->timestampAttribute]);
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
      * Sets an attribute back to it's original value when it was fetched.
218 218
      * @param string $attribute
219 219
      */
220
-    protected function resetAttribute($attribute){
220
+    protected function resetAttribute($attribute) {
221 221
         $this->owner->$attribute = $this->owner->oldAttributes[$attribute];
222 222
     }
223 223
 
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
      * Adds a flash message to the interface stating the change has been held over pending confirmation.
226 226
      * @param $model
227 227
      */
228
-    public function createFeedbackMessage($model){
228
+    public function createFeedbackMessage($model) {
229 229
         $this->displayMessage($model);
230 230
     }
231 231
 
@@ -233,7 +233,7 @@  discard block
 block discarded – undo
233 233
      * Business logic around displaying an appropriate feedback message to the user regbarding the change.
234 234
      * @param $model
235 235
      */
236
-    protected function displayMessage($model){
236
+    protected function displayMessage($model) {
237 237
         Yii::$app->session->setFlash('warning', 'Your update is pending confirmation.  Please check your email for a confirmation link.');
238 238
     }
239 239
 
@@ -241,8 +241,8 @@  discard block
 block discarded – undo
241 241
      * Business logic around transmitting the second factor message.
242 242
      * @param ConfirmationRequest $model
243 243
      */
244
-    public function sendSecondFactorMessage($model){
245
-        switch ($this->secondFactor){
244
+    public function sendSecondFactorMessage($model) {
245
+        switch ($this->secondFactor) {
246 246
             case 'email':
247 247
                 Yii::$app->mailer
248 248
                     ->compose($this->confirmationViewPath, ['model' => $model])
@@ -265,29 +265,29 @@  discard block
 block discarded – undo
265 265
      * @return string
266 266
      * @throws InvalidCallException
267 267
      */
268
-    protected function getEmail($model){
268
+    protected function getEmail($model) {
269 269
 
270 270
         $values = unserialize($model->values);
271
-        $email  = ArrayHelper::getValue($values,'email');
271
+        $email  = ArrayHelper::getValue($values, 'email');
272 272
         $object = $model->constructObject();
273 273
 
274
-        if($email == null){
275
-            $email = ArrayHelper::getValue($values,'email_address');
274
+        if ($email == null) {
275
+            $email = ArrayHelper::getValue($values, 'email_address');
276 276
         }
277 277
 
278
-        if($email == null){
279
-            $email = ArrayHelper::getValue($object,'email');
278
+        if ($email == null) {
279
+            $email = ArrayHelper::getValue($object, 'email');
280 280
         }
281 281
 
282
-        if($email == null){
283
-            $email = ArrayHelper::getValue($object,'email_address');
282
+        if ($email == null) {
283
+            $email = ArrayHelper::getValue($object, 'email_address');
284 284
         }
285 285
 
286
-        if($email == null){
287
-            $email = ArrayHelper::getValue($object,$this->createdByAttribute.'.email');
286
+        if ($email == null) {
287
+            $email = ArrayHelper::getValue($object, $this->createdByAttribute . '.email');
288 288
         }
289 289
 
290
-        if($email == null){
290
+        if ($email == null) {
291 291
             throw new InvalidCallException('Unable to locate email address via record, changed values, or user account');
292 292
         }
293 293
 
Please login to merge, or discard this patch.
Braces   +18 added lines, -12 removed lines patch added patch discarded remove patch
@@ -106,8 +106,9 @@  discard block
 block discarded – undo
106 106
 
107 107
         foreach ($changedValues as $attribute => $value) {
108 108
 
109
-            if ($this->skipOnNull && $value === null || $attribute == $this->timestampAttribute)
110
-                continue;
109
+            if ($this->skipOnNull && $value === null || $attribute == $this->timestampAttribute) {
110
+                            continue;
111
+            }
111 112
 
112 113
             if(!$this->isAuthorised($user, $attribute, $value)){
113 114
                 $this->createConfirmationRequest();
@@ -127,15 +128,17 @@  discard block
 block discarded – undo
127 128
     protected function isAuthorised($user, $attribute, $value){
128 129
 
129 130
         //Check for pre-defined administration roles
130
-        if ($this->userIsAuthorised($user))
131
-            return true;
131
+        if ($this->userIsAuthorised($user)) {
132
+                    return true;
133
+        }
132 134
 
133 135
         //Check for valid release token , eg that the token exists and is for the same record as this
134 136
         if($this->releaseToken != null){
135 137
             $confirmation =  ConfirmationRequest::findOne(['release_token' => $this->releaseToken]);
136 138
 
137
-            if($confirmation == null)
138
-                return false;
139
+            if($confirmation == null) {
140
+                            return false;
141
+            }
139 142
 
140 143
             $model = $confirmation->constructObject();
141 144
 
@@ -144,9 +147,10 @@  discard block
 block discarded – undo
144 147
         }
145 148
 
146 149
         //Check to see if any protected attributes have been altered
147
-        foreach ($this->protectedAttributes as $attribute)
148
-            if($this->hasChanged($attribute))
150
+        foreach ($this->protectedAttributes as $attribute) {
151
+                    if($this->hasChanged($attribute))
149 152
                 return false;
153
+        }
150 154
 
151 155
         return true;
152 156
     }
@@ -158,9 +162,10 @@  discard block
 block discarded – undo
158 162
      * @return bool
159 163
      */
160 164
     protected function userIsAuthorised($user){
161
-        foreach ($this->allow as $role)
162
-            if($user->can($role))
165
+        foreach ($this->allow as $role) {
166
+                    if($user->can($role))
163 167
                 return true;
168
+        }
164 169
 
165 170
         return false;
166 171
     }
@@ -204,9 +209,10 @@  discard block
 block discarded – undo
204 209
     public function getChangedValues(){
205 210
         $changedAttributes = [];
206 211
 
207
-        foreach ($this->owner->attributes() as $attribute)
208
-            if($this->hasChanged($attribute))
212
+        foreach ($this->owner->attributes() as $attribute) {
213
+                    if($this->hasChanged($attribute))
209 214
                 $changedAttributes[$attribute] = $this->owner->$attribute;
215
+        }
210 216
 
211 217
         unset($changedAttributes[$this->timestampAttribute]);
212 218
 
Please login to merge, or discard this patch.
ConfirmationRequest.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
             [['object_id'], 'integer'],
52 52
             [['object', 'values'], 'string'],
53 53
             [['model', 'release_token'], 'string', 'max' => 255],
54
-            [['release_token'], 'default',  'value' => function ($model, $attribute){ return $this->generateReleaseToken();}],
54
+            [['release_token'], 'default', 'value' => function($model, $attribute) { return $this->generateReleaseToken(); }],
55 55
             [['created_by'], 'exist', 'skipOnError' => true, 'targetClass' => $this->getUserClassName(), 'targetAttribute' => ['created_by' => 'id']],
56 56
             [['updated_by'], 'exist', 'skipOnError' => true, 'targetClass' => $this->getUserClassName(), 'targetAttribute' => ['updated_by' => 'id']],
57 57
         ];
@@ -97,8 +97,8 @@  discard block
 block discarded – undo
97 97
             ]);
98 98
     }
99 99
 
100
-    public function getViewLink(){
101
-        return Url::to(['@web/confirmation-requests', 'release_token' => $this->release_token],true);
100
+    public function getViewLink() {
101
+        return Url::to(['@web/confirmation-requests', 'release_token' => $this->release_token], true);
102 102
     }
103 103
 
104 104
     /**
@@ -129,20 +129,20 @@  discard block
 block discarded – undo
129 129
     /**
130 130
      * @return string ActiveRecord user class, as per application implementation
131 131
      */
132
-    protected function getUserClassName(){
132
+    protected function getUserClassName() {
133 133
         return Yii::$app->user->identityClass;
134 134
     }
135 135
 
136
-    public function release(){
136
+    public function release() {
137 137
 
138 138
         $model          = $this->constructObject();
139 139
         $changedValues  = $model->getChangedValues();
140 140
         $current        = clone $model;
141 141
         $current->refresh();
142 142
 
143
-        foreach ($changedValues as $field => $value){
143
+        foreach ($changedValues as $field => $value) {
144 144
             $oldValue = $model->oldAttributes[$field];
145
-            if($current->$field !== $oldValue && $current->$field !== $value){
145
+            if ($current->$field !== $oldValue && $current->$field !== $value) {
146 146
                 throw new ErrorException(
147 147
                     sprintf('Unable to release change, protected field %s has been updated since this request.'
148 148
                     . ' Expected to find %s or %s, found %s', $field, $value, $oldValue, $current->$field));
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
     /**
160 160
      * @return \enigmatix\core\Model
161 161
      */
162
-    public function constructObject(){
162
+    public function constructObject() {
163 163
         return unserialize($this->object);
164 164
     }
165 165
 
Please login to merge, or discard this patch.