]> _ Git - cubist_cms-back.git/commitdiff
wip #3439 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 28 Feb 2020 14:45:53 +0000 (15:45 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 28 Feb 2020 14:45:53 +0000 (15:45 +0100)
src/app/Http/Controllers/CubistCrudController.php
src/app/Http/Controllers/Operations/BulkPublishOperation.php [new file with mode: 0644]
src/app/Magic/Controllers/CubistMagicController.php

index e638d7d538022851c1e018ebfeae8e82e344cee6..8d3cb905cd0cdc57f583fc75c7c84888b2f9788d 100644 (file)
@@ -7,12 +7,15 @@ namespace Cubist\Backpack\app\Http\Controllers;
 use Backpack\CRUD\app\Http\Controllers\CrudController;
 use Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
+use Cubist\Backpack\app\Http\Controllers\Operations\BulkPublishOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\RevisionsOperation;
 use Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+
+
 use Cubist\Backpack\CubistCrudPanel;
 
 class CubistCrudController extends CrudController
@@ -25,6 +28,7 @@ class CubistCrudController extends CrudController
     use CloneOperation;
     use BulkCloneOperation;
     use RevisionsOperation;
+    use BulkPublishOperation;
 
     public function __construct()
     {
diff --git a/src/app/Http/Controllers/Operations/BulkPublishOperation.php b/src/app/Http/Controllers/Operations/BulkPublishOperation.php
new file mode 100644 (file)
index 0000000..2187968
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+
+namespace Cubist\Backpack\app\Http\Controllers\Operations;
+
+use Cubist\Backpack\CubistBackpackServiceProvider;
+use Illuminate\Support\Facades\Route;
+
+trait BulkPublishOperation
+{
+    /**
+     * Define which routes are needed for this operation.
+     *
+     * @param string $segment Name of the current entity (singular). Used as first URL segment.
+     * @param string $routeName Prefix of the route name.
+     * @param string $controller Name of the current CrudController.
+     */
+    protected function setupBulkPublishRoutes($segment, $routeName, $controller)
+    {
+        Route::post($segment . '/bulk-publish', [
+            'as' => 'crud.' . $routeName . '.bulkPublish',
+            'uses' => $controller . '@bulkPublish',
+        ]);
+
+        Route::post($segment . '/bulk-offline', [
+            'as' => 'crud.' . $routeName . '.bulkOffline',
+            'uses' => $controller . '@bulkOffline',
+        ]);
+    }
+
+    protected function setupBulkPublishDefaults()
+    {
+        if ($this->_bulk) {
+            $this->crud->enableBulkActions();
+            $this->crud->addButton('bottom', 'bulk_publish', 'view', CubistBackpackServiceProvider::NAMESPACE . '::buttons.bulk_publish', 'begining');
+            $this->crud->addButton('bottom', 'bulk_offline', 'view', CubistBackpackServiceProvider::NAMESPACE . '::buttons.bulk_offline', 'begining');
+        }
+    }
+}
index ab3771d0c5f5e47406ae643929dd5a1e560a9322..418e37af6909f26d08760b84f9b628bf8d1e60a0 100644 (file)
@@ -112,9 +112,7 @@ class CubistMagicController extends CubistCrudController
         $model = $this->getModelInstance();
 
         if ($this->_bulk) {
-            $this->crud->enableBulkActions();
-            $this->crud->addButton('bottom', 'bulk_publish', 'view', CubistBackpackServiceProvider::NAMESPACE . '::buttons.bulk_publish', 'begining');
-            $this->crud->addButton('bottom', 'bulk_offline', 'view', CubistBackpackServiceProvider::NAMESPACE . '::buttons.bulk_offline', 'begining');
+
             if ($this->_clonable) {
                 $this->crud->addButton('bottom', 'bulk_clone', 'view', 'crud::buttons.bulk_clone', 'beginning');
             }