CdmsController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\Organization;
  4. use Encore\Admin\Controllers\AdminController;
  5. use Encore\Admin\Form;
  6. class CdmsController extends AdminController
  7. {
  8. protected $title = '机构账号';
  9. /**
  10. * Make a form builder.
  11. *
  12. * @return Form
  13. */
  14. public function form()
  15. {
  16. $userModel = config('tenancy.database.users_model');
  17. $permissionModel = config('tenancy.database.permissions_model');
  18. $roleModel = config('tenancy.database.roles_model');
  19. $id = request('id');
  20. $form = new Form(new $userModel());
  21. $userTable = config('tenancy.database.users_table');
  22. $connection = config('tenancy.database.connection');
  23. $form->display('id', 'ID');
  24. $form->text('username', trans('tenancy.username'))
  25. ->creationRules(['required', "unique:{$connection}.{$userTable}"])
  26. ->updateRules(['required', "unique:{$connection}.{$userTable},username,{{id}}"]);
  27. $form->text('name', trans('tenancy.name'))->rules('required');
  28. $form->image('avatar', trans('tenancy.avatar'));
  29. $form->password('password', trans('tenancy.password'))->rules('required|confirmed');
  30. $form->password('password_confirmation', trans('tenancy.password_confirmation'))->rules('required')
  31. ->default(function ($form) {
  32. return $form->model()->password;
  33. });
  34. $form->ignore(['password_confirmation']);
  35. $form->hidden('org_id')->value(request('id'));
  36. $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::all()->pluck('name', 'id'));
  37. $form->multipleSelect('permissions', trans('tenancy.permissions'))->options($permissionModel::all()->pluck('name', 'id'));
  38. $form->display('created_at', trans('tenancy.created_at'));
  39. $form->display('updated_at', trans('tenancy.updated_at'));
  40. $form->saving(function (Form $form) use ($id){
  41. if ($form->password && $form->model()->password != $form->password) {
  42. $form->password = bcrypt($form->password);
  43. }
  44. });
  45. $form->saved(function (Form $form) use ($id) {
  46. $org_id = $form->model()->org_id;
  47. \Log::info($form->model()->id.'--------id-----'.'组织id'.$org_id);
  48. Organization::where(['id'=>$org_id])->update(['cdms_id'=>$form->model()->id]);
  49. return redirect('/admin/organizations');
  50. });
  51. return $form;
  52. }
  53. }