adding interface for gdt, new admin link on login server

This commit is contained in:
Dario Rekowski on RockPI 2020-04-22 13:46:16 +00:00
parent 90714e40b7
commit ed963059a6
2 changed files with 58 additions and 8 deletions

View File

@ -55,6 +55,8 @@ class JsonRequestHandlerController extends AppController {
}
case 'userDelete': return $this->userDelete($jsonData->user);
case 'moveTransaction': return $this->moveTransaction($jsonData->pubkeys, $jsonData->memo, $jsonData->session_id);
case 'checkUser': return $this->checkUser($jsonData->email, $jsonData->last_name);
case 'getUsers' : return $this->getUsers($jsonData->page, $jsonData->limit);
}
return $this->returnJson(['state' => 'error', 'msg' => 'unknown method for post', 'details' => $method]);
}
@ -146,6 +148,42 @@ class JsonRequestHandlerController extends AppController {
}
private function checkUser($email, $last_name) {
$userTable = TableRegistry::getTableLocator()->get('Users');
$user = $userTable->find('all')
->where(['email' => $email])
->contain([])
->select(['first_name', 'last_name', 'email']);
if(!$user->count()) {
return $this->returnJson(['state' => 'not found', 'msg' => 'user not found']);
}
if($user->count() == 1 && $user->first()->last_name == $last_name) {
return $this->returnJson(['state' => 'success']);
}
return $this->returnJson(['state' => 'not identical', 'user' => $user->toArray()]);
}
private function getUsers($page, $count) {
$userTable = TableRegistry::getTableLocator()->get('Users');
$this->paginate = [
'limit' => $count,
'page' => $page
];
$usersQuery = $userTable->find('all')
->select(['first_name', 'last_name', 'email'])
->order(['id']);
try {
return $this->returnJson(['state' => 'success', 'users' => $this->paginate($usersQuery)]);
} catch (Exception $ex) {
return $this->returnJson(['state' => 'exception', 'msg' => 'error paginate users', 'details' => $ex->getMessage()]);
}
//return $this->returnJson(['state' => 'success', 'users' => $users->toArray()]);
}
private function getRunningUserTasks() {
$session = $this->getRequest()->getSession();
$state_user_email = $session->read('StateUser.email');

View File

@ -11,6 +11,11 @@ if(isset($user)) {
}
$this->assign('title', __('Willkommen') . ' ' . $user['first_name'] . ' ' . $user['last_name']);
?>
<style type="text/css">
.table-row {
display:table-row;
}
</style>
<?php if(isset($requestTime)) : ?>
<span class='grd-second-timer'><?= round($requestTime * 1000.0) ?> ms</span>
<?php endif; ?>
@ -66,14 +71,21 @@ $this->assign('title', __('Willkommen') . '&nbsp;' . $user['first_name'] . '&nbs
<?php if($user['role'] == 'admin') : ?>
<fieldset class="grd-margin-top-10 admin-border">
<h3>Benutzer ...</h3>
<?= $this->Html->link(
__('suchen'),
['controller' => 'StateUsers', 'action' => 'search'],
['class' => 'grd-nav-bn grd-nav-bn-large']
); ?>
<a href="<?= Router::url('./', true) ?>account/adminRegister" class="grd-nav-bn grd-nav-bn-large">
<?= __("hinzufügen") ?>
</a>
<div class="table-row">
<?= $this->Html->link(
__('suchen'),
['controller' => 'StateUsers', 'action' => 'search'],
['class' => 'grd-nav-bn grd-nav-bn-large']
); ?>
<a href="<?= Router::url('./', true) ?>account/adminRegister" class="grd-nav-bn grd-nav-bn-large">
<?= __("hinzufügen") ?>
</a>
</div>
<div class="table-row">
<a href="<?= Router::url('./', true) ?>account/adminUserPasswordReset" class="grd-nav-bn grd-nav-bn-large">
<?= __("hat sein Passwort und Passphrase vergessen") ?>
</a>
</div>
</fieldset>
<?php endif; ?>