Browse Source

group permission add edit del

tags/0.1.0
Robin Thoni 8 years ago
parent
commit
a7ccc931c4

+ 6
- 0
src/Auth/Business/LuticateBusiness.php View File

@@ -123,5 +123,11 @@ class LuticateBusiness
123 123
         $route->post("$prefix/permissions/add/$permission_name/$permission_value", "${ns}LuticatePermissionsBusiness", "add", LuticatePermissions::PERM_ADD);
124 124
         $route->post("$prefix/permissions/$permission_name/del", "${ns}LuticatePermissionsBusiness", "del", LuticatePermissions::PERM_DEL);
125 125
         $route->post("$prefix/permissions/$permission_name/edit/$permission_value", "${ns}LuticatePermissionsBusiness", "edit", LuticatePermissions::PERM_EDIT);
126
+        $route->post("$prefix/permissions/group/$group_id/add/$permission_name/$permission_value", "${ns}LuticatePermissionsGroupsBusiness", "add", LuticatePermissions::PERM_GROUP_ADD);
127
+        $route->post("$prefix/permissions/group/$group_id/$permission_name/del", "${ns}LuticatePermissionsGroupsBusiness", "del", LuticatePermissions::PERM_GROUP_DEL);
128
+        $route->post("$prefix/permissions/group/$group_id/$permission_name/edit/$permission_value", "${ns}LuticatePermissionsGroupsBusiness", "edit", LuticatePermissions::PERM_GROUP_EDIT);
129
+        $route->post("$prefix/permissions/user/$user_id/add/$permission_name/$permission_value", "${ns}LuticatePermissionsUsersBusiness", "add", LuticatePermissions::PERM_USER_ADD);
130
+        $route->post("$prefix/permissions/user/$user_id/$permission_name/del", "${ns}LuticatePermissionsUsersBusiness", "del", LuticatePermissions::PERM_USER_DEL);
131
+        $route->post("$prefix/permissions/user/$user_id/$permission_name/edit/$permission_value", "${ns}LuticatePermissionsUsersBusiness", "edit", LuticatePermissions::PERM_USER_EDIT);
126 132
     }
127 133
 }

+ 12
- 7
src/Auth/Business/LuticatePermissionsBusiness.php View File

@@ -12,6 +12,15 @@ class LuticatePermissionsBusiness extends LuBusiness {
12 12
         return new LuticatePermissionsDataAccess();
13 13
     }
14 14
 
15
+    public static function checkPermissionName($permission_name)
16
+    {
17
+        $perm = LuticatePermissionsDataAccess::getByName($permission_name);
18
+        if (is_null($perm)) {
19
+            self::notFound("Permission not found");
20
+        }
21
+        return $perm;
22
+    }
23
+
15 24
     public static function getUserPermission($user_id, $permission_name, $default = false)
16 25
     {
17 26
         $val = LuticatePermissionsDataAccess::getUserPermission($user_id, $permission_name);
@@ -53,12 +62,8 @@ class LuticatePermissionsBusiness extends LuBusiness {
53 62
 
54 63
     public static function edit($permission_name, $permission_value)
55 64
     {
56
-        $perm = LuticatePermissionsDataAccess::getByName($permission_name);
57
-        if (!is_null($perm)) {
58
-            LuticatePermissionsDataAccess::edit($permission_name, $permission_value);
59
-            return true;
60
-        }
61
-        self::badInput("Permission not found");
62
-        return false;
65
+        self::checkPermissionName($permission_name);
66
+        LuticatePermissionsDataAccess::edit($permission_name, $permission_value);
67
+        return true;
63 68
     }
64 69
 }

+ 38
- 0
src/Auth/Business/LuticatePermissionsGroupsBusiness.php View File

@@ -11,4 +11,42 @@ class LuticatePermissionsGroupsBusiness extends LuBusiness {
11 11
     {
12 12
         return new LuticatePermissionsGroupsDataAccess();
13 13
     }
14
+
15
+    public static function add($group_id, $permission_name, $permission_value)
16
+    {
17
+        LuticateGroupsBusiness::checkGroupId($group_id);
18
+        LuticatePermissionsBusiness::checkPermissionName($permission_name);
19
+        $perm = LuticatePermissionsGroupsDataAccess::getByName($group_id, $permission_name);
20
+        if (is_null($perm)) {
21
+            $perm = new LuticatePermissionsGroupsDbo();
22
+            $perm->setName($permission_name);
23
+            $perm->setValue($permission_value);
24
+            $perm->setGroupId($group_id);
25
+            LuticatePermissionsGroupsDataAccess::add($perm);
26
+            return true;
27
+        }
28
+        self::badInput("Group permission already exists");
29
+        return false;
30
+    }
31
+
32
+    public static function del($group_id, $permission_name)
33
+    {
34
+        LuticateGroupsBusiness::checkGroupId($group_id);
35
+        LuticatePermissionsBusiness::checkPermissionName($permission_name);
36
+        LuticatePermissionsGroupsDataAccess::delete($group_id, $permission_name);
37
+        return true;
38
+    }
39
+
40
+    public static function edit($group_id, $permission_name, $permission_value)
41
+    {
42
+        LuticateGroupsBusiness::checkGroupId($group_id);
43
+        LuticatePermissionsBusiness::checkPermissionName($permission_name);
44
+        $perm = LuticatePermissionsGroupsDataAccess::getByName($group_id, $permission_name);
45
+        if (!is_null($perm)) {
46
+            LuticatePermissionsGroupsDataAccess::edit($group_id, $permission_name, $permission_value);
47
+            return true;
48
+        }
49
+        self::badInput("Permission not found");
50
+        return false;
51
+    }
14 52
 }

+ 31
- 0
src/Auth/DataAccess/LuticatePermissionsGroupsDataAccess.php View File

@@ -11,4 +11,35 @@ class LuticatePermissionsGroupsDataAccess extends LuDataAccess {
11 11
     {
12 12
         return new LuticatePermissionsGroups();
13 13
     }
14
+
15
+    public static function getModelByName($group_id, $permission_name)
16
+    {
17
+        return LuticatePermissionsGroups::where("name", "=", $permission_name)->where("group_id", "=", $group_id)->first();
18
+    }
19
+
20
+    public static function getByName($group_id, $permission_name)
21
+    {
22
+        $perm = self::getModelByName($group_id, $permission_name);
23
+        if (is_null($perm)) {
24
+            return null;
25
+        }
26
+        return $perm->toDbo();
27
+    }
28
+
29
+    public static function delete($group_id, $permission_name)
30
+    {
31
+        $perm = self::getModelByName($group_id, $permission_name);
32
+        if (is_null($perm))
33
+            return;
34
+        $perm->delete();
35
+    }
36
+
37
+    public static function edit($group_id, $permission_name, $permission_value)
38
+    {
39
+        $perm = self::getModelByName($group_id, $permission_name);
40
+        if (is_null($perm))
41
+            return;
42
+        $perm->value = $permission_value;
43
+        $perm->save();
44
+    }
14 45
 }

Loading…
Cancel
Save