diff options
author | Christian Hofmaier | 2017-11-23 14:31:20 +0100 |
---|---|---|
committer | Christian Hofmaier | 2017-11-23 14:31:20 +0100 |
commit | b6b8867b1712ae4c33a52022f42534d907f8cdfa (patch) | |
tree | 38b4e5c2ef839121ab632496921108d2b8a2b1ec | |
parent | [internetaccess] reworked permission system from "click and you get error" to... (diff) | |
parent | [permissionmanager] fixed bug: role without locations was shown as role with ... (diff) | |
download | slx-admin-b6b8867b1712ae4c33a52022f42534d907f8cdfa.tar.gz slx-admin-b6b8867b1712ae4c33a52022f42534d907f8cdfa.tar.xz slx-admin-b6b8867b1712ae4c33a52022f42534d907f8cdfa.zip |
Merge branch 'permission-manager' of git.openslx.org:openslx-ng/slx-admin into permission-manager
-rw-r--r-- | modules-available/permissionmanager/inc/getpermissiondata.inc.php | 5 | ||||
-rw-r--r-- | modules-available/permissionmanager/inc/permissionutil.inc.php | 6 |
2 files changed, 4 insertions, 7 deletions
diff --git a/modules-available/permissionmanager/inc/getpermissiondata.inc.php b/modules-available/permissionmanager/inc/getpermissiondata.inc.php index 9d69c722..13c7ca89 100644 --- a/modules-available/permissionmanager/inc/getpermissiondata.inc.php +++ b/modules-available/permissionmanager/inc/getpermissiondata.inc.php @@ -26,9 +26,8 @@ class GetPermissionData { // get LocationIDs, Location Names, Roles of each Location public static function getLocationData() { - $res = Database::simpleQuery("SELECT role.roleid as roleid, rolename, GROUP_CONCAT(locationid) as locationids FROM role - LEFT JOIN (SELECT roleid, COALESCE(locationid, 0) AS locationid FROM role_x_location) rxl - ON role.roleid = rxl.roleid GROUP BY roleid ORDER BY rolename ASC"); + $res = Database::simpleQuery("SELECT role.roleid as roleid, rolename, GROUP_CONCAT(COALESCE(locationid, 0)) AS locationids FROM role + INNER JOIN role_x_location ON role.roleid = role_x_location.roleid GROUP BY roleid ORDER BY rolename ASC"); $locations = Location::getLocations(0, 0, false, true); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $locationids = explode(",", $row['locationids']); diff --git a/modules-available/permissionmanager/inc/permissionutil.inc.php b/modules-available/permissionmanager/inc/permissionutil.inc.php index 17257eec..391cd047 100644 --- a/modules-available/permissionmanager/inc/permissionutil.inc.php +++ b/modules-available/permissionmanager/inc/permissionutil.inc.php @@ -29,11 +29,9 @@ class PermissionUtil public static function getAllowedLocations($userid, $permissionid) { - $res = Database::simpleQuery("SELECT role_x_permission.permissionid, rxl.locationid - FROM user_x_role + $res = Database::simpleQuery("SELECT permissionid, COALESCE(locationid, 0) AS locationid FROM user_x_role INNER JOIN role_x_permission ON user_x_role.roleid = role_x_permission.roleid - LEFT JOIN (SELECT roleid, COALESCE(locationid, 0) AS locationid FROM role_x_location) rxl - ON role_x_permission.roleid = rxl.roleid + INNER JOIN role_x_location ON role_x_permission.roleid = role_x_location.roleid WHERE user_x_role.userid = :userid", array("userid" => $userid)); $allowedLocations = array(); |