как скрыть определенного пользователя из списка пользователей drupal - PullRequest
0 голосов
/ 20 февраля 2011

Я хотел бы скрыть определенного пользователя (технического администратора с полными привилегиями) из списка пользователей. потому что администратор (другой администратор с меньшими правами) не удалит этого администратора из списка пользователей. хотя админ может удалить других пользователей с сайта. как это сделать?

Ответы [ 3 ]

0 голосов
/ 23 февраля 2011

Используйте представления для репликации списка пользователей и установите фильтр на «Nid! = [Скрытый идентификатор пользователя]».

0 голосов
/ 01 ноября 2016

Вы можете просто изменить свое мнение. Перейдите в Вид> Администрирование: Пользователи> Изменить. Затем в КРИТЕРИИ ФИЛЬТРА> Добавить> Пользователь: Роли. В Operator выберите Is none of и выберите роль, которую вы хотите скрыть (администратор), нажмите применить и сохранить. Готово!

Бонус: вы также можете скрыть эту роль пользователя от регистрации (Добавить нового пользователя), создав hook_form_alter() в своем пользовательском модуле. Как то так:

/**
 * Implements hook_form_alter().
 */
function MyModule_form_alter(&$form, &$form_state, $form_id) {
    //to get the current user role
    global $user;
    $user_roles = $user->roles;

    //use devel to find the user role, which you wish to hide
    //dsm($form);

    switch ($form_id) {
        case 'user_register_form':
            if (!in_array('administrator', $user_roles)) { // hide this only if the current user role is not administrator
                unset($form['account']['roles']['#options'][3]);
            }
        break;
    }
}

Это будет скрывать administrator role при создании нового пользователя. Вы должны следовать тем же путем, чтобы скрыть это и от формы редактирования пользователя. * * 1010

0 голосов
/ 20 февраля 2011

Попробуйте http://drupal.org/project/userprotect.

Общей проблемой является то, что разрешение на администрирование пользователей очень проблематично и дает слишком много привилегий.

...