diff --git a/src/Controller/UsersController.php b/src/Controller/UsersController.php index b81fde2..dbc296b 100644 --- a/src/Controller/UsersController.php +++ b/src/Controller/UsersController.php @@ -49,9 +49,13 @@ class UsersController extends AppController } else { $validRoles = $this->Users->Roles->find('list')->order(['name' => 'asc'])->all()->toArray(); } + $defaultRole = $this->Users->Roles->find()->select(['id'])->first()->toArray(); $this->CRUD->add([ - 'beforeSave' => function($data) use ($currentUser, $validRoles) { + 'beforeSave' => function($data) use ($currentUser, $validRoles, $defaultRole) { + if (!isset($data['role_id']) && !empty($defaultRole)) { + $data['role_id'] = $defaultRole['id']; + } if (!$currentUser['role']['perm_admin']) { $data['organisation_id'] = $currentUser['organisation_id']; if (!in_array($data['role_id'], array_keys($validRoles))) { @@ -89,6 +93,7 @@ class UsersController extends AppController ]) ]; $this->set(compact('dropdownData')); + $this->set('defaultRole', $defaultRole['id'] ?? null); $this->set('metaGroup', $this->isAdmin ? 'Administration' : 'Cerebrate'); } diff --git a/templates/Users/add.php b/templates/Users/add.php index a3c90a8..d3fcb7f 100644 --- a/templates/Users/add.php +++ b/templates/Users/add.php @@ -18,7 +18,8 @@ 'field' => 'organisation_id', 'type' => 'dropdown', 'label' => __('Associated organisation'), - 'options' => $dropdownData['organisation'] + 'options' => $dropdownData['organisation'], + 'default' => $loggedUser['organisation_id'] ], [ 'field' => 'password', @@ -39,7 +40,8 @@ 'field' => 'role_id', 'type' => 'dropdown', 'label' => __('Role'), - 'options' => $dropdownData['role'] + 'options' => $dropdownData['role'], + 'default' => $defaultRole ?? null ], [ 'field' => 'disabled',