소스 검색

group get users

tags/0.1.0
Robin Thoni 8 년 전
부모
커밋
abf2e56a4a

+ 7
- 4
src/Auth/Business/LuticateBusiness.php 파일 보기

@@ -79,10 +79,13 @@ class LuticateBusiness
79 79
             array(LuticatePermissions::GROUP_DEL, LuticatePermissions::GROUP_GET));
80 80
         $route->post("$prefix/groups/$group_id/edit", "${ns}LuticateGroupsController", "edit",
81 81
             array(LuticatePermissions::GROUP_EDIT, LuticatePermissions::GROUP_GET));
82
-        $route->post("$prefix/groups/$group_id/addUser/$user_id", "${ns}LuticateGroupsController", "addUser",
83
-            array(LuticatePermissions::GROUP_ADD_USER, LuticatePermissions::GROUP_GET));
84
-        $route->post("$prefix/groups/$group_id/delUser/$user_id", "${ns}LuticateGroupsController", "delUser",
85
-            array(LuticatePermissions::GROUP_DEL_USER, LuticatePermissions::GROUP_GET));
82
+
83
+        $route->get("$prefix/groups/$group_id/users/", "${ns}LuticateGroupsController", "getUsers",
84
+            LuticatePermissions::GROUP_GET);
85
+        $route->post("$prefix/groups/$group_id/users/$user_id/add", "${ns}LuticateGroupsController", "addUser",
86
+            array(LuticatePermissions::GROUP_USER_ADD, LuticatePermissions::GROUP_GET));
87
+        $route->post("$prefix/groups/$group_id/users/$user_id/del", "${ns}LuticateGroupsController", "delUser",
88
+            array(LuticatePermissions::GROUP_USER_DEL, LuticatePermissions::GROUP_GET));
86 89
 
87 90
 
88 91
         $route->get("$prefix/permissions/effective/$user_id/$permission_name", "${ns}LuticatePermissionsController",

+ 5
- 0
src/Auth/Business/LuticateGroupsBusiness.php 파일 보기

@@ -25,6 +25,11 @@ class LuticateGroupsBusiness extends LuBusiness {
25 25
         return $group;
26 26
     }
27 27
 
28
+    public static function getUsers($group_id, $page = 0, $perPage = PHP_INT_MAX)
29
+    {
30
+        return LuticateGroupsDataAccess::getUsers($group_id, $page, $perPage);
31
+    }
32
+
28 33
     public static function getByName($group_name)
29 34
     {
30 35
         return LuticateGroupsDataAccess::getByName($group_name);

+ 12
- 0
src/Auth/Controller/LuticateGroupsController.php 파일 보기

@@ -33,6 +33,18 @@ class LuticateGroupsController extends LuController {
33 33
         return LuticateGroupsBusiness::getAll($page, $perPage);
34 34
     }
35 35
 
36
+    /**
37
+     * Get all users in group
38
+     * @param $group_id int The group id
39
+     * @param int $page The page number, 0 based
40
+     * @param int $perPage The number of items per page
41
+     * @return \Luticate\Utils\LuMultipleDbo
42
+     */
43
+    public function getUsers($group_id, $page = 0, $perPage = PHP_INT_MAX)
44
+    {
45
+        return LuticateGroupsBusiness::getUsers($group_id, $page, $perPage);
46
+    }
47
+
36 48
     /**
37 49
      * Add a new group
38 50
      * @param $group_name string The group name

+ 2
- 2
src/Auth/DBO/LuticatePermissions.php 파일 보기

@@ -23,8 +23,8 @@ class LuticatePermissions
23 23
     const GROUP_GET = "LU_GROUP_GET";
24 24
     const GROUP_EDIT = "LU_GROUP_EDIT";
25 25
     const GROUP_DEL = "LU_GROUP_DEL";
26
-    const GROUP_ADD_USER = "LU_GROUP_ADD_USER";
27
-    const GROUP_DEL_USER = "LU_GROUP_DEL_USER";
26
+    const GROUP_USER_ADD = "LU_GROUP_USER_ADD";
27
+    const GROUP_USER_DEL = "LU_GROUP_USER_DEL";
28 28
 
29 29
     const PERM_EFFECTIVE_GET = "LU_PERM_EFFECTIVE_GET";
30 30
     const PERM_GET = "LU_PERM_GET";

+ 12
- 0
src/Auth/DataAccess/LuticateGroupsDataAccess.php 파일 보기

@@ -5,6 +5,7 @@ namespace Luticate\Auth\DataAccess;
5 5
 use Luticate\Utils\LuDataAccess;
6 6
 use Luticate\Auth\DataAccess\Models\LuticateGroups;
7 7
 use Luticate\Auth\DBO\LuticateGroupsDbo;
8
+use Luticate\Utils\LuMultipleDbo;
8 9
 
9 10
 class LuticateGroupsDataAccess extends LuDataAccess {
10 11
     protected static function getModel()
@@ -28,6 +29,17 @@ class LuticateGroupsDataAccess extends LuDataAccess {
28 29
             return null;
29 30
         return $group->toDbo();
30 31
     }
32
+    public static function getUsers($group_id, $page = 0, $perPage = PHP_INT_MAX)
33
+    {
34
+        $model = LuticateGroups::where("group_id", "=", $group_id)->join("luticate_users", "id", "=", "user_id");
35
+
36
+        $count = $model->count();
37
+
38
+        $model = $model->orderBy("luticate_users.username", "ASC");
39
+        $data = $model->take($perPage)->offset($page * $perPage)->get();
40
+        $dbo = self::arrayToDbo($data);
41
+        return new LuMultipleDbo($count, $dbo);
42
+    }
31 43
 
32 44
     public static function addUser($user_id, $group_id)
33 45
     {

Loading…
취소
저장