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:
parent
84f366f397
commit
96eaa50187
src
@ -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')
|
||||
];
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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 = (
|
||||
|
Loading…
Reference in New Issue
Block a user