Admin: Add multiple-selection enabling/disabling of users

pull/2585/head
Yannick Warnier 7 years ago
parent ba32004c0b
commit 4d65d4e84b
  1. 73
      main/admin/user_list.php
  2. 14
      main/lang/english/trad4all.inc.php
  3. 10
      main/lang/french/trad4all.inc.php
  4. 12
      main/lang/spanish/trad4all.inc.php

@ -439,7 +439,7 @@ function get_number_of_users()
* @param int Number of users to get * @param int Number of users to get
* @param int Column to sort on * @param int Column to sort on
* @param string Order (ASC,DESC) * @param string Order (ASC,DESC)
* * @return array Users list
* @see SortableTable#get_table_data($from) * @see SortableTable#get_table_data($from)
*/ */
function get_user_data($from, $number_of_items, $column, $direction) function get_user_data($from, $number_of_items, $column, $direction)
@ -512,6 +512,8 @@ function email_filter($email)
* Returns a mailto-link. * Returns a mailto-link.
* *
* @param string $email An email-address * @param string $email An email-address
* @param array $params Deprecated
* @param array $row
* *
* @return string HTML-code with a mailto-link * @return string HTML-code with a mailto-link
*/ */
@ -528,6 +530,7 @@ function user_filter($name, $params, $row)
* @param array Row of elements to alter * @param array Row of elements to alter
* *
* @return string Some HTML-code with modify-buttons * @return string Some HTML-code with modify-buttons
* @throws Exception
*/ */
function modify_filter($user_id, $url_params, $row) function modify_filter($user_id, $url_params, $row)
{ {
@ -808,9 +811,7 @@ function active_filter($active, $params, $row)
/** /**
* Instead of displaying the integer of the status, we give a translation for the status. * Instead of displaying the integer of the status, we give a translation for the status.
*
* @param int $status * @param int $status
*
* @return string translation * @return string translation
* *
* @version march 2008 * @version march 2008
@ -887,17 +888,17 @@ if (!empty($action)) {
case 'delete': case 'delete':
if (api_is_platform_admin()) { if (api_is_platform_admin()) {
$number_of_selected_users = count($_POST['id']); $number_of_selected_users = count($_POST['id']);
$number_of_deleted_users = 0; $number_of_affected_users = 0;
if (is_array($_POST['id'])) { if (is_array($_POST['id'])) {
foreach ($_POST['id'] as $index => $user_id) { foreach ($_POST['id'] as $index => $user_id) {
if ($user_id != $_user['user_id']) { if ($user_id != $_user['user_id']) {
if (UserManager::delete_user($user_id)) { if (UserManager::delete_user($user_id)) {
$number_of_deleted_users++; $number_of_affected_users++;
} }
} }
} }
} }
if ($number_of_selected_users == $number_of_deleted_users) { if ($number_of_selected_users == $number_of_affected_users) {
$message = Display::return_message( $message = Display::return_message(
get_lang('SelectedUsersDeleted'), get_lang('SelectedUsersDeleted'),
'confirmation' 'confirmation'
@ -910,6 +911,58 @@ if (!empty($action)) {
} }
} }
break; break;
case 'disable':
if (api_is_platform_admin()) {
$number_of_selected_users = count($_POST['id']);
$number_of_affected_users = 0;
if (is_array($_POST['id'])) {
foreach ($_POST['id'] as $index => $user_id) {
if ($user_id != $_user['user_id']) {
if (UserManager::disable($user_id)) {
$number_of_affected_users++;
}
}
}
}
if ($number_of_selected_users == $number_of_affected_users) {
$message = Display::return_message(
get_lang('SelectedUsersDisabled'),
'confirmation'
);
} else {
$message = Display::return_message(
get_lang('SomeUsersNotDisabled'),
'error'
);
}
}
break;
case 'enable':
if (api_is_platform_admin()) {
$number_of_selected_users = count($_POST['id']);
$number_of_affected_users = 0;
if (is_array($_POST['id'])) {
foreach ($_POST['id'] as $index => $user_id) {
if ($user_id != $_user['user_id']) {
if (UserManager::enable($user_id)) {
$number_of_affected_users++;
}
}
}
}
if ($number_of_selected_users == $number_of_affected_users) {
$message = Display::return_message(
get_lang('SelectedUsersEnabled'),
'confirmation'
);
} else {
$message = Display::return_message(
get_lang('SomeUsersNotEnabled'),
'error'
);
}
}
break;
} }
Security::clear_token(); Security::clear_token();
} }
@ -1053,13 +1106,15 @@ $table->set_column_filter(8, 'active_filter');
$table->set_column_filter(10, 'modify_filter'); $table->set_column_filter(10, 'modify_filter');
// Only show empty actions bar if delete users has been blocked // Only show empty actions bar if delete users has been blocked
$actionsList = [];
if (api_is_platform_admin() && if (api_is_platform_admin() &&
!api_get_configuration_value('deny_delete_users') !api_get_configuration_value('deny_delete_users')
) { ) {
$table->set_form_actions(['delete' => get_lang('DeleteFromPlatform')]); $actionsList['delete'] = get_lang('DeleteFromPlatform');
} else {
$table->set_form_actions(['none' => get_lang('NoActionAvailable')]);
} }
$actionsList['disable'] = get_lang('Disable');
$actionsList['enable'] = get_lang('Enable');
$table->set_form_actions($actionsList);
$table_result = $table->return_table(); $table_result = $table->return_table();
$extra_search_options = ''; $extra_search_options = '';

@ -1776,7 +1776,7 @@ $UserLocked = "User locked";
$UserUnlocked = "User unlocked"; $UserUnlocked = "User unlocked";
$CannotDeleteUser = "You cannot delete this user"; $CannotDeleteUser = "You cannot delete this user";
$SelectedUsersDeleted = "Selected users deleted"; $SelectedUsersDeleted = "Selected users deleted";
$SomeUsersNotDeleted = "Some users has not been deleted"; $SomeUsersNotDeleted = "Some of the selected users have not been deleted. We recommend you confirm which, by using the advanced search.";
$ExternalAuthentication = "External authentification"; $ExternalAuthentication = "External authentification";
$RegistrationDate = "Registration date"; $RegistrationDate = "Registration date";
$UserUpdated = "User updated"; $UserUpdated = "User updated";
@ -8146,4 +8146,16 @@ $DocumentAutoLaunch = "Auto-launch for documents";
$RedirectToTheDocumentList = "Redirect to the document list"; $RedirectToTheDocumentList = "Redirect to the document list";
$TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "The exercises auto-launch feature configuration is enabled. Learners will be automatically redirected to exercise list."; $TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "The exercises auto-launch feature configuration is enabled. Learners will be automatically redirected to exercise list.";
$PostedExpirationDate = "Posted deadline for sending the work (Visible to the learner)"; $PostedExpirationDate = "Posted deadline for sending the work (Visible to the learner)";
$BossAlertMsgSentToUserXTitle = "Follow up message about student %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "Hi,<br/><br/>
User %s sent a follow up message about student %s.<br/><br/>
The message can be seen here %s";
$include_services = "Include services";
$culqi_enable = "Enable culqi";
$SelectedUsersDisabled = "The selected users have all been disabled";
$SomeUsersNotDisabled = "Some of the selected users have not been disabled. We recommend you confirm which, by using the advanced search.";
$SelectedUsersEnabled = "The selected users were all enabled.";
$SomeUsersNotEnabled = "Some of the selected users have not been enabled. We recommend you confirm which, by using the advanced search.";
?> ?>

@ -8084,9 +8084,15 @@ $RedirectToTheDocumentList = "Rediriger vers la liste des documents";
$TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "La fonctionnalité d'auto-démarrage des exercices est activée. Les apprenants seront automatiquement redirigés vers la liste des exercices."; $TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "La fonctionnalité d'auto-démarrage des exercices est activée. Les apprenants seront automatiquement redirigés vers la liste des exercices.";
$PostedExpirationDate = "Date limite affichée d'envoi du travail (visible par l'apprenant)"; $PostedExpirationDate = "Date limite affichée d'envoi du travail (visible par l'apprenant)";
$BossAlertMsgSentToUserXTitle = "Message de suivi concernant l'apprenant %s"; $BossAlertMsgSentToUserXTitle = "Message de suivi concernant l'apprenant %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "Bonjour, $BossAlertUserXSentMessageToUserYWithLinkZ = "Bonjour,<br/><br/>
L'utilisateur %s a envoyé un message de suivi concernant l'apprenant %s. L'utilisateur %s a envoyé un message de suivi concernant l'apprenant %s.<br/><br/>
Le message est visible sur %s"; Le message est visible sur %s";
$include_services = "Inclure les services";
$culqi_enable = "Activé culqi";
$SelectedUsersDisabled = "Les utilisateurs sélectionnés ont tous été désactivés.";
$SomeUsersNotDisabled = "Certains des utilisateurs sélectionnés n'ont pas été supprimés. Nous vous recommandons de confirmer lesquels en utilisant la recherche avancée.";
$SelectedUsersEnabled = "Tous les utilisateurs sélectionnés ont été activés.";
$SomeUsersNotEnabled = "Certains des utilisateurs sélectionnés n'ont pas été activés. Nous vous recommandons de confirmer lesquels en utilisant la recherche avancée.";
?> ?>

@ -8170,4 +8170,16 @@ $DocumentAutoLaunch = "Lanzamiento automático para documentos";
$RedirectToTheDocumentList = "Redirigir a la lista de documentos"; $RedirectToTheDocumentList = "Redirigir a la lista de documentos";
$TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "La funcionalidad de lanzamiento automático de ejercicios está activada. Los estudiantes serán automáticamente redirigidos a la lista de ejercicios."; $TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "La funcionalidad de lanzamiento automático de ejercicios está activada. Los estudiantes serán automáticamente redirigidos a la lista de ejercicios.";
$PostedExpirationDate = "Fecha límite publicada para enviar el trabajo (visible para el alumno)"; $PostedExpirationDate = "Fecha límite publicada para enviar el trabajo (visible para el alumno)";
$BossAlertMsgSentToUserXTitle = "Mensaje de seguimiento sobre alumno %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "Hola,<br/><br/>
El usuario %s ha enviado un mensaje de seguimiento sobre el alumno %s.<br/><br/>
El mensaje se puede ver en %s";
$include_services = "Incluir los servicios";
$culqi_enable = "Activar Culqi";
$SelectedUsersDisabled = "Todos los usuarios seleccionados han sido desactivado.";
$SomeUsersNotDisabled = "Algunos de los usuarios seleccionados no han sido desactivado. Le recomendamos una verificación adicional a través de la búsqueda avanzada.";
$SelectedUsersEnabled = "Todos los usuarios seleccionados han sido activado.";
$SomeUsersNotEnabled = "Algunos de los usuarios seleccionados no han sido activado. Le recomendamos una verificación adicional a través de la búsqueda avanzada.";
?> ?>
Loading…
Cancel
Save