diff options
Diffstat (limited to 'modules-available')
3 files changed, 41 insertions, 3 deletions
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 @@ <div class="col-md-12"> <table id="locationsTable" class="table table-condensed table-hover"> <thead> - + <tr> + <th data-sort="string">{{lang_Locations}}</th> + <th>{{lang_Roles}}</th> + </tr> </thead> <tbody> - - + {{#location}} + <tr> + <td>{{name}}</td> + <td> + {{#role}} + <span class="label label-default customSpanMargin">{{.}}</span> + {{/role}} + </td> + </tr> + {{/location}} </tbody> </table> </div> |