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;
use FluidbookConvert;
use FluidbookPreview;
use PackageDownload;
+ use Compile;
public function index($tool, $args = '') {
--- /dev/null
+<?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'));
+ }
+}
+++ /dev/null
-<?php
-
-namespace App\Http\Controllers\Tools;
-
-use App\Jobs\ProcessFluidbook;
-
-trait FluidbookConvert
-{
- protected function fluidbookconvert($args)
- {
- ProcessFluidbook::dispatchSync();
- return view('tools.fluidbookconvert');
- }
-}
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
*/
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
- public function handle() {
+ public function handle()
+ {
+
+ self::precomile();
$this->dir = storage_path('package');
$this->vdir = new VirtualDirectory($this->dir);
/**
* @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
'/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');
+ }
+
}
$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()
{
'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')){