]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5396 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 17 Aug 2022 11:56:52 +0000 (13:56 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 17 Aug 2022 11:56:52 +0000 (13:56 +0200)
app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php [new file with mode: 0644]
app/Models/FluidbookPublication.php
public/packages/fluidbook/toolbox/css/style.less
resources/views/vendor/backpack/crud/buttons/fluidbook_publication/preview.blade.php [new file with mode: 0644]

diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php
new file mode 100644 (file)
index 0000000..a6a3c30
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\FluidbookPublication;
+
+use App\Http\Middleware\CheckIfAdmin;
+use App\Models\FluidbookPublication;
+use Illuminate\Support\Facades\Route;
+
+trait PreviewOperation
+{
+    protected function setupPreviewRoutes($segment, $routeName, $controller)
+    {
+        Route::match(['get'], $segment . '/{id}_{hash}/preview', $controller . '@preview')->withoutMiddleware([CheckIfAdmin::class]);
+    }
+
+    protected function setupPreviewDefaults()
+    {
+        $this->crud->addButtonFromView('line', 'preview', 'fluidbook_publication.preview', 'end');
+    }
+
+    public function preview($id, $hash)
+    {
+        $fluidbook = FluidbookPublication::where('id', $id)->where('hash', $hash)->first();
+        if (null === $fluidbook) {
+            abort(404);
+        }
+    }
+}
index 134942a8e7b6abb47b4b89de9f8cb1fbe9ae7847..3469e3bb01b36389e3155a22a5dcc05064f3c65b 100644 (file)
@@ -9,10 +9,12 @@ use App\Fields\FluidbookLocale;
 use App\Fields\FluidbookTitle;
 use App\Fields\User;
 use App\Http\Controllers\Admin\Operations\FluidbookPublication\CompositionOperation;
+use App\Http\Controllers\Admin\Operations\FluidbookPublication\DownloadOperation;
+use App\Http\Controllers\Admin\Operations\FluidbookPublication\PreviewOperation;
+use App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation;
 use App\Models\Base\ToolboxModel;
 use App\Models\Traits\PublicationSettings;
 use App\Models\Traits\SCORMVersionTrait;
-use App\Widgets;
 use Backpack\CRUD\app\Library\Widget;
 use Cubist\Backpack\Magic\Fields\Datetime;
 use Cubist\Backpack\Magic\Fields\FormBigSection;
@@ -20,7 +22,6 @@ use Cubist\Backpack\Magic\Fields\FormSuperSection;
 use Cubist\Backpack\Magic\Fields\Hidden;
 use Cubist\Backpack\Magic\Fields\Integer;
 use Cubist\Backpack\Magic\Fields\SelectFromArray;
-use Cubist\Backpack\Magic\Fields\Textarea;
 
 class FluidbookPublication extends ToolboxModel
 {
@@ -35,7 +36,7 @@ class FluidbookPublication extends ToolboxModel
 
     protected static $_docs = [];
 
-    protected $_operations = [CompositionOperation::class];
+    protected $_operations = [PreviewOperation::class, CompositionOperation::class, DownloadOperation::class, StatsOperation::class];
 
     protected $casts = ['composition' => 'array'];
 
index 726bdfb25074920198aadfbace57d90e0748382d..d4392b6896f5f039921ea826614f233ab75def4f 100644 (file)
@@ -298,7 +298,7 @@ a, a.btn-link, a:not([href]):not([tabindex]) {
 }
 
 .btn-link {
-    .la {
+    .la, .las {
         position: relative;
         top: 4px;
         left: -4px;
diff --git a/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/preview.blade.php b/resources/views/vendor/backpack/crud/buttons/fluidbook_publication/preview.blade.php
new file mode 100644 (file)
index 0000000..8d41b3c
--- /dev/null
@@ -0,0 +1,4 @@
+<a class="btn btn-sm btn-link" target="_blank" href="{{$crud->route}}/{{$entry->id}}_{{$entry->hash}}/preview"
+   data-toggle="tooltip"
+   title="{{__('Voir le fluidbook')}}"><i class="las la-eye"></i> {{__('Voir')}}
+</a>