User - hide the profile in edit form if it is disabled with user_status_show_option for admin sessions - refs BT#19598

pull/4521/head
Christian 3 years ago
parent fcf64ae40c
commit adb7ab5de9
  1. 42
      main/admin/user_edit.php

@ -250,16 +250,38 @@ $form->addNoSamePasswordRule('password', $userEntity);
// Status // Status
$status = UserManager::getUserStatusList(); $status = UserManager::getUserStatusList();
$form->addElement( $hideSelectProfile = false;
'select', // to hide the status list if it is not enabled with user_status_show_option for admin sessions.
'status', if (api_is_session_admin()) {
get_lang('Profile'), if (true === api_get_configuration_value('user_status_show_options_enabled')) {
$status, $userStatusConfig = api_get_configuration_value('user_status_show_option');
[ if (!empty($userStatusConfig)) {
'id' => 'status_select', $statusConfigHidden = [];
'onchange' => 'javascript: display_drh_list();', foreach ($userStatusConfig as $role => $enabled) {
] $constStatus = constant($role);
); if (!$enabled) {
$statusConfigHidden[] = $constStatus;
}
}
$hideSelectProfile = in_array($user_data['status'], $statusConfigHidden);
}
}
}
if (!$hideSelectProfile) {
$form->addElement(
'select',
'status',
get_lang('Profile'),
$status,
[
'id' => 'status_select',
'onchange' => 'javascript: display_drh_list();',
]
);
} else {
$form->addElement('hidden', 'status', $user_data['status']);
}
$display = isset($user_data['status']) && ($user_data['status'] == STUDENT || (isset($_POST['status']) && $_POST['status'] == STUDENT)) ? 'block' : 'none'; $display = isset($user_data['status']) && ($user_data['status'] == STUDENT || (isset($_POST['status']) && $_POST['status'] == STUDENT)) ? 'block' : 'none';

Loading…
Cancel
Save