diff --git a/webroot/admin/user-mgmt.php b/webroot/admin/user-mgmt.php index 5c3ec7b18..2b8145f68 100644 --- a/webroot/admin/user-mgmt.php +++ b/webroot/admin/user-mgmt.php @@ -21,6 +21,7 @@ require getTemplatePath("header.php"); $CSRFTokenHiddenFormInput = UnityHTTPD::getCSRFTokenHiddenFormInput(); +$flags_to_display = array_filter(UserFlag::cases(), fn($x) => $x !== UserFlag::DISABLED); ?>

User Management

@@ -38,6 +39,9 @@ class="stripe compact hover" Mail Groups Actions + + value; ?> + @@ -51,9 +55,16 @@ class="stripe compact hover" "mail" => ["(not found)"] ] ); + $users_with_flags = []; + foreach (UserFlag::cases() as $flag) { + $users_with_flags[$flag->value] = $LDAP->userFlagGroups[$flag->value]->getMemberUIDs(); + } usort($user_attributes, fn ($a, $b) => strcmp($a["uid"][0], $b["uid"][0])); foreach ($user_attributes as $attributes) { $uid = $attributes["uid"][0]; + if (in_array($uid, $users_with_flags[UserFlag::DISABLED->value])) { + continue; + } if ($SQL->accDeletionRequestExists($uid)) { echo ""; } else { @@ -81,6 +92,12 @@ class="stripe compact hover" "; echo ""; + foreach ($flags_to_display as $flag) { + echo sprintf( + "%s", + in_array($uid, $users_with_flags[$flag->value]) ? $flag->value : "" + ); + } echo ""; } ?> @@ -99,6 +116,9 @@ class="stripe compact hover" {responsivePriority: 2, render: dataTablesRenderMailtoLink}, // mail {responsivePriority: 3, searchable: false}, // groups {responsivePriority: 1, searchable: false}, // actions + + {visible: false}, // value . "\n"?> + ], layout: {topStart: {buttons: ['colvis']}} });