]> _ Git - cubist_cms-back.git/commitdiff
wip #4877 @2
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 12 Nov 2021 12:38:04 +0000 (13:38 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 12 Nov 2021 12:38:04 +0000 (13:38 +0100)
src/app/CubistCrudPanel.php
src/app/Magic/Controllers/CubistMagicController.php
src/app/Magic/Fields/APIToken.php
src/app/Magic/Fields/Field.php
src/app/Magic/Models/CubistMagicAuthenticatable.php
src/app/Middleware/BunchRequest.php [new file with mode: 0644]

index 1ed0b46cceaeb7262e8ebc367de5cb306a4678b3..24d830b904dbcc179b84259bb6e49396485dfe0b 100644 (file)
@@ -5,6 +5,9 @@ namespace Cubist\Backpack;
 use Backpack\CRUD\app\Exceptions\AccessDeniedException;
 use Backpack\CRUD\app\Library\CrudPanel\CrudPanel;
 use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+use Cubist\Backpack\Magic\Requests\CubistMagicRequest;
+use Illuminate\Http\Request;
+use Illuminate\Support\Arr;
 
 /**
  * @property CubistMagicAbstractModel $model
@@ -161,4 +164,11 @@ class CubistCrudPanel extends CrudPanel
         }
         return $this->entry;
     }
+
+
+
+    public function getStrippedSaveRequest()
+    {
+        dd($this->getRequest());
+    }
 }
index 7d6eea97ca1338b62e47014a93ed6ef3df28ce50..dd5b018e0fd1d0c2680ed2993abb81e1ba89ca0f 100644 (file)
@@ -196,82 +196,6 @@ class CubistMagicController extends CubistCrudController
     {
         return $this->crud->getModel();
     }
-
-    /**
-     * @return CubistMagicRequest
-     */
-    protected function _prepareCRUDData()
-    {
-        $request = $this->crud->validateRequest();
-
-        $appendComposite = [];
-        foreach ($request->all() as $field => $content) {
-            $initialContent = $content;
-            $initialField = $field;
-
-            $change = false;
-            $unsetInitial = false;
-            $e = explode('___', $field);
-            if (count($e) > 1) {
-                $change = false;
-                $unsetInitial = true;
-                $field = $e[0];
-                for ($i = 1; $i < count($e); $i++) {
-                    $field .= '.' . $e[$i];
-                }
-                Arr::set($appendComposite, $field, $content);
-            }
-
-            if ($change) {
-                $request->request->set($field, $content);
-            }
-            if ($unsetInitial) {
-                $request->request->set($initialField, null);
-            }
-        }
-
-        foreach ($appendComposite as $key => $value) {
-            $request->request->set($key, $value);
-        }
-
-        return $request;
-    }
-
-    /**
-     * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Http\RedirectResponse
-     */
-    public function store()
-    {
-        $this->_forgetCache();
-
-        $request = $this->_prepareCRUDData();
-        $this->getModelInstance()->onBeforeStore($this, $request);
-
-        // your additional operations before save here
-        $redirect_location = parent::store();
-        // your additional operations after save here
-        // use $this->data['entry'] or $this->crud->entry
-        return $redirect_location;
-    }
-
-    /**
-     * @param CubistMagicUpdateRequest $request
-     * @return \Illuminate\Http\RedirectResponse
-     */
-    public function update()
-    {
-        $this->_forgetCache();
-
-        $request = $this->_prepareCRUDData();
-        $this->getModelInstance()->onBeforeUpdate($this, $request);
-
-        // your additional operations before save here
-        $redirect_location = parent::update();
-        // your additional operations after save here
-        // use $this->data['entry'] or $this->crud->entry
-        return $redirect_location;
-    }
-
     protected function _forgetCache()
     {
         try {
index bd42f331108bdb403cd5a9b3c37613390b9141c8..1af53cc3a3ede00ad9ba0afcaa1b93450bd4df64 100644 (file)
@@ -11,7 +11,8 @@ class APIToken extends Text
 
     protected $_databaseUnique = true;
     protected $_databaseType = 'string';
-    protected $_translatable=false;
+    protected $_translatable = false;
+    protected $_databaseDefault = null;
 
     public function __construct($attributes)
     {
index 7e593884801658e49f63d8345790c2d7e64465da..b5ed09e0bb594e680459c8db0e6ef1aea3aa8fc1 100644 (file)
@@ -306,10 +306,7 @@ class Field implements \ArrayAccess
             $this->_databaseAttributes
         );
 
-        $default = $this->getAttribute('database_default') ?? $this->getAttribute('default');
-        if ($default !== null) {
-            $attributes['default'] = $default;
-        }
+        $attributes['default'] = $this->getAttribute('database_default');
         $length = $this->getDatabaseLength();
         if (null !== $length) {
             $attributes['length'] = $length;
index 3c1b2c38d6e95933c8da50c4d8fb5cbe1343d82f..feeb27918acb2c015b989d7ea7fa5abe5a6d77e3 100644 (file)
@@ -57,7 +57,8 @@ class CubistMagicAuthenticatable extends CubistMagicAbstractModel
             'label' => 'Enabled',
             'type' => 'checkbox',
             'tab' => 'Login',
-            'default' => true]);
+            'default' => true,
+            'database_default' => true]);
 
         $this->addField(['name' => 'remember_token',
             'type' => 'Text',
@@ -81,7 +82,6 @@ class CubistMagicAuthenticatable extends CubistMagicAbstractModel
         $this->addField(['name' => 'api_token',
             'label' => 'API Token',
             'type' => 'APIToken',
-            'database_default' => '',
             'tab' => 'Login',
             'can' => 'users:admin'
         ]);
diff --git a/src/app/Middleware/BunchRequest.php b/src/app/Middleware/BunchRequest.php
new file mode 100644 (file)
index 0000000..ea37c8b
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+
+namespace Cubist\Backpack\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+use Illuminate\Support\Arr;
+
+class BunchRequest extends CubistMiddleware
+{
+    public function handle(Request $request, Closure $next)
+    {
+        parent::handle($request, $next);
+
+        $appendComposite = [];
+        foreach ($request->all() as $field => $content) {
+            $initialContent = $content;
+            $initialField = $field;
+
+            $change = false;
+            $unsetInitial = false;
+            $e = explode('___', $field);
+            if (count($e) > 1) {
+                $change = false;
+                $unsetInitial = true;
+                $field = $e[0];
+                for ($i = 1; $i < count($e); $i++) {
+                    $field .= '.' . $e[$i];
+                }
+                Arr::set($appendComposite, $field, $content);
+            }
+
+            if ($change) {
+                $request->request->set($field, $content);
+            }
+            if ($unsetInitial) {
+                $request->request->set($initialField, null);
+            }
+        }
+
+
+        foreach ($appendComposite as $key => $value) {
+            $request->request->set($key, $value);
+        }
+        return $this->getResponse();
+    }
+}