AuthController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use Dcat\Admin\Form;
  4. use Dcat\Admin\Http\Controllers\AuthController as BaseAuthController;
  5. use Dcat\Admin\Http\Repositories\Administrator;
  6. class AuthController extends BaseAuthController
  7. {
  8. protected $view = 'admin.pages.login';
  9. /**
  10. * Model-form for user setting.
  11. *
  12. * @return Form
  13. */
  14. protected function settingForm()
  15. {
  16. return new Form(new Administrator(), function (Form $form) {
  17. $form->action(admin_url('auth/setting'));
  18. $form->disableCreatingCheck();
  19. $form->disableEditingCheck();
  20. $form->disableViewCheck();
  21. $form->tools(function (Form\Tools $tools) {
  22. $tools->disableView();
  23. $tools->disableDelete();
  24. });
  25. $form->display('username', trans('admin.username'));
  26. $form->text('name', trans('admin.name'))->required();
  27. //$form->image('avatar', trans('admin.avatar'))->autoUpload();
  28. $form->password('old_password', trans('admin.old_password'));
  29. $form->password('password', trans('admin.password'))
  30. ->minLength(5)
  31. ->maxLength(20)
  32. ->customFormat(function ($v) {
  33. if ($v == $this->password) {
  34. return;
  35. }
  36. return $v;
  37. });
  38. $form->password('password_confirmation', trans('admin.password_confirmation'))->same('password');
  39. $form->ignore(['password_confirmation', 'old_password']);
  40. // 添加语言选择的下拉框
  41. $form->select('language', trans('admin.language'))
  42. ->options(config('dictionary.languages'))
  43. ->default('en')
  44. ->required();; // 设置默认语言
  45. $form->saving(function (Form $form) {
  46. if ($form->password && $form->model()->password != $form->password) {
  47. $form->password = bcrypt($form->password);
  48. }
  49. if (! $form->password) {
  50. $form->deleteInput('password');
  51. }
  52. });
  53. $form->saved(function (Form $form) {
  54. return $form
  55. ->response()
  56. ->success(trans('admin.update_succeeded'));
  57. //->redirect('/');
  58. //->script('location.reload();');//保存成功后刷新页面
  59. });
  60. });
  61. }
  62. }