AuthController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Community\Controllers;
  3. use Encore\Admin\Controllers\AuthController as BaseAuthController;
  4. class AuthController extends BaseAuthController
  5. {
  6. protected $title = '医生账号';
  7. /**
  8. * Make a form builder.
  9. *
  10. * @return Form
  11. */
  12. public function form()
  13. {
  14. $userModel = config('tenancy.database.users_model');
  15. $permissionModel = config('tenancy.database.permissions_model');
  16. $roleModel = config('tenancy.database.roles_model');
  17. $org_id = request('org_id');
  18. $doc_id = request('doc_id');
  19. $form = new Form(new $userModel());
  20. $userTable = config('tenancy.database.users_table');
  21. $connection = config('tenancy.database.connection');
  22. $form->display('id', 'ID');
  23. $form->text('username', trans('tenancy.username'))
  24. ->creationRules(['required', "unique:{$connection}.{$userTable}"])
  25. ->updateRules(['required', "unique:{$connection}.{$userTable},username,{{id}}"]);
  26. $form->text('name', trans('tenancy.name'))->rules('required');
  27. $form->image('avatar', trans('tenancy.avatar'));
  28. $form->password('password', trans('tenancy.password'))->rules('required|confirmed');
  29. $form->password('password_confirmation', trans('tenancy.password_confirmation'))->rules('required')
  30. ->default(function ($form) {
  31. return $form->model()->password;
  32. });
  33. $form->ignore(['password_confirmation']);
  34. $form->hidden('org_id')->value(request('org_id'));
  35. $form->hidden('docter_id')->value(request('doc_id'));
  36. $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::where('org_id',$org_id)->all()->pluck('name', 'id'))->rule('required',['requried'=>'请选择角色']);
  37. $form->display('created_at', trans('tenancy.created_at'));
  38. $form->display('updated_at', trans('tenancy.updated_at'));
  39. $form->saving(function (Form $form) use ($doc_id,$org_id){
  40. if ($form->password && $form->model()->password != $form->password) {
  41. $form->password = bcrypt($form->password);
  42. }
  43. });
  44. return $form;
  45. }
  46. }