Explorar el Código

setting type check

tags/0.1.2
Robin Thoni hace 8 años
padre
commit
9cba7cbe2b

+ 43
- 30
src/Auth/Business/LuticateBusiness.php Ver fichero

57
         $route->post("$prefix/users/login", "${ns}LuticateUsersController", "login");
57
         $route->post("$prefix/users/login", "${ns}LuticateUsersController", "login");
58
         $route->post("$prefix/users/logout", "${ns}LuticateUsersController", "logout");
58
         $route->post("$prefix/users/logout", "${ns}LuticateUsersController", "logout");
59
         $route->get("$prefix/users/me", "${ns}LuticateUsersController", "getLightMe");
59
         $route->get("$prefix/users/me", "${ns}LuticateUsersController", "getLightMe");
60
-        $route->get("$prefix/users/$user_id", "${ns}LuticateUsersController", "getLightById", LuticatePermissions::USER_GET);
60
+        $route->get("$prefix/users/$user_id", "${ns}LuticateUsersController",
61
+            "getLightById", LuticatePermissions::USER_GET);
61
         $route->get("$prefix/users", "${ns}LuticateUsersController", "getAllLight", LuticatePermissions::USER_GET);
62
         $route->get("$prefix/users", "${ns}LuticateUsersController", "getAllLight", LuticatePermissions::USER_GET);
62
-        $route->post("$prefix/users/add", "${ns}LuticateUsersController", "add",
63
-            array(LuticatePermissions::USER_ADD, LuticatePermissions::USER_GET));
64
-        $route->post("$prefix/users/$user_id/del", "${ns}LuticateUsersController", "del",
65
-            array(LuticatePermissions::USER_DEL, LuticatePermissions::USER_GET));
66
-        $route->post("$prefix/users/$user_id/edit", "${ns}LuticateUsersController", "edit",
67
-            array(LuticatePermissions::USER_EDIT, LuticatePermissions::USER_GET));
68
-        $route->post("$prefix/users/me/edit", "${ns}LuticateUsersController", "editMe",
69
-            LuticatePermissions::USER_EDIT_ME);
70
-        $route->post("$prefix/users/$user_id/setPassword", "${ns}LuticateUsersController", "setPassword",
71
-            array(LuticatePermissions::USER_SET_PASSWORD, LuticatePermissions::USER_GET));
63
+        $route->post("$prefix/users/add", "${ns}LuticateUsersController",
64
+            "add", array(LuticatePermissions::USER_ADD, LuticatePermissions::USER_GET));
65
+        $route->post("$prefix/users/$user_id/del", "${ns}LuticateUsersController",
66
+            "del", array(LuticatePermissions::USER_DEL, LuticatePermissions::USER_GET));
67
+        $route->post("$prefix/users/$user_id/edit", "${ns}LuticateUsersController",
68
+            "edit", array(LuticatePermissions::USER_EDIT, LuticatePermissions::USER_GET));
69
+        $route->post("$prefix/users/me/edit", "${ns}LuticateUsersController",
70
+            "editMe", LuticatePermissions::USER_EDIT_ME);
71
+        $route->post("$prefix/users/$user_id/setPassword", "${ns}LuticateUsersController",
72
+            "setPassword", array(LuticatePermissions::USER_SET_PASSWORD, LuticatePermissions::USER_GET));
72
         $route->post("$prefix/users/me/setPassword", "${ns}LuticateUsersController", "setPasswordMe",
73
         $route->post("$prefix/users/me/setPassword", "${ns}LuticateUsersController", "setPasswordMe",
73
             LuticatePermissions::USER_SET_PASSWORD_ME);
74
             LuticatePermissions::USER_SET_PASSWORD_ME);
74
 
75
 
75
 
76
 
76
-        $route->get("$prefix/groups/$group_id", "${ns}LuticateGroupsController", "getById", LuticatePermissions::GROUP_GET);
77
+        $route->get("$prefix/groups/$group_id", "${ns}LuticateGroupsController",
78
+            "getById", LuticatePermissions::GROUP_GET);
77
         $route->get("$prefix/groups", "${ns}LuticateGroupsController", "getAll", LuticatePermissions::GROUP_GET);
79
         $route->get("$prefix/groups", "${ns}LuticateGroupsController", "getAll", LuticatePermissions::GROUP_GET);
78
-        $route->post("$prefix/groups/add", "${ns}LuticateGroupsController", "add",
79
-            array(LuticatePermissions::GROUP_ADD, LuticatePermissions::GROUP_GET));
80
-        $route->post("$prefix/groups/$group_id/del", "${ns}LuticateGroupsController", "del",
81
-            array(LuticatePermissions::GROUP_DEL, LuticatePermissions::GROUP_GET));
82
-        $route->post("$prefix/groups/$group_id/edit", "${ns}LuticateGroupsController", "edit",
83
-            array(LuticatePermissions::GROUP_EDIT, LuticatePermissions::GROUP_GET));
80
+        $route->post("$prefix/groups/add", "${ns}LuticateGroupsController",
81
+            "add", array(LuticatePermissions::GROUP_ADD, LuticatePermissions::GROUP_GET));
82
+        $route->post("$prefix/groups/$group_id/del", "${ns}LuticateGroupsController",
83
+            "del", array(LuticatePermissions::GROUP_DEL, LuticatePermissions::GROUP_GET));
84
+        $route->post("$prefix/groups/$group_id/edit", "${ns}LuticateGroupsController",
85
+            "edit", array(LuticatePermissions::GROUP_EDIT, LuticatePermissions::GROUP_GET));
84
 
86
 
85
-        $route->get("$prefix/groups/$group_id/users/", "${ns}LuticateGroupsController", "getUsers",
86
-            LuticatePermissions::GROUP_GET);
87
-        $route->post("$prefix/groups/$group_id/users/$user_id/add", "${ns}LuticateGroupsController", "addUser",
88
-            array(LuticatePermissions::GROUP_USER_ADD, LuticatePermissions::GROUP_GET));
89
-        $route->post("$prefix/groups/$group_id/users/$user_id/del", "${ns}LuticateGroupsController", "delUser",
90
-            array(LuticatePermissions::GROUP_USER_DEL, LuticatePermissions::GROUP_GET));
87
+        $route->get("$prefix/groups/$group_id/users/", "${ns}LuticateGroupsController",
88
+            "getUsers", LuticatePermissions::GROUP_GET);
89
+        $route->post("$prefix/groups/$group_id/users/$user_id/add", "${ns}LuticateGroupsController",
90
+            "addUser", array(LuticatePermissions::GROUP_USER_ADD, LuticatePermissions::GROUP_GET));
91
+        $route->post("$prefix/groups/$group_id/users/$user_id/del", "${ns}LuticateGroupsController",
92
+            "delUser", array(LuticatePermissions::GROUP_USER_DEL, LuticatePermissions::GROUP_GET));
91
 
93
 
92
 
94
 
93
         $route->get("$prefix/permissions/effective/$user_id/$permission_name", "${ns}LuticatePermissionsController",
95
         $route->get("$prefix/permissions/effective/$user_id/$permission_name", "${ns}LuticatePermissionsController",
147
         $route->get("$prefix/settings/effective/me", "${ns}LuticateSettingsController",
149
         $route->get("$prefix/settings/effective/me", "${ns}LuticateSettingsController",
148
             "getAllEffectiveSettingMe");
150
             "getAllEffectiveSettingMe");
149
 
151
 
150
-        $route->get("$prefix/settings/$setting_name", "${ns}LuticateSettingsController", "get",
151
-            LuticatePermissions::SETTING_GET);
152
-        $route->get("$prefix/settings", "${ns}LuticateSettingsController", "getAll",
153
-            LuticatePermissions::SETTING_GET);
152
+        $route->get("$prefix/settings/$setting_name", "${ns}LuticateSettingsController",
153
+            "get", LuticatePermissions::SETTING_GET);
154
+        $route->get("$prefix/settings", "${ns}LuticateSettingsController",
155
+            "getAll", LuticatePermissions::SETTING_GET);
154
         $route->post("$prefix/settings/add", "${ns}LuticateSettingsController",
156
         $route->post("$prefix/settings/add", "${ns}LuticateSettingsController",
155
             "add", array(LuticatePermissions::SETTING_ADD, LuticatePermissions::SETTING_GET));
157
             "add", array(LuticatePermissions::SETTING_ADD, LuticatePermissions::SETTING_GET));
156
-        $route->post("$prefix/settings/$setting_name/del", "${ns}LuticateSettingsController", "del",
157
-            array(LuticatePermissions::SETTING_DEL, LuticatePermissions::SETTING_GET));
158
+        $route->post("$prefix/settings/$setting_name/del", "${ns}LuticateSettingsController",
159
+            "del", array(LuticatePermissions::SETTING_DEL, LuticatePermissions::SETTING_GET));
158
         $route->post("$prefix/settings/$setting_name/edit", "${ns}LuticateSettingsController",
160
         $route->post("$prefix/settings/$setting_name/edit", "${ns}LuticateSettingsController",
159
             "edit", array(LuticatePermissions::SETTING_EDIT, LuticatePermissions::SETTING_GET));
161
             "edit", array(LuticatePermissions::SETTING_EDIT, LuticatePermissions::SETTING_GET));
162
+
163
+        $route->get("$prefix/settings/user/$user_id/$setting_name", "${ns}LuticateSettingsUsersController",
164
+            "get", LuticatePermissions::SETTING_USER_GET);
165
+        $route->get("$prefix/settings/user/$user_id", "${ns}LuticateSettingsUsersController",
166
+            "getAllByUser", LuticatePermissions::SETTING_USER_GET);
167
+        $route->post("$prefix/settings/user/$user_id/add/$setting_name", "${ns}LuticateSettingsUsersController",
168
+            "add", array(LuticatePermissions::SETTING_USER_ADD, LuticatePermissions::SETTING_USER_GET));
169
+        $route->post("$prefix/settings/user/$user_id/$setting_name/del", "${ns}LuticateSettingsUsersController",
170
+            "del", array(LuticatePermissions::SETTING_USER_DEL, LuticatePermissions::SETTING_USER_GET));
171
+        $route->post("$prefix/settings/user/$user_id/$setting_name/edit", "${ns}LuticateSettingsUsersController",
172
+            "edit", array(LuticatePermissions::SETTING_USER_EDIT, LuticatePermissions::SETTING_USER_GET));
160
     }
173
     }
161
 }
174
 }

+ 72
- 19
src/Auth/Business/LuticateSettingsBusiness.php Ver fichero

6
 use Luticate\Auth\DataAccess\LuticateSettingsDataAccess;
6
 use Luticate\Auth\DataAccess\LuticateSettingsDataAccess;
7
 use Luticate\Auth\DBO\LuticateSettingsDbo;
7
 use Luticate\Auth\DBO\LuticateSettingsDbo;
8
 use Luticate\Utils\LuMultipleDbo;
8
 use Luticate\Utils\LuMultipleDbo;
9
+use Luticate\Utils\LuStringUtils;
9
 
10
 
10
 class LuticateSettingsBusiness extends LuBusiness {
11
 class LuticateSettingsBusiness extends LuBusiness {
11
     protected static function getDataAccess()
12
     protected static function getDataAccess()
18
      */
19
      */
19
     public static function checkSetting($setting)
20
     public static function checkSetting($setting)
20
     {
21
     {
21
-        if (is_null($setting->getValue())) {
22
+        $val = $setting->getValue();
23
+        $type = $setting->getType();
24
+        if (is_null($setting->getName())) {
25
+            self::notFound("Setting Name cannot be null");
26
+        }
27
+        if (is_null($val)) {
22
             self::notFound("Setting Value cannot be null");
28
             self::notFound("Setting Value cannot be null");
23
         }
29
         }
24
-        if (is_null($setting->getType())) {
30
+        if (is_null($type)) {
25
             self::notFound("Setting Type cannot be null");
31
             self::notFound("Setting Type cannot be null");
26
         }
32
         }
27
-        else {
28
-            if (is_array($setting->getValue())) {
29
-                $setting->setValue(json_encode($setting->getValue()));
30
-            }
31
-        }
32
-        if (is_null($setting->getName())) {
33
-            self::notFound("Setting Name cannot be null");
34
-        }
35
         if (!is_bool($setting->getIsBlocked())) {
33
         if (!is_bool($setting->getIsBlocked())) {
36
             self::notFound("Setting IsBlocked must be boolean");
34
             self::notFound("Setting IsBlocked must be boolean");
37
         }
35
         }
36
+        if (!is_bool($setting->getIsAdmin())) {
37
+            self::notFound("Setting IsAdmin must be boolean");
38
+        }
39
+        else {
40
+            if ($type == "string") {
41
+                if (!is_string($val)) {
42
+                    self::badInput("Invalid Value");
43
+                }
44
+            }
45
+            else if ($type == "int") {
46
+                if (!is_int($val)) {
47
+                    self::badInput("Invalid Value");
48
+                }
49
+            }
50
+            else if ($type == "float") {
51
+                if (!is_float($val) && !is_int($val)) {
52
+                    self::badInput("Invalid Value");
53
+                }
54
+            }
55
+            else if ($type == "bool") {
56
+                if (!is_bool($val)) {
57
+                    self::badInput("Invalid Value");
58
+                }
59
+            }
60
+            else if ($type == "object") {
61
+                if (!is_array($val)) {
62
+                    self::badInput("Invalid Value");
63
+                }
64
+            }
65
+            else {
66
+                self::badInput("Unknown Type");
67
+            }
68
+            $setting->setValue(json_encode($val));
69
+        }
38
     }
70
     }
39
 
71
 
40
     public static function checkSettingName($setting_name)
72
     public static function checkSettingName($setting_name)
41
     {
73
     {
42
-        $perm = LuticateSettingsDataAccess::getByName($setting_name);
43
-        if (is_null($perm)) {
74
+        $setting = LuticateSettingsDataAccess::getByName($setting_name);
75
+        if (is_null($setting)) {
44
             self::notFound("Setting not found");
76
             self::notFound("Setting not found");
45
         }
77
         }
46
-        return $perm;
78
+        return $setting;
79
+    }
80
+
81
+    public static function getAll($page = 0, $perPage = 2000000000, $query = "")
82
+    {
83
+        return parent::getAll($page, $perPage, $query)->map(function($value)
84
+        {
85
+            $value->setValue(json_decode($value->getValue()));
86
+            return $value;
87
+        });
47
     }
88
     }
48
 
89
 
49
     public static function getEffectiveSetting($user_id, $setting_name)
90
     public static function getEffectiveSetting($user_id, $setting_name)
50
     {
91
     {
51
-        self::checkSettingName($setting_name);
52
         $val = LuticateSettingsDataAccess::getEffectiveSetting($user_id, $setting_name);
92
         $val = LuticateSettingsDataAccess::getEffectiveSetting($user_id, $setting_name);
53
-        $json = json_decode($val->getSetting());
54
-        return $json;
93
+        if (is_null($val->getSetting())) {
94
+            self::notFound("Setting not found");
95
+        }
96
+
97
+        $setting = LuStringUtils::convertJsonString($val->getSetting());
98
+        $setting["Value"] = json_decode($setting["Value"]);
99
+        unset($setting["IsBlocked"]);
100
+        unset($setting["IsAdmin"]);
101
+        return $setting;
55
     }
102
     }
56
 
103
 
57
     public static function getAllEffectiveSetting($user_id)
104
     public static function getAllEffectiveSetting($user_id)
58
     {
105
     {
59
         return LuticateSettingsDataAccess::getAllEffectiveSetting($user_id)->map(function($value)
106
         return LuticateSettingsDataAccess::getAllEffectiveSetting($user_id)->map(function($value)
60
         {
107
         {
61
-            return $value["Settings"];
108
+            $setting = $value["Settings"];
109
+            $setting["Value"] = json_decode($setting["Value"]);
110
+            unset($setting["IsBlocked"]);
111
+            unset($setting["IsAdmin"]);
112
+            return $setting;
62
         });
113
         });
63
     }
114
     }
64
 
115
 
68
         if (is_null($perm)) {
119
         if (is_null($perm)) {
69
             self::notFound("Permission not found");
120
             self::notFound("Permission not found");
70
         }
121
         }
122
+        $perm->setValue(json_decode($perm->getValue()));
71
         return $perm;
123
         return $perm;
72
     }
124
     }
73
 
125
 
100
      */
152
      */
101
     public static function edit($setting_name, $setting)
153
     public static function edit($setting_name, $setting)
102
     {
154
     {
103
-        $setting->setName($setting_name);
155
+        $set = self::checkSettingName($setting_name);
156
+        $setting->setName($set->getName());
157
+        $setting->setType($set->getType());
104
         self::checkSetting($setting);
158
         self::checkSetting($setting);
105
-        self::checkSettingName($setting_name);
106
         LuticateSettingsDataAccess::edit($setting_name, $setting);
159
         LuticateSettingsDataAccess::edit($setting_name, $setting);
107
         return true;
160
         return true;
108
     }
161
     }

+ 45
- 0
src/Auth/Business/LuticateSettingsUsersBusiness.php Ver fichero

5
 use Luticate\Utils\LuBusiness;
5
 use Luticate\Utils\LuBusiness;
6
 use Luticate\Auth\DataAccess\LuticateSettingsUsersDataAccess;
6
 use Luticate\Auth\DataAccess\LuticateSettingsUsersDataAccess;
7
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
7
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
8
+use Luticate\Utils\LuMultipleDbo;
8
 
9
 
9
 class LuticateSettingsUsersBusiness extends LuBusiness {
10
 class LuticateSettingsUsersBusiness extends LuBusiness {
10
     protected static function getDataAccess()
11
     protected static function getDataAccess()
11
     {
12
     {
12
         return new LuticateSettingsUsersDataAccess();
13
         return new LuticateSettingsUsersDataAccess();
13
     }
14
     }
15
+
16
+    public static function checkSettingUserName($user_id, $setting_name)
17
+    {
18
+        LuticateUsersBusiness::checkUserId($user_id);
19
+        LuticateSettingsBusiness::checkSettingName($setting_name);
20
+        return LuticateSettingsUsersDataAccess::getByName($user_id, $setting_name);
21
+    }
22
+
23
+    public static function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
24
+    {
25
+        return LuticateSettingsUsersDataAccess::getAllByUser($user_id, $page, $perPage);
26
+    }
27
+
28
+    public static function get($user_id, $setting_name)
29
+    {
30
+        return LuticateSettingsUsersDataAccess::getByName($user_id, $setting_name);
31
+    }
32
+
33
+    public static function add($user_id, $setting_name, $setting_value)
34
+    {
35
+        $setting = self::checkSettingUserName($user_id, $setting_name);
36
+        if (!is_null($setting)) {
37
+            self::badInput("User setting already exists");
38
+        }
39
+        $setting = new LuticateSettingsUsersDbo();
40
+        $setting->setName($setting_name);
41
+        $setting->setValue($setting_value);
42
+        $setting->setUserId($user_id);
43
+        LuticateSettingsUsersDataAccess::add($setting);
44
+        return true;
45
+    }
46
+
47
+    public static function del($user_id, $setting_name)
48
+    {
49
+        self::checkSettingUserName($user_id, $setting_name);
50
+        LuticateSettingsUsersDataAccess::delete($user_id, $setting_name);
51
+        return true;
52
+    }
53
+
54
+    public static function edit($user_id, $setting_name, $setting_value)
55
+    {
56
+        self::del($user_id, $setting_name);
57
+        return self::add($user_id, $setting_name, $setting_value);
58
+    }
14
 }
59
 }

+ 70
- 0
src/Auth/Controller/LuticateSettingsUsersController.php Ver fichero

2
 
2
 
3
 namespace Luticate\Auth\Controller;
3
 namespace Luticate\Auth\Controller;
4
 
4
 
5
+use Luticate\Auth\DBO\LuticateUsersDbo;
5
 use Luticate\Utils\LuController;
6
 use Luticate\Utils\LuController;
6
 use Luticate\Auth\Business\LuticateSettingsUsersBusiness;
7
 use Luticate\Auth\Business\LuticateSettingsUsersBusiness;
7
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
8
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
11
     {
12
     {
12
         return new LuticateSettingsUsersBusiness();
13
         return new LuticateSettingsUsersBusiness();
13
     }
14
     }
15
+
16
+    /**
17
+     * Get all settings for a user
18
+     * @param $user_id int The user id
19
+     * @param int $page The page number, 0 based
20
+     * @param int $perPage The number of items per page
21
+     * @return \Luticate\Utils\LuMultipleDbo
22
+     */
23
+    public function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
24
+    {
25
+        return LuticateSettingsUsersBusiness::getAllByUser($user_id, $page, $perPage);
26
+    }
27
+
28
+    /**
29
+     * Get a setting for a user
30
+     * @param $user_id int The user id
31
+     * @param $setting_name string The setting name
32
+     * @return \Luticate\Utils\LuDbo
33
+     */
34
+    public function get($user_id, $setting_name)
35
+    {
36
+        return LuticateSettingsUsersBusiness::get($user_id, $setting_name);
37
+    }
38
+
39
+    /**
40
+     * Add a setting for a user
41
+     * @param $user_id int The user id
42
+     * @param $setting_name string The setting name
43
+     * @param $setting_value bool The setting value
44
+     * @return bool
45
+     */
46
+    public function add($user_id, $setting_name, $setting_value)
47
+    {
48
+        return LuticateSettingsUsersBusiness::add($user_id, $setting_name, $setting_value);
49
+    }
50
+
51
+    /**
52
+     * Delete a setting for a user
53
+     * @param $user_id int The user id
54
+     * @param $setting_name string The setting name
55
+     * @return bool
56
+     */
57
+    public function del($user_id, $setting_name)
58
+    {
59
+        return LuticateSettingsUsersBusiness::del($user_id, $setting_name);
60
+    }
61
+
62
+    /**
63
+     * Delete a setting for the logged user
64
+     * @param $_user LuticateUsersDbo The logged user
65
+     * @param $setting_name string The setting name
66
+     * @return bool
67
+     */
68
+    public function reset($_user, $setting_name)
69
+    {
70
+        return self::del($_user->getId(), $setting_name);
71
+    }
72
+
73
+    /**
74
+     * Edit the setting value for a user
75
+     * @param $user_id int The user id
76
+     * @param $setting_name string The setting name
77
+     * @param $setting_value bool The setting value
78
+     * @return bool
79
+     */
80
+    public function edit($user_id, $setting_name, $setting_value)
81
+    {
82
+        return LuticateSettingsUsersBusiness::edit($user_id, $setting_name, $setting_value);
83
+    }
14
 }
84
 }

+ 4
- 0
src/Auth/DBO/LuticatePermissions.php Ver fichero

45
     const SETTING_ADD = "LU_SETTING_ADD";
45
     const SETTING_ADD = "LU_SETTING_ADD";
46
     const SETTING_EDIT = "LU_SETTING_EDIT";
46
     const SETTING_EDIT = "LU_SETTING_EDIT";
47
     const SETTING_DEL = "LU_SETTING_DEL";
47
     const SETTING_DEL = "LU_SETTING_DEL";
48
+    const SETTING_USER_GET = "LU_SETTING_USER_GET";
49
+    const SETTING_USER_ADD = "LU_SETTING_USER_ADD";
50
+    const SETTING_USER_EDIT = "LU_SETTING_USER_EDIT";
51
+    const SETTING_USER_DEL = "LU_SETTING_USER_DEL";
48
 }
52
 }

+ 19
- 1
src/Auth/DBO/LuticateSettingsDbo.php Ver fichero

17
             "Name" => $this->_name,
17
             "Name" => $this->_name,
18
             "Type" => $this->_type,
18
             "Type" => $this->_type,
19
             "Value" => $this->_value,
19
             "Value" => $this->_value,
20
-            "IsBlocked" => $this->_isBlocked
20
+            "IsBlocked" => $this->_isBlocked,
21
+            "IsAdmin" => $this->_isAdmin
21
         );
22
         );
22
     }
23
     }
23
 
24
 
36
         if (isset($json["IsBlocked"])) {
37
         if (isset($json["IsBlocked"])) {
37
             $dbo->setIsBlocked($json["IsBlocked"]);
38
             $dbo->setIsBlocked($json["IsBlocked"]);
38
         }
39
         }
40
+        if (isset($json["IsAdmin"])) {
41
+            $dbo->setIsAdmin($json["IsAdmin"]);
42
+        }
39
         return $dbo;
43
         return $dbo;
40
     }
44
     }
41
 
45
 
46
         $dbo->setType("sample string");
50
         $dbo->setType("sample string");
47
         $dbo->setValue("sample string");
51
         $dbo->setValue("sample string");
48
         $dbo->setIsBlocked(true);
52
         $dbo->setIsBlocked(true);
53
+        $dbo->setIsAdmin(true);
49
         return $dbo;
54
         return $dbo;
50
     }
55
     }
51
 
56
 
100
     {
105
     {
101
         $this->_isBlocked = $value;
106
         $this->_isBlocked = $value;
102
     }
107
     }
108
+
109
+    /**
110
+     * @var boolean
111
+     */
112
+    protected $_isAdmin;
113
+    public function getIsAdmin()
114
+    {
115
+        return $this->_isAdmin;
116
+    }
117
+    public function setIsAdmin($value)
118
+    {
119
+        $this->_isAdmin = $value;
120
+    }
103
 }
121
 }

+ 1
- 1
src/Auth/DataAccess/LuticateSettingsDataAccess.php Ver fichero

66
         if (is_null($perm))
66
         if (is_null($perm))
67
             return;
67
             return;
68
         $perm->is_blocked = $setting->getIsBlocked();
68
         $perm->is_blocked = $setting->getIsBlocked();
69
-        $perm->type = $setting->getType();
69
+        $perm->is_admin = $setting->getIsAdmin();
70
         $perm->value = $setting->getValue();
70
         $perm->value = $setting->getValue();
71
         $perm->save();
71
         $perm->save();
72
     }
72
     }

+ 25
- 0
src/Auth/DataAccess/LuticateSettingsUsersDataAccess.php Ver fichero

2
 
2
 
3
 namespace Luticate\Auth\DataAccess;
3
 namespace Luticate\Auth\DataAccess;
4
 
4
 
5
+use Luticate\Auth\DataAccess\Models\LuticateUsers;
5
 use Luticate\Utils\LuDataAccess;
6
 use Luticate\Utils\LuDataAccess;
6
 use Luticate\Auth\DataAccess\Models\LuticateSettingsUsers;
7
 use Luticate\Auth\DataAccess\Models\LuticateSettingsUsers;
7
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
8
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
11
     {
12
     {
12
         return new LuticateSettingsUsers();
13
         return new LuticateSettingsUsers();
13
     }
14
     }
15
+
16
+    public static function getModelByName($user_id, $setting_name)
17
+    {
18
+        return LuticateSettingsUsers::where("name", "=", $setting_name)->where("user_id", "=", $user_id)->first();
19
+    }
20
+
21
+    public static function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
22
+    {
23
+        return self::getMultiple(array(array('user_id', '=', $user_id)), array(array("name", "ASC")), $page, $perPage);
24
+    }
25
+
26
+    public static function getByName($user_id, $setting_name)
27
+    {
28
+        $setting = self::getModelByName($user_id, $setting_name);
29
+        if (is_null($setting)) {
30
+            return null;
31
+        }
32
+        return $setting->toDbo();
33
+    }
34
+
35
+    public static function delete($user_id, $setting_name)
36
+    {
37
+        LuticateUsers::find($user_id)->settings()->detach($setting_name);
38
+    }
14
 }
39
 }

+ 2
- 0
src/Auth/DataAccess/Models/LuticateSettingsModel.php Ver fichero

29
         $dbo->setType($this->type);
29
         $dbo->setType($this->type);
30
         $dbo->setValue($this->value);
30
         $dbo->setValue($this->value);
31
         $dbo->setIsBlocked($this->is_blocked);
31
         $dbo->setIsBlocked($this->is_blocked);
32
+        $dbo->setIsAdmin($this->is_admin);
32
 
33
 
33
         return $dbo;
34
         return $dbo;
34
     }
35
     }
47
         $model->type = $dbo->getType();
48
         $model->type = $dbo->getType();
48
         $model->value = $dbo->getValue();
49
         $model->value = $dbo->getValue();
49
         $model->is_blocked = $dbo->getIsBlocked();
50
         $model->is_blocked = $dbo->getIsBlocked();
51
+        $model->is_admin = $dbo->getIsAdmin();
50
 
52
 
51
         return $model;
53
         return $model;
52
     }
54
     }

+ 1
- 0
src/Auth/DataAccess/Models/LuticateSettingsUsers.php Ver fichero

6
 
6
 
7
 class LuticateSettingsUsers extends LuticateSettingsUsersModel
7
 class LuticateSettingsUsers extends LuticateSettingsUsersModel
8
 {
8
 {
9
+    protected $primaryKey = "name";
9
 }
10
 }

+ 5
- 0
src/Auth/DataAccess/Models/LuticateUsers.php Ver fichero

10
     {
10
     {
11
         return $this->belongsToMany('Luticate\Auth\DataAccess\Models\LuticatePermissions', "luticate_permissions_users", "user_id", "name");
11
         return $this->belongsToMany('Luticate\Auth\DataAccess\Models\LuticatePermissions', "luticate_permissions_users", "user_id", "name");
12
     }
12
     }
13
+
14
+    public function settings()
15
+    {
16
+        return $this->belongsToMany('Luticate\Auth\DataAccess\Models\LuticateSettings', "luticate_settings_users", "user_id", "name");
17
+    }
13
 }
18
 }

Loading…
Cancelar
Guardar