소스 검색

settings get/add/edit/del

tags/0.1.2
Robin Thoni 8 년 전
부모
커밋
e76f1594ef

+ 27
- 0
src/Auth/Business/LuticateSettingsBusiness.php 파일 보기

@@ -13,6 +13,30 @@ class LuticateSettingsBusiness extends LuBusiness {
13 13
         return new LuticateSettingsDataAccess();
14 14
     }
15 15
 
16
+    /**
17
+     * @param $setting LuticateSettingsDbo
18
+     */
19
+    public static function checkSetting($setting)
20
+    {
21
+        if (is_null($setting->getValue())) {
22
+            self::notFound("Setting Value cannot be null");
23
+        }
24
+        if (is_null($setting->getType())) {
25
+            self::notFound("Setting Type cannot be null");
26
+        }
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())) {
36
+            self::notFound("Setting IsBlocked must be boolean");
37
+        }
38
+    }
39
+
16 40
     public static function checkSettingName($setting_name)
17 41
     {
18 42
         $perm = LuticateSettingsDataAccess::getByName($setting_name);
@@ -53,6 +77,7 @@ class LuticateSettingsBusiness extends LuBusiness {
53 77
      */
54 78
     public static function add($setting)
55 79
     {
80
+        self::checkSetting($setting);
56 81
         $perm = LuticateSettingsDataAccess::getByName($setting->getName());
57 82
         if (is_null($perm)) {
58 83
             LuticateSettingsDataAccess::add($setting);
@@ -75,6 +100,8 @@ class LuticateSettingsBusiness extends LuBusiness {
75 100
      */
76 101
     public static function edit($setting_name, $setting)
77 102
     {
103
+        $setting->setName($setting_name);
104
+        self::checkSetting($setting);
78 105
         self::checkSettingName($setting_name);
79 106
         LuticateSettingsDataAccess::edit($setting_name, $setting);
80 107
         return true;

+ 1
- 1
src/Auth/Controller/LuticateSettingsController.php 파일 보기

@@ -103,7 +103,7 @@ class LuticateSettingsController extends LuController {
103 103
      * @param $setting LuticateSettingsDbo The setting
104 104
      * @return bool
105 105
      */
106
-    public function edit($setting_name, $setting)
106
+    public function edit($setting_name, LuticateSettingsDbo $setting)
107 107
     {
108 108
         return LuticateSettingsBusiness::edit($setting_name, $setting);
109 109
     }

+ 0
- 1
src/Auth/DataAccess/LuticateSettingsDataAccess.php 파일 보기

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

+ 1
- 0
src/Auth/DataAccess/Models/LuticateSettings.php 파일 보기

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

Loading…
취소
저장