Ver código fonte

setting type check

tags/0.1.2
Robin Thoni 8 anos atrás
pai
commit
9cba7cbe2b

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

@@ -57,37 +57,39 @@ class LuticateBusiness
57 57
         $route->post("$prefix/users/login", "${ns}LuticateUsersController", "login");
58 58
         $route->post("$prefix/users/logout", "${ns}LuticateUsersController", "logout");
59 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 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 73
         $route->post("$prefix/users/me/setPassword", "${ns}LuticateUsersController", "setPasswordMe",
73 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 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 95
         $route->get("$prefix/permissions/effective/$user_id/$permission_name", "${ns}LuticatePermissionsController",
@@ -147,15 +149,26 @@ class LuticateBusiness
147 149
         $route->get("$prefix/settings/effective/me", "${ns}LuticateSettingsController",
148 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 156
         $route->post("$prefix/settings/add", "${ns}LuticateSettingsController",
155 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 160
         $route->post("$prefix/settings/$setting_name/edit", "${ns}LuticateSettingsController",
159 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 arquivo

@@ -6,6 +6,7 @@ use Luticate\Utils\LuBusiness;
6 6
 use Luticate\Auth\DataAccess\LuticateSettingsDataAccess;
7 7
 use Luticate\Auth\DBO\LuticateSettingsDbo;
8 8
 use Luticate\Utils\LuMultipleDbo;
9
+use Luticate\Utils\LuStringUtils;
9 10
 
10 11
 class LuticateSettingsBusiness extends LuBusiness {
11 12
     protected static function getDataAccess()
@@ -18,47 +19,97 @@ class LuticateSettingsBusiness extends LuBusiness {
18 19
      */
19 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 28
             self::notFound("Setting Value cannot be null");
23 29
         }
24
-        if (is_null($setting->getType())) {
30
+        if (is_null($type)) {
25 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 33
         if (!is_bool($setting->getIsBlocked())) {
36 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 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 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 90
     public static function getEffectiveSetting($user_id, $setting_name)
50 91
     {
51
-        self::checkSettingName($setting_name);
52 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 104
     public static function getAllEffectiveSetting($user_id)
58 105
     {
59 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,6 +119,7 @@ class LuticateSettingsBusiness extends LuBusiness {
68 119
         if (is_null($perm)) {
69 120
             self::notFound("Permission not found");
70 121
         }
122
+        $perm->setValue(json_decode($perm->getValue()));
71 123
         return $perm;
72 124
     }
73 125
 
@@ -100,9 +152,10 @@ class LuticateSettingsBusiness extends LuBusiness {
100 152
      */
101 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 158
         self::checkSetting($setting);
105
-        self::checkSettingName($setting_name);
106 159
         LuticateSettingsDataAccess::edit($setting_name, $setting);
107 160
         return true;
108 161
     }

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

@@ -5,10 +5,55 @@ namespace Luticate\Auth\Business;
5 5
 use Luticate\Utils\LuBusiness;
6 6
 use Luticate\Auth\DataAccess\LuticateSettingsUsersDataAccess;
7 7
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
8
+use Luticate\Utils\LuMultipleDbo;
8 9
 
9 10
 class LuticateSettingsUsersBusiness extends LuBusiness {
10 11
     protected static function getDataAccess()
11 12
     {
12 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 arquivo

@@ -2,6 +2,7 @@
2 2
 
3 3
 namespace Luticate\Auth\Controller;
4 4
 
5
+use Luticate\Auth\DBO\LuticateUsersDbo;
5 6
 use Luticate\Utils\LuController;
6 7
 use Luticate\Auth\Business\LuticateSettingsUsersBusiness;
7 8
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
@@ -11,4 +12,73 @@ class LuticateSettingsUsersController extends LuController {
11 12
     {
12 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 arquivo

@@ -45,4 +45,8 @@ class LuticatePermissions
45 45
     const SETTING_ADD = "LU_SETTING_ADD";
46 46
     const SETTING_EDIT = "LU_SETTING_EDIT";
47 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 arquivo

@@ -17,7 +17,8 @@ class LuticateSettingsDbo extends LuDbo {
17 17
             "Name" => $this->_name,
18 18
             "Type" => $this->_type,
19 19
             "Value" => $this->_value,
20
-            "IsBlocked" => $this->_isBlocked
20
+            "IsBlocked" => $this->_isBlocked,
21
+            "IsAdmin" => $this->_isAdmin
21 22
         );
22 23
     }
23 24
 
@@ -36,6 +37,9 @@ class LuticateSettingsDbo extends LuDbo {
36 37
         if (isset($json["IsBlocked"])) {
37 38
             $dbo->setIsBlocked($json["IsBlocked"]);
38 39
         }
40
+        if (isset($json["IsAdmin"])) {
41
+            $dbo->setIsAdmin($json["IsAdmin"]);
42
+        }
39 43
         return $dbo;
40 44
     }
41 45
 
@@ -46,6 +50,7 @@ class LuticateSettingsDbo extends LuDbo {
46 50
         $dbo->setType("sample string");
47 51
         $dbo->setValue("sample string");
48 52
         $dbo->setIsBlocked(true);
53
+        $dbo->setIsAdmin(true);
49 54
         return $dbo;
50 55
     }
51 56
 
@@ -100,4 +105,17 @@ class LuticateSettingsDbo extends LuDbo {
100 105
     {
101 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 arquivo

@@ -66,7 +66,7 @@ class LuticateSettingsDataAccess extends LuDataAccess {
66 66
         if (is_null($perm))
67 67
             return;
68 68
         $perm->is_blocked = $setting->getIsBlocked();
69
-        $perm->type = $setting->getType();
69
+        $perm->is_admin = $setting->getIsAdmin();
70 70
         $perm->value = $setting->getValue();
71 71
         $perm->save();
72 72
     }

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

@@ -2,6 +2,7 @@
2 2
 
3 3
 namespace Luticate\Auth\DataAccess;
4 4
 
5
+use Luticate\Auth\DataAccess\Models\LuticateUsers;
5 6
 use Luticate\Utils\LuDataAccess;
6 7
 use Luticate\Auth\DataAccess\Models\LuticateSettingsUsers;
7 8
 use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
@@ -11,4 +12,28 @@ class LuticateSettingsUsersDataAccess extends LuDataAccess {
11 12
     {
12 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 arquivo

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

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

@@ -6,4 +6,5 @@ use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
6 6
 
7 7
 class LuticateSettingsUsers extends LuticateSettingsUsersModel
8 8
 {
9
+    protected $primaryKey = "name";
9 10
 }

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

@@ -10,4 +10,9 @@ class LuticateUsers extends LuticateUsersModel
10 10
     {
11 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
 }

Carregando…
Cancelar
Salvar