diff --git a/web/themes/asc_adminimal/asc_adminimal.theme b/web/themes/asc_adminimal/asc_adminimal.theme index b91086ba3502d0090fa9764bc4c57df326175a8c..6d24dd9325fc8ceb2369912673967ec036ab099b 100644 --- a/web/themes/asc_adminimal/asc_adminimal.theme +++ b/web/themes/asc_adminimal/asc_adminimal.theme @@ -1,18 +1,25 @@ <?php + use \Drupal\Core\Form\FormStateInterface; -function asc_adminimal_form_user_cancel_form_alter(&$form, FormStateInterface $form_state, $form_id) { - // Don't allow delet users or content when disabling an account - unset($form['user_cancel_method']['#options']['user_cancel_block_unpublish']); - unset($form['user_cancel_method']['#options']['user_cancel_reassign']); - unset($form['user_cancel_method']['#options']['user_cancel_delete']); - unset($form['user_cancel_confirm']); +function asc_adminimal_form_user_cancel_form_alter(&$form, FormStateInterface $form_state, $form_id) +{ + // Only allow users with the administrator role to delete users + if (!\Drupal::currentUser()->hasRole('administrator')) { + unset($form['user_cancel_method']['#options']['user_cancel_block_unpublish']); + unset($form['user_cancel_method']['#options']['user_cancel_reassign']); + unset($form['user_cancel_method']['#options']['user_cancel_delete']); + unset($form['user_cancel_confirm']); + } } -function asc_adminimal_form_user_multiple_cancel_confirm_alter(&$form, FormStateInterface $form_state, $form_id) { - // Don't allow delet users or content when disabling an account - unset($form['user_cancel_method']['#options']['user_cancel_block_unpublish']); - unset($form['user_cancel_method']['#options']['user_cancel_reassign']); - unset($form['user_cancel_method']['#options']['user_cancel_delete']); - unset($form['user_cancel_confirm']); +function asc_adminimal_form_user_multiple_cancel_confirm_alter(&$form, FormStateInterface $form_state, $form_id) +{ + // Only allow users with the administrator role to delete users + if (!\Drupal::currentUser()->hasRole('administrator')) { + unset($form['user_cancel_method']['#options']['user_cancel_block_unpublish']); + unset($form['user_cancel_method']['#options']['user_cancel_reassign']); + unset($form['user_cancel_method']['#options']['user_cancel_delete']); + unset($form['user_cancel_confirm']); + } }