Skip to content

Commit

Permalink
SHS:5892: Site managers can perform actions on user accounts that don…
Browse files Browse the repository at this point in the history
…'t make sense with SSO (#1682)

* feat(shs-5892): remove actions from people view

* feat(shs-5892): remove elements from used edit form

* fix(shs-5892): fix issues in user edit form alter

* fix(shs-5892): remove delete actions only for non admin users
  • Loading branch information
cienvaras authored Dec 2, 2024
1 parent 64b6bf1 commit f320398
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
5 changes: 5 additions & 0 deletions config/default/views.view.user_admin_people.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ display:
hide_empty: false
empty_zero: false
hide_alter_empty: true
action_title: Action
include_exclude: exclude
selected_actions:
- pathauto_update_alias_user
- user_cancel_user_action
name:
id: name
table: users_field_data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -910,3 +910,16 @@ function su_humsci_profile_ckeditor5_plugin_info_alter(array &$plugin_definition
$plugin_definitions['ckeditor5_table'] = new CKEditor5PluginDefinition($tableDefinition);
}
}

/**
* Implements hook_form_FORM_ID_alter().
*/
function su_humsci_profile_form_user_form_alter(&$form, FormStateInterface $form_state) {
// Get current user roles and determine if has the 'administrator' role.
$roles = \Drupal::currentUser()->getRoles();
$is_admin = in_array('administrator', $roles);
// Remove unnecessary URL alias fields from the user edit form for all users.
$form['path']['#access'] = FALSE;
// Remove Delete account button for all roles expect 'administrator'.
$form['actions']['delete']['#access'] = $is_admin;
}

0 comments on commit f320398

Please sign in to comment.