]> _ Git - cubist_cms-back.git/commitdiff
wip #3546 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 3 Apr 2020 13:31:04 +0000 (15:31 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 3 Apr 2020 13:31:04 +0000 (15:31 +0200)
src/app/Magic/Fields/Field.php
src/app/Magic/Fields/RolesPermissions.php
src/app/Magic/Models/CubistMagicAbstractModel.php

index 716b2560ae2b4538c4690d4e525a5e86609eadd1..2e194e261dc08f1ed4e310981e76e8161b9cee03 100644 (file)
@@ -29,6 +29,7 @@ class Field implements \ArrayAccess
     protected $_databaseUnique = false;
     protected $_databaseIndex = false;
 
+    /** @var bool|string|array  */
     protected $_cast = false;
     protected $_translatable = false;
     protected $_migrateTranslatable = false;
@@ -251,4 +252,5 @@ class Field implements \ArrayAccess
     {
         return $value;
     }
+
 }
index 5600d15608ea6fd18b9c1cea3bf46b3a628932eb..5b39440f51efef914d5d112eb3edfbb03c0526dc 100644 (file)
@@ -3,9 +3,12 @@
 
 namespace Cubist\Backpack\app\Magic\Fields;
 
+use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
+
 class RolesPermissions extends Field
 {
     protected $_adminType = 'checklist_dependency';
+    protected $_cast = ['roles' => 'array', 'permissions' => 'array'];
 
     public function getDefinition()
     {
index f62730c20ca7670a031c289f920611c3ccbddcca..8c5e1e11d50d2fcf5708c3e5b9a98185c8c40d87 100644 (file)
@@ -260,11 +260,17 @@ class CubistMagicAbstractModel extends Model implements HasMedia
             if ($field->getAttribute('hidden')) {
                 $this->hidden[] = $name;
             }
-            if ($field->getAttribute('cast', false) !== false) {
-                $this->casts[$field->getAttribute('name')] = $field->getAttribute('cast');
+            $cast=$field->getAttribute('cast', false)
+            if ($cast!== false) {
+                if(is_array($cast)){
+                    foreach ($cast as $name=>$type) {
+                        $this->casts[$name] = $type;
+                    }
+                }else {
+                    $this->casts[$field->getAttribute('name')] = $cast;
+                }
             }
         }
-
         return $field;
     }