jqh 6 лет назад
Родитель
Сommit
745f657e99
3 измененных файлов с 32 добавлено и 16 удалено
  1. 18 8
      src/Controllers/AuthController.php
  2. 13 5
      src/Controllers/UserController.php
  3. 1 3
      src/Form.php

+ 18 - 8
src/Controllers/AuthController.php

@@ -167,11 +167,16 @@ class AuthController extends Controller
         $form->image('avatar', trans('admin.avatar'));
         $form->image('avatar', trans('admin.avatar'));
 
 
         $form->password('old_password', trans('admin.old_password'));
         $form->password('old_password', trans('admin.old_password'));
-        $form->password('password', trans('admin.password'))->rules('confirmed|required');
-        $form->password('password_confirmation', trans('admin.password_confirmation'))->rules('required')
-            ->default(function ($form) {
-                return $form->model()->password;
+
+        $form->password('password', trans('admin.password'))
+            ->rules('confirmed')
+            ->customFormat(function ($v) {
+                if ($v == $this->password) {
+                    return;
+                }
+                return $v;
             });
             });
+        $form->password('password_confirmation', trans('admin.password_confirmation'));
 
 
         $form->setAction(admin_url('auth/setting'));
         $form->setAction(admin_url('auth/setting'));
 
 
@@ -181,12 +186,17 @@ class AuthController extends Controller
             if ($form->password && $form->model()->password != $form->password) {
             if ($form->password && $form->model()->password != $form->password) {
                 $form->password = bcrypt($form->password);
                 $form->password = bcrypt($form->password);
             }
             }
-        });
 
 
-        $form->saved(function () {
-            admin_alert(trans('admin.update_succeeded'));
+            if (! $form->password) {
+                $form->deleteInput('password');
+            }
+        });
 
 
-            return redirect(admin_url('auth/setting'));
+        $form->saved(function (Form $form) {
+            return $form->redirect(
+                admin_url('auth/setting'),
+                trans('admin.update_succeeded')
+            );
         });
         });
 
 
         return $form;
         return $form;

+ 13 - 5
src/Controllers/UserController.php

@@ -243,12 +243,16 @@ class UserController extends Controller
             ->updateRules(['required', "unique:{$connection}.{$userTable},username,$id"]);
             ->updateRules(['required', "unique:{$connection}.{$userTable},username,$id"]);
         $form->text('name', trans('admin.name'))->required();
         $form->text('name', trans('admin.name'))->required();
         $form->image('avatar', trans('admin.avatar'));
         $form->image('avatar', trans('admin.avatar'));
-        $form->password('password', trans('admin.password'))->rules('required|confirmed');
-        $form->password('password_confirmation', trans('admin.password_confirmation'))
-            ->rules('required')
-            ->default(function ($form) {
-                return $form->model()->get('password');
+
+        $form->password('password', trans('admin.password'))
+            ->rules('confirmed')
+            ->customFormat(function ($v) {
+                if ($v == $this->password) {
+                    return;
+                }
+                return $v;
             });
             });
+        $form->password('password_confirmation', trans('admin.password_confirmation'));
 
 
         $form->ignore(['password_confirmation']);
         $form->ignore(['password_confirmation']);
 
 
@@ -271,6 +275,10 @@ class UserController extends Controller
             if ($form->password && $form->model()->get('password') != $form->password) {
             if ($form->password && $form->model()->get('password') != $form->password) {
                 $form->password = bcrypt($form->password);
                 $form->password = bcrypt($form->password);
             }
             }
+
+            if (! $form->password) {
+                $form->deleteInput('password');
+            }
         });
         });
 
 
         if ($id == AdministratorModel::DEFAULT_ID) {
         if ($id == AdministratorModel::DEFAULT_ID) {

+ 1 - 3
src/Form.php

@@ -1426,14 +1426,12 @@ class Form implements Renderable
     }
     }
 
 
     /**
     /**
-     * Get or set input data.
-     *
      * @param string|array $keys
      * @param string|array $keys
      * @param null   $value
      * @param null   $value
      *
      *
      * @return void
      * @return void
      */
      */
-    public function forgetInput($keys)
+    public function deleteInput($keys)
     {
     {
         Arr::forget($this->inputs, $keys);
         Arr::forget($this->inputs, $keys);
     }
     }