--- /dev/null
+<?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);
+ }
+ }
+}
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;
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
{
protected static $_docs = [];
- protected $_operations = [CompositionOperation::class];
+ protected $_operations = [PreviewOperation::class, CompositionOperation::class, DownloadOperation::class, StatsOperation::class];
protected $casts = ['composition' => 'array'];