diff --git a/assets/css/app.scss b/assets/css/app.scss index 8094606fb8..fd608ef8a6 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -385,6 +385,43 @@ cursor: pointer; } +.users-list { + .nav-tabs { + display: flex; + list-style-type: none; + padding: 0; + border-bottom: 1px solid #ddd; + margin: 0 0 20px; + } + + .nav-tabs .nav-item { + margin-bottom: -1px; + } + + .nav-tabs .nav-link { + display: block; + padding: 0.5rem 1rem; + margin-right: 0.1rem; + background: #f8f8f8; + border: 1px solid #ddd; + border-radius: 0.25rem 0.25rem 0 0; + text-decoration: none; + color: #555; + } + + .nav-tabs .nav-link:hover { + background-color: #e9ecef; + } + + .nav-tabs .nav-link.active { + color: #495057; + background-color: #fff; + border-color: #ddd #ddd #fff; + border-bottom-color: transparent; + font-weight: bolder; + } +} + //@import 'primevue-md-light-indigo/theme.css'; //@import '~primevue/resources/primevue.min.css'; //@import '~primeflex/primeflex.css'; diff --git a/public/main/admin/access_url_add_users_to_url.php b/public/main/admin/access_url_add_users_to_url.php index fafce1528b..4883c6eb17 100644 --- a/public/main/admin/access_url_add_users_to_url.php +++ b/public/main/admin/access_url_add_users_to_url.php @@ -66,7 +66,7 @@ if ($_POST['form_sent']) { /* Display GUI */ if (empty($first_letter_user)) { - $sql = "SELECT count(*) as nb_users FROM $tbl_user"; + $sql = "SELECT count(*) as nb_users FROM $tbl_user WHERE active <> -1"; $result = Database::query($sql); $num_row = Database::fetch_array($result); if ($num_row['nb_users'] > 1000) { @@ -81,7 +81,7 @@ $first_letter_user_lower = Database::escape_string(api_strtolower($first_letter_ $target_name = api_sort_by_first_name() ? 'firstname' : 'lastname'; $target_name = 'lastname'; $sql = "SELECT user_id,lastname,firstname,username FROM $tbl_user - WHERE ".$target_name." LIKE '".$first_letter_user_lower."%' OR ".$target_name." LIKE '".$first_letter_user_lower."%' + WHERE active <> -1 AND ".$target_name." LIKE '".$first_letter_user_lower."%' OR ".$target_name." LIKE '".$first_letter_user_lower."%' ORDER BY ".(count($users) > 0 ? '(user_id IN('.implode(',', $users).')) DESC,' : '').' '.$target_name; $result = Database::query($sql); $db_users = Database::store_result($result); diff --git a/public/main/admin/access_url_check_user_session.php b/public/main/admin/access_url_check_user_session.php index 7ae15ed988..15dad9860d 100644 --- a/public/main/admin/access_url_check_user_session.php +++ b/public/main/admin/access_url_check_user_session.php @@ -78,7 +78,7 @@ foreach ($session_list as $session_item) { ON u.id = su.user_id AND su.relation_type <> ".Session::DRH." LEFT OUTER JOIN $table_access_url_user uu ON (uu.user_id = u.id) - WHERE su.session_id = $session_id AND $access_where + WHERE su.session_id = $session_id AND $access_where AND u.active <> -1 $order_clause"; $result = Database::query($sql); diff --git a/public/main/admin/dashboard_add_users_to_user.php b/public/main/admin/dashboard_add_users_to_user.php index 3218f4182e..e1a1996c77 100644 --- a/public/main/admin/dashboard_add_users_to_user.php +++ b/public/main/admin/dashboard_add_users_to_user.php @@ -103,7 +103,7 @@ function search_users($needle, $type = 'multiple') $sql = "SELECT user.id as user_id, username, lastname, firstname FROM $tbl_user user LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.id) - WHERE + WHERE user.active <> -1 AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND status NOT IN(".DRH.', '.SESSIONADMIN.', '.STUDENT_BOSS.") AND user.id NOT IN ($user_anonymous, $current_user_id, $user_id) @@ -114,7 +114,7 @@ function search_users($needle, $type = 'multiple') } else { $sql = "SELECT id as user_id, username, lastname, firstname FROM $tbl_user user - WHERE + WHERE user.active <> -1 AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND status NOT IN(".DRH.', '.SESSIONADMIN.', '.STUDENT_BOSS.") AND id NOT IN ($user_anonymous, $current_user_id, $user_id) @@ -132,7 +132,7 @@ function search_users($needle, $type = 'multiple') $sql = 'SELECT user.id as user_id, username, lastname, firstname FROM '.$tbl_user.' user INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.id) - WHERE + WHERE user.active <> -1 AND access_url_id = '.$access_url_id.' AND ( username LIKE "'.$needle.'%" OR @@ -400,7 +400,7 @@ if (api_is_multiple_url_enabled()) { FROM $tbl_user user LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.id) - WHERE + WHERE user.active <> -1 AND $without_assigned_users user.id NOT IN ($user_anonymous, $current_user_id, $user_id) AND status NOT IN(".DRH.', '.SESSIONADMIN.', '.ANONYMOUS.") $search_user AND @@ -410,7 +410,7 @@ if (api_is_multiple_url_enabled()) { } else { $sql = "SELECT id as user_id, username, lastname, firstname FROM $tbl_user user - WHERE + WHERE user.active <> -1 AND $without_assigned_users id NOT IN ($user_anonymous, $current_user_id, $user_id) AND status NOT IN(".DRH.', '.SESSIONADMIN.', '.ANONYMOUS.") diff --git a/public/main/admin/user_edit.php b/public/main/admin/user_edit.php index 94f17dc4d3..683d5ca34a 100644 --- a/public/main/admin/user_edit.php +++ b/public/main/admin/user_edit.php @@ -435,7 +435,11 @@ if ($form->validate()) { $expiration_date = $user['expiration_date']; } - $active = $user_data['platform_admin'] ? 1 : intval($user['active']); + if (isset($user['active'])) { + $active = $user_data['platform_admin'] ? 1 : intval($user['active']); + } else { + $active = -1; + } //If the user is set to admin the status will be overwrite by COURSEMANAGER = 1 if (1 == $platform_admin) { diff --git a/public/main/admin/user_list.php b/public/main/admin/user_list.php index 20a49fac60..4244ac368f 100644 --- a/public/main/admin/user_list.php +++ b/public/main/admin/user_list.php @@ -18,6 +18,8 @@ $urlId = api_get_current_access_url_id(); $currentUserId = api_get_user_id(); $action = $_REQUEST['action'] ?? ''; +$view = $_GET['view'] ?? 'all'; +$showDeletedUsers = 'deleted' === $view; // Login as can be used by different roles if (isset($_GET['user_id']) && 'login_as' === $action) { @@ -73,37 +75,27 @@ if ($variables) { Session::write('variables_to_show', $variablesToShow); $htmlHeadXtra[] = '