From 7bb3fdb8520dbeeedcc8862f8fdafc5223089199 Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Wed, 29 Mar 2017 11:31:47 +0200 Subject: [permission-manager] first fill of location table --- .../permissionmanager/inc/getdata.inc.php | 26 ++++++++++++++++++++++ modules-available/permissionmanager/page.inc.php | 1 + .../templates/locationsTable.html | 17 +++++++++++--- 3 files changed, 41 insertions(+), 3 deletions(-) (limited to 'modules-available/permissionmanager') diff --git a/modules-available/permissionmanager/inc/getdata.inc.php b/modules-available/permissionmanager/inc/getdata.inc.php index 7ca56754..caa50215 100644 --- a/modules-available/permissionmanager/inc/getdata.inc.php +++ b/modules-available/permissionmanager/inc/getdata.inc.php @@ -16,6 +16,20 @@ class GetData { return $data; } + // get LocationIDs, Location Names, Roles of each Location + public static function getLocationData() { + $res = self::queryLocationData(); + $data = array(); + while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + $data[] = array( + 'locid' => $row['locid'], + 'name' => $row['locname'], + 'role' => explode(",",$row['role']) + ); + } + return $data; + } + // get all roles from database (id and name) public static function getRoles() { $res = Database::simpleQuery("SELECT id, name FROM role ORDER BY name ASC"); @@ -68,4 +82,16 @@ class GetData { return $res; } + // LocationID, Location Name, Roles of each Location + private static function queryLocationData() { + $res = Database::simpleQuery("SELECT location.locationid AS locid, location.locationname AS locname, GROUP_CONCAT(role.name ORDER BY role.name ASC) AS role + FROM location + LEFT JOIN roleXlocation ON location.locationid = roleXlocation.locid + LEFT JOIN role ON roleXlocation.roleid = role.id + GROUP BY location.locationid + ORDER BY location.locationname + "); + return $res; + } + } \ No newline at end of file diff --git a/modules-available/permissionmanager/page.inc.php b/modules-available/permissionmanager/page.inc.php index 1d369ab3..700ed96a 100644 --- a/modules-available/permissionmanager/page.inc.php +++ b/modules-available/permissionmanager/page.inc.php @@ -61,6 +61,7 @@ class Page_PermissionManager extends Page $data = array("user" => GetData::getUserData(), "roles" => GetData::getRoles()); Render::addTemplate('usersTable', $data); } elseif ($show === "locations") { + $data = array("location" => GetData::getLocationData()); Render::addTemplate('locationsTable', $data); } } elseif ($show === "roleEditor") { diff --git a/modules-available/permissionmanager/templates/locationsTable.html b/modules-available/permissionmanager/templates/locationsTable.html index bd3b7f88..e170cd02 100644 --- a/modules-available/permissionmanager/templates/locationsTable.html +++ b/modules-available/permissionmanager/templates/locationsTable.html @@ -2,12 +2,23 @@
- + + + + - - + {{#location}} + + + + + {{/location}}
{{lang_Locations}}{{lang_Roles}}
{{name}} + {{#role}} + {{.}} + {{/role}} +
-- cgit v1.2.3-55-g7522