CdmsController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. // var_dump(intval($id));
  21. // dd('ss');
  22. $form = new Form(new $userModel());
  23. $userTable = config('tenancy.database.users_table');
  24. $connection = config('tenancy.database.connection');
  25. $form->display('id', 'ID');
  26. $form->text('username', trans('tenancy.username'))
  27. ->creationRules(['required', "unique:{$connection}.{$userTable}"])
  28. ->updateRules(['required', "unique:{$connection}.{$userTable},username,{{id}}"]);
  29. $form->text('name', trans('tenancy.name'))->rules('required');
  30. $form->image('avatar', trans('tenancy.avatar'));
  31. $form->password('password', trans('tenancy.password'))->rules('required|confirmed');
  32. $form->password('password_confirmation', trans('tenancy.password_confirmation'))->rules('required')
  33. ->default(function ($form) {
  34. return $form->model()->password;
  35. });
  36. $form->ignore(['password_confirmation']);
  37. $form->hidden('org_id')->value(request('id'));
  38. $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::all()->pluck('name', 'id'));
  39. $form->multipleSelect('permissions', trans('tenancy.permissions'))->options($permissionModel::all()->pluck('name', 'id'));
  40. $form->display('created_at', trans('tenancy.created_at'));
  41. $form->display('updated_at', trans('tenancy.updated_at'));
  42. $form->saving(function (Form $form) use ($id){
  43. if ($form->password && $form->model()->password != $form->password) {
  44. $form->password = bcrypt($form->password);
  45. }
  46. });
  47. $form->saved(function (Form $form) use ($id) {
  48. $org_id = $form->model()->org_id;
  49. \Log::info($form->model()->id.'--------id-----'.'组织id'.$org_id);
  50. Organization::where(['id'=>$org_id])->update(['cdms_id'=>$form->model()->id]);
  51. return redirect('/admin/organizations');
  52. });
  53. return $form;
  54. }
  55. }