1
0
mirror of https://github.com/chylex/Lightning-Tracker.git synced 2025-06-01 01:34:09 +02:00

Redo user sorting to use role order & override shown role for admins

This commit is contained in:
chylex 2020-09-11 01:11:45 +02:00
parent 84f366f397
commit 96eaa50187
3 changed files with 4 additions and 4 deletions
src
Database
Filters/Types
Tables
Pages/Models/Root

View File

@ -47,7 +47,7 @@ final class UserFilter extends AbstractFilter{
protected function getSortingFields(): array{
return [
new Field('name', 'u'),
new Field('role_title'),
new Field('role_order'),
new Field('date_registered', 'u')
];
}

View File

@ -95,7 +95,7 @@ SQL;
$filter ??= UserFilter::empty();
$sql = <<<SQL
SELECT u.id, u.name, u.email, sr.id AS role_id, sr.title AS role_title, u.admin, u.date_registered
SELECT u.id, u.name, u.email, sr.id AS role_id, sr.title AS role_title, IF(u.admin, 0, IFNULL(sr.ordering, ~0)) AS role_order, u.admin, u.date_registered
FROM users u
LEFT JOIN system_roles sr ON u.role_id = sr.id
SQL;

View File

@ -67,7 +67,7 @@ class UsersModel extends BasicRootPageModel{
$table->addColumn('Username')->sort('name')->width(80)->wrap()->bold();
}
$table->addColumn('Role')->sort('role_title')->width(20);
$table->addColumn('Role')->sort('role_order')->width(20);
$table->addColumn('Registration Time')->sort('date_registered')->tight()->right();
if ($this->perms->check(SystemPermissions::MANAGE_USERS)){
@ -93,7 +93,7 @@ class UsersModel extends BasicRootPageModel{
}
/** @noinspection ProperNullCoalescingOperatorUsageInspection */
$row[] = $user->getRoleTitleSafe() ?? Text::missing('Default');
$row[] = $user->isAdmin() ? Text::missing('Admin') : ($user->getRoleTitleSafe() ?? Text::missing('Default'));
$row[] = new DateTimeComponent($user->getRegistrationDate());
$can_edit = (