Skip to content
Snippets Groups Projects
Commit ba88fe7a authored by Taddeus Kroes's avatar Taddeus Kroes
Browse files

Added users overview page for admins

parent 6544335c
No related branches found
No related tags found
No related merge requests found
......@@ -200,3 +200,21 @@ msgstr "Toon/verberg kleuren"
msgid "User not found"
msgstr "Gebruiker niet gevonden"
msgid "Insufficient permissions"
msgstr "Onvoldoende gemachtigd"
msgid "Users"
msgstr "Gebruikers"
msgid "Id"
msgstr "Id"
msgid "Role"
msgstr "Rol"
msgid "admin"
msgstr "administrator"
msgid "member"
msgstr "gebruiker"
......@@ -166,3 +166,9 @@ $app->get('/user/:id/plot', function ($id) use ($app, $db, $user) {
$app->render('user/plot', compact('dbuser', 'form', 'matches'));
});
$app->get('/user', function () use ($app, $db) {
require_admin_access();
$users = $db->table('user')->order('id');
$app->render('user/list', compact('users'));
});
......@@ -2,6 +2,7 @@
['matches', _('Matches')],
["user/{$user->getId()}", _('Profile')],
["user/{$user->getId()}/plot", _('Progress graph')],
$user->isInRole('admin') ? ['user', _('Users')],
['logout', _('Logout')],
] : [
['login', _('Login')],
......
{extends '../layout.latte'}
{block content}
<h2 class="page-header">{_'Users'}</h2>
<table id="results" class="table table-hover matches">
<thead>
<tr>
<th>{_'Id'}</th>
<th>{_'Username'}</th>
<th>{_'Role'}</th>
</tr>
</thead>
<tbody>
<tr n:foreach="$users as $user" data-href="user/{$user->id}">
<td>{$user->id}</td>
<td>{$user->username}</td>
<td>{_$user->role}</td>
</tr>
</tbody>
</table>
{/block}
......@@ -51,8 +51,18 @@ function require_user_access($user_id) {
if (!$user->isLoggedIn())
$app->redirect(ROOT_URL . '/login');
if ($user->getId() != $user_id && !in_array('admin', $user->getRoles()))
$app->halt(403, _('No access to this user'));
if ($user->getId() != $user_id && !$user->isInRole('admin'))
$app->halt(403, _('Insufficient permissions'));
}
function require_admin_access() {
global $user, $app;
if (!$user->isLoggedIn())
$app->redirect(ROOT_URL . '/login');
if (!$user->isInRole('admin'))
$app->halt(403, _('Insufficient permissions'));
}
function find_match($id) {
......@@ -99,8 +109,6 @@ class UserHelper {
private $user;
public function __construct(IRow $dbuser) {
global $db;
$this->db = $db;
$this->user = $dbuser;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment