diff options
author | Christian Hofmaier | 2017-03-28 11:23:24 +0200 |
---|---|---|
committer | Christian Hofmaier | 2017-03-28 11:23:24 +0200 |
commit | 7807e30a69ab39b3f2a7f20d2608ba6b46b456e8 (patch) | |
tree | 0c9054b307b72d2a891e4b5b0e0a389acd9716cd /modules-available/permissionmanager/page.inc.php | |
parent | [permission-manager] renamed module folder (diff) | |
download | slx-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.php | 63 |
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; } } |