]> _ Git - cubist_cms-back.git/commitdiff
wip #4666 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 5 Oct 2021 10:03:58 +0000 (12:03 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 5 Oct 2021 10:03:58 +0000 (12:03 +0200)
composer.json
src/app/Magic/Controllers/CubistMagicController.php
src/app/Magic/Models/CubistMagicAbstractModel.php
src/app/Magic/Operations/CreateOperation.php
src/app/Magic/Operations/UpdateOperation.php

index e7075bf086541455abce783a2f683691a8a842a6..f486c98813245cb81c6c961a7b218c0733ab5d67 100644 (file)
@@ -49,7 +49,7 @@
         "digitallyhappy/toggle-field-for-backpack": "^2.0",
         "calebporzio/parental": "^v0.11",
         "cache/filesystem-adapter": "^1.1",
-        "laravel/framework": "^v8.61"
+        "laravel/framework": "^v8.62"
 
     },
     "require-dev": {
index 89896e7c77f14231a77501f62407c3038b5b2d03..5d8f03c5087f45f56d8c3da0f7ff150879eec31f 100644 (file)
@@ -94,6 +94,29 @@ class CubistMagicController extends CubistCrudController
         $this->updateFieldsFromModel($model);
     }
 
+    public function setupSaveActions($type)
+    {
+
+        $instance = $this->getModelInstance();
+        if ($instance instanceof CubistMagicAbstractModel) {
+            if ($this->_oneInstance) {
+                $this->crud->removeSaveAction('save_and_back');
+                $this->crud->removeSaveAction('save_and_new');
+            }
+            $instance->setupSaveActions($this, $type);
+        }
+    }
+
+    public function setupCreateOperation()
+    {
+        $this->setupSaveActions('create');
+    }
+
+    public function setupUpdateOperation()
+    {
+        $this->setupSaveActions('update');
+    }
+
     public function updateFieldsFromModel($model = null)
     {
         if (null === $model) {
@@ -233,7 +256,7 @@ class CubistMagicController extends CubistCrudController
     public function index()
     {
         if ($this->_oneInstance) {
-            return Redirect::to(backpack_url( $this->_routeURL . '/1/edit') );
+            return Redirect::to(backpack_url($this->_routeURL . '/1/edit'));
         }
         return parent::index();
     }
index b633e09936b05e4c81275525824ebc31d5146a5a..79be77f60f038ecff343f628144b7ab183a80af0 100644 (file)
@@ -544,6 +544,14 @@ class CubistMagicAbstractModel extends Model implements HasMedia
             ->optimize();
     }
 
+    /**
+     * @param $controller CubistMagicController
+     */
+    public function setupSaveActions($controller, $type)
+    {
+
+    }
+
     public function getIdValue()
     {
         return $this->getKey();
index c8cee375473a5db4131d0ad5a10b03c40337a7ce..2d66e2426e2ed5a67b7ebd4e8771837e65bc3cb3 100644 (file)
@@ -7,6 +7,7 @@ trait CreateOperation
 {
     use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation {
         store as _store;
+        setupCreateDefaults as _setupCreateDefaults;
     }
 
     public function store()
@@ -17,4 +18,9 @@ trait CreateOperation
         }
         return $res;
     }
+
+    protected function setupCreateDefaults()
+    {
+        $this->_setupCreateDefaults();
+    }
 }
index bdeadc8f0050a3d07c27f36b0f2aab548da419fd..1b07d96fb0cf9e42dfe23b197a5af2623f45886e 100644 (file)
@@ -7,6 +7,7 @@ trait UpdateOperation
 {
     use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation{
         update as _update;
+        setupUpdateDefaults as _setupUpdateDefaults;
     }
 
 
@@ -23,4 +24,9 @@ trait UpdateOperation
         }
         return $res;
     }
+
+    protected function setupUpdateDefaults()
+    {
+        $this->_setupUpdateDefaults();
+    }
 }