settingForm(); $form->tools( function (Form\Tools $tools) { $tools->disableList(); } ); return $content ->title(trans('admin.user_setting')) ->body($form->edit(Admin::user()->getKey())); } /** * Model-form for user setting. * * @return Form */ protected function settingForm() { return new Form(new Administrator(), function (Form $form) { $form->action(admin_url('auth/setting')); $form->disableCreatingCheck(); $form->disableEditingCheck(); $form->disableViewCheck(); $form->tools(function (Form\Tools $tools) { $tools->disableView(); $tools->disableDelete(); }); $form->display('username', trans('admin.username')); $form->text('name', trans('admin.name'))->required(); //$form->image('avatar', trans('admin.avatar'))->autoUpload(); $form->password('old_password', trans('admin.old_password')); $form->password('password', trans('admin.password')) ->minLength(5) ->maxLength(20) ->customFormat(function ($v) { if ($v == $this->password) { return; } return $v; }); $form->password('password_confirmation', trans('admin.password_confirmation'))->same('password'); $form->ignore(['password_confirmation', 'old_password']); // 添加语言选择的下拉框 $form->select('language', trans('admin.language')) ->options(config('app.languages')) ->default('en') ->required();; // 设置默认语言 $form->saving(function (Form $form) { if ($form->password && $form->model()->password != $form->password) { $form->password = bcrypt($form->password); } if (! $form->password) { $form->deleteInput('password'); } }); $form->saved(function (Form $form) { return $form ->response() ->success(trans('admin.update_succeeded')) //->redirect('/'); ->script('location.reload();');//保存成功后刷新页面 }); // // 在从数据库中取出记录时,如果 language 为空,则默认给它一个值 // $form->model()->language = $form->model()->language ?: 'en'; }); } protected function sendLoginResponse(Request $request) { $request->session()->regenerate(); $path = $this->getRedirectPath(); return $this->response() ->success(trans('admin.login_successful')) ->locationToIntended($path) ->locationIf(Admin::app()->getEnabledApps(), $path) ->send(); } }