]> _ Git - odl.git/commitdiff
wip #4804 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 19 Jan 2022 12:24:20 +0000 (13:24 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 19 Jan 2022 12:24:20 +0000 (13:24 +0100)
app/Http/Controllers/Admin/ToolsController.php
app/Http/Controllers/Tools/Compile.php [new file with mode: 0644]
app/Http/Controllers/Tools/FluidbookConvert.php [deleted file]
app/Jobs/ProducePackage.php
app/Models/Publication.php
resources/views/vendor/backpack/base/dashboard.blade.php

index 270ea73da3add0d61699a897ff6c0379c22de9e8..6f057ea4dc9779ee1a5830539299428477718350 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers\Admin;
 
+use App\Http\Controllers\Tools\Compile;
 use App\Http\Controllers\Tools\FluidbookConvert;
 use App\Http\Controllers\Tools\FluidbookPreview;
 use App\Http\Controllers\Tools\PackageDownload;
@@ -10,6 +11,7 @@ class ToolsController {
     use FluidbookConvert;
     use FluidbookPreview;
     use PackageDownload;
+    use Compile;
 
     public function index($tool, $args = '') {
 
diff --git a/app/Http/Controllers/Tools/Compile.php b/app/Http/Controllers/Tools/Compile.php
new file mode 100644 (file)
index 0000000..def4192
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Http\Controllers\Tools;
+
+use App\Jobs\ProducePackage;
+
+trait Compile
+{
+    protected function compileandpreview($args)
+    {
+        ProducePackage::precomile();
+        return redirect(backpack_url('/front/index.html'));
+    }
+}
diff --git a/app/Http/Controllers/Tools/FluidbookConvert.php b/app/Http/Controllers/Tools/FluidbookConvert.php
deleted file mode 100644 (file)
index 2ff33f0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace App\Http\Controllers\Tools;
-
-use App\Jobs\ProcessFluidbook;
-
-trait FluidbookConvert
-{
-    protected function fluidbookconvert($args)
-    {
-        ProcessFluidbook::dispatchSync();
-        return view('tools.fluidbookconvert');
-    }
-}
index 96bb1b80bb22194f5ffe1e01ed7e80f3ee8e594f..5b3511005b64c6e9d9ff9afc6d6e10b88dfd93b7 100644 (file)
@@ -11,9 +11,11 @@ use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
+use Illuminate\Support\Facades\Artisan;
 use Illuminate\View\View;
 
-class ProducePackage implements ShouldQueue, ShouldBeUnique {
+class ProducePackage implements ShouldQueue, ShouldBeUnique
+{
     /**
      * @var string
      */
@@ -27,7 +29,10 @@ class ProducePackage implements ShouldQueue, ShouldBeUnique {
 
     use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
 
-    public function handle() {
+    public function handle()
+    {
+
+        self::precomile();
 
         $this->dir = storage_path('package');
         $this->vdir = new VirtualDirectory($this->dir);
@@ -52,7 +57,8 @@ class ProducePackage implements ShouldQueue, ShouldBeUnique {
     /**
      * @param $view View
      */
-    protected function _render($view) {
+    protected function _render($view)
+    {
         $html = $view->render();
 
         // Parse html to find storage files that need to be copied in the final package
@@ -86,10 +92,17 @@ class ProducePackage implements ShouldQueue, ShouldBeUnique {
             '/front/' => './',
             '\/storage' => '.\/storage',
             '/storage/' => './storage/',
-            '../storage/'=>'./storage/',
+            '../storage/' => './storage/',
         ];
         return str_replace(array_keys($replace), array_values($replace), $html);
     }
 
+    public static function precomile()
+    {
+        ProcessFluidbook::dispatchSync();
+        SearchIndex::dispatchSync();
+        Artisan::call('media-library:regenerate --only-missing');
+    }
+
 
 }
index 95bcebaa7665c22c636bb58d3d5c87071453a364..3043913044cd2b24aa0bb9e376f5b3ba8d5ab321 100644 (file)
@@ -32,24 +32,24 @@ class Publication extends CubistMagicAbstractModel
         $this->addField('raccourcis', BunchOfFieldsMultiple::class, '', ['tab' => 'Raccourcis', 'bunch' => HomeShortcut::class]);
     }
 
-    /**
-     * @param $controller CubistMagicController
-     */
-    public function setupSaveActions($controller, $type)
-    {
-        $controller->crud->removeSaveAction('save_and_edit');
-        $controller->crud->addSaveAction([
-            'name' => 'save_and_compile',
-            'button_text' => 'Enregistrer et compiler',
-            'visible' => function ($crud) {
-                return true;
-            },
-            'redirect' => function ($crud, $request, $itemId) {
-                return backpack_url('tools/fluidbookconvert');
-            },
-        ]);
-        $controller->crud->orderSaveAction('save_and_compile', 1);
-    }
+//    /**
+//     * @param $controller CubistMagicController
+//     */
+//    public function setupSaveActions($controller, $type)
+//    {
+//        $controller->crud->removeSaveAction('save_and_edit');
+//        $controller->crud->addSaveAction([
+//            'name' => 'save_and_compile',
+//            'button_text' => 'Enregistrer et compiler',
+//            'visible' => function ($crud) {
+//                return true;
+//            },
+//            'redirect' => function ($crud, $request, $itemId) {
+//                return backpack_url('tools/fluidbookconvert');
+//            },
+//        ]);
+//        $controller->crud->orderSaveAction('save_and_compile', 1);
+//    }
 
     public function setup()
     {
index 41d6c3539d4cf43f55716f647ec67f4c5d734426..6649070ba383017b2ba76a7d01056727a56a97c6 100644 (file)
@@ -7,8 +7,8 @@
             'type'        => 'jumbotron',
             'heading'     => 'Bienvenue !',
             'content'     => 'Bienvenue dans l\'interface de création de la réponse. Utilisez les fonctions dans la barre latérale pour éditer les contenus. Cliquer sur le bouton ci-dessous pour visualiser la réponse.',
-            'button_link' => backpack_url('/front/index.html'),
-            'button_text' => 'Prévisualisation de la réponse',
+            'button_link' => backpack_url('tools/compileandpreview'),
+            'button_text' => 'Compiler et prévisualiser',
         ];
         }
                if(can('package')){