summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/page.inc.php
diff options
context:
space:
mode:
authorChristian Hofmaier2017-03-28 11:23:24 +0200
committerChristian Hofmaier2017-03-28 11:23:24 +0200
commit7807e30a69ab39b3f2a7f20d2608ba6b46b456e8 (patch)
tree0c9054b307b72d2a891e4b5b0e0a389acd9716cd /modules-available/permissionmanager/page.inc.php
parent[permission-manager] renamed module folder (diff)
downloadslx-admin-7807e30a69ab39b3f2a7f20d2608ba6b46b456e8.tar.gz
slx-admin-7807e30a69ab39b3f2a7f20d2608ba6b46b456e8.tar.xz
slx-admin-7807e30a69ab39b3f2a7f20d2608ba6b46b456e8.zip
[permission-manager] first part of UI, database table, sql queries and db methods
Diffstat (limited to 'modules-available/permissionmanager/page.inc.php')
-rw-r--r--modules-available/permissionmanager/page.inc.php63
1 files changed, 59 insertions, 4 deletions
diff --git a/modules-available/permissionmanager/page.inc.php b/modules-available/permissionmanager/page.inc.php
index 871e7946..faf8b300 100644
--- a/modules-available/permissionmanager/page.inc.php
+++ b/modules-available/permissionmanager/page.inc.php
@@ -14,6 +14,20 @@ class Page_PermissionManager extends Page
Message::addError('main.no-permission');
Util::redirect('?do=Main'); // does not return
}
+
+ $action = Request::any('action', 'show', 'string');
+ if ($action === 'addRoleToUser') {
+ $users = Request::post('users', '');
+ $roles = Request::post('roles', '');
+ DbUpdate::addRoleToUser($users, $roles);
+ } else if ($action === 'removeRoleFromUser') {
+ $users = Request::post('users', '');
+ $roles = Request::post('roles', '');
+ DbUpdate::removeRoleFromUser($users, $roles);
+ } else if ($action === 'deleteRole') {
+ $id = Request::post('deleteId', false, 'string');
+ DbUpdate::deleteRole($id);
+ }
}
/**
@@ -21,10 +35,51 @@ class Page_PermissionManager extends Page
*/
protected function doRender()
{
- Render::addTemplate('_page', array(
- 'foo' => 'bar',
- 'now' => date('d.m.Y H:i:s')
- ));
+ $show = Request::get("show", false);
+ // get menu button colors
+ $buttonColors = self::setButtonColors($show);
+
+ $data = array();
+
+ // switch between tables, but always show menu to switch tables
+ if (!$show || $show === 'roles' || $show === 'users' || $show === 'locations') {
+ Render::openTag('div', array('class' => 'row'));
+ Render::addtemplate('_page', $buttonColors);
+ Render::closeTag('div');
+
+ if ($show === "roles") {
+ $data = array("roles" => GetData::getRoles());
+ Render::addTemplate('rolesTable', $data);
+ } else if ($show === "users") {
+ $data = array("user" => GetData::getUserData(), "roles" => GetData::getRoles());
+ Render::addTemplate('usersTable', $data);
+ } else if ($show === "locations") {
+ Render::addTemplate('locationsTable', $data);
+ }
+ }
+ }
+
+ // Menu: Selected table is shown in blue (btn-primary)
+ function setButtonColors($show) {
+ if ($show === 'roles') {
+ $buttonColors['rolesButtonClass'] = 'btn-primary';
+ $buttonColors['usersButtonClass'] = 'btn-default';
+ $buttonColors['locationsButtonClass'] = 'btn-default';
+ } else if ($show === 'users') {
+ $buttonColors['rolesButtonClass'] = 'btn-default';
+ $buttonColors['usersButtonClass'] = 'btn-primary';
+ $buttonColors['locationsButtonClass'] = 'btn-default';
+ } else if ($show === 'locations') {
+ $buttonColors['rolesButtonClass'] = 'btn-default';
+ $buttonColors['usersButtonClass'] = 'btn-default';
+ $buttonColors['locationsButtonClass'] = 'btn-primary';
+ } else {
+ $buttonColors['rolesButtonClass'] = 'btn-default';
+ $buttonColors['usersButtonClass'] = 'btn-default';
+ $buttonColors['locationsButtonClass'] = 'btn-default';
+ }
+
+ return $buttonColors;
}
}