]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6501 @0.75
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 21 Nov 2023 18:09:52 +0000 (19:09 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 21 Nov 2023 18:09:52 +0000 (19:09 +0100)
app/Http/Controllers/Admin/FluidbookPublicationCrudController.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/CreateOperation.php [new file with mode: 0644]
app/Models/FluidbookPublication.php
resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_ue.blade.php [new file with mode: 0644]
resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php [new file with mode: 0644]

index 34a1810970453a687e52a2097b91bb6c0c9e7db5..35919e481674dea3ac9483655a520ffbc1ae3e8c 100644 (file)
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Admin;
 class FluidbookPublicationCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
 {
     use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
-       use \Cubist\Backpack\Magic\Operations\CreateOperation;
+       use \App\Http\Controllers\Admin\Operations\FluidbookPublication\CreateOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\PreviewOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\LinksOperation;
        use \App\Http\Controllers\Admin\Operations\FluidbookPublication\CompositionOperation;
diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CreateOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CreateOperation.php
new file mode 100644 (file)
index 0000000..a06dc2b
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\FluidbookPublication;
+
+use Illuminate\Support\Facades\Route;
+
+trait CreateOperation
+{
+
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
+
+    /**
+     * 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 setupCreateRoutes($segment, $routeName, $controller)
+    {
+        Route::get($segment . '/create/{region}', [
+            'as' => $routeName . '.createinregion',
+            'uses' => $controller . '@createInRegion',
+            'operation' => 'create',
+        ]);
+    }
+
+    public function createInRegion($region)
+    {
+        $this->crud->model->region = $region;
+        return $this->create();
+    }
+
+    /**
+     * Add the default settings, buttons, etc that this operation needs.
+     */
+    protected function setupCreateDefaults()
+    {
+        $this->crud->allowAccess('create');
+
+        $this->crud->operation('create', function () {
+            $this->crud->loadDefaultOperationSettingsFromConfig();
+            $this->crud->setupDefaultSaveActions();
+        });
+
+        $this->crud->operation('list', function () {
+            $this->crud->addButtonFromView('top', 'create_ue', 'fluidbook_publication.create_ue', 'end');
+            $this->crud->addButtonFromView('top', 'create_us', 'fluidbook_publication.create_us', 'end');
+        });
+    }
+
+
+}
index 7ba8f033216b47d45b60496a6ac2e05ec3b83308..b15b4b3ac6a297585ed9a4c6beb940199f7d3bec 100644 (file)
@@ -19,6 +19,7 @@ use App\Http\Controllers\Admin\Operations\ChangestatusOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\AuditOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\CloneOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\CompositionOperation;
+use App\Http\Controllers\Admin\Operations\FluidbookPublication\CreateOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\DeletefbOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\DownloadOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\EditOperation;
@@ -33,7 +34,6 @@ use App\Http\Controllers\Admin\Operations\FluidbookPublication\YSLOperation;
 use App\Jobs\FluidbookImagesPreprocess;
 use App\Jobs\FluidbookSocialImage;
 use App\Jobs\GenerateDeliveryThumbnailsPreview;
-use App\Models\Base\ToolboxSettingsModel;
 use App\Models\Base\ToolboxStatusModel;
 use App\Models\Traits\CheckHash;
 use App\Models\Traits\PublicationSettings;
@@ -43,16 +43,11 @@ use App\Models\Traits\ToolboxSettings;
 use App\Slack\Slack;
 use App\SubForms\Link\Base;
 use Cubist\Backpack\Magic\Fields\Checkbox;
-use Cubist\Backpack\Magic\Fields\ExternalPath;
 use Cubist\Backpack\Magic\Fields\FormBigSection;
 use Cubist\Backpack\Magic\Fields\FormSuperSection;
 use Cubist\Backpack\Magic\Fields\Hidden;
 use Cubist\Backpack\Magic\Fields\Integer;
 use Cubist\Backpack\Magic\Fields\ReadOnlyValue;
-use Cubist\Backpack\Magic\Fields\SelectFromArray;
-use Cubist\Backpack\Magic\Fields\Text;
-use Cubist\Backpack\Magic\Fields\UnstoredField;
-use Cubist\Backpack\Magic\Operations\CreateOperation;
 use Cubist\Excel\ExcelToArray;
 use Cubist\Util\ArrayUtil;
 use Cubist\Util\Files\Files;
@@ -60,9 +55,7 @@ use Cubist\Util\Graphics\Image;
 use Cubist\Util\Json;
 use Cubist\Util\Str;
 use Datetime;
-use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Support\Facades\Artisan;
-use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Log;
 
diff --git a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_ue.blade.php b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_ue.blade.php
new file mode 100644 (file)
index 0000000..8b28ccf
--- /dev/null
@@ -0,0 +1,5 @@
+@if ($crud->hasAccess('create'))
+    <a href="{{ url($crud->route.'/create/UE') }}" class="btn btn-primary" data-style="zoom-in"><span
+            class="ladda-label"><i
+                class="la la-plus"></i> {{__('Créer une publication')}}</span></a> &nbsp;
+@endif
diff --git a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/create_us.blade.php
new file mode 100644 (file)
index 0000000..e7968f7
--- /dev/null
@@ -0,0 +1,3 @@
+@if ($crud->hasAccess('create'))
+       <a href="{{ url($crud->route.'/create/US') }}" class="btn btn-primary" data-style="zoom-in"><span class="ladda-label"><i class="las la-flag-usa"></i> {{__('Créer une publication hébergée aux USA')}}</span></a>
+@endif