]> _ Git - fluidbook-toolbox.git/commitdiff
wait #4632 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 30 Jul 2021 10:02:38 +0000 (12:02 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 30 Jul 2021 10:02:38 +0000 (12:02 +0200)
app/Http/Controllers/API/FluidbookThemeAPIController.php
app/Jobs/GenerateThemePreview.php
app/Models/FluidbookPublication.php
app/Models/FluidbookTheme.php

index f310505b5a7399394cd9f43c73124c4ca11568f5..90dc97cae156ae9b9ea36e938ec6f72249292d98 100644 (file)
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\API;
 
 
 use App\Http\Controllers\Controller;
+use App\Jobs\GenerateThemePreview;
 use App\Models\FluidbookTheme;
 use Cubist\Backpack\Magic\Fields\Color;
 use Cubist\Backpack\Magic\Fields\Files;
@@ -126,6 +127,9 @@ class FluidbookThemeAPIController extends Controller
         $newtheme->name .= ' (copy)';
         $newtheme->owner = Auth::id();
         $newtheme->push();
+
+        copy(GenerateThemePreview::getPreviewPath($id),GenerateThemePreview::getPreviewPath($newtheme->id));
+
         return $newtheme->id;
     }
 
index 332b1df383c81019a2cabb9f898c810ee2b2da5a..fb576807b775dd0a5e2d92dda3132d8607c517b5 100644 (file)
@@ -43,16 +43,19 @@ class GenerateThemePreview implements ShouldQueue
      */
     public function handle()
     {
-        $dest=storage_path('themes') . '/' . $this->theme->getIdValue() . '.jpg';
-
         $cl = new CommandLine('node');
         $cl->setArg(null, resource_path('js/social_screenshot/social_screenshot.js'));
         $cl->setArg('width', 1024);
         $cl->setArg('height', 768);
         $cl->setArg('delay', 4);
         $cl->setArg('scale', 1);
-        $cl->setArg('dest', $dest);
-        $cl->setArg('url', $this->theme->getPreviewURL(['shortLoading'=>1]));
+        $cl->setArg('dest', self::getPreviewPath($this->theme->getIdValue()));
+        $cl->setArg('url', $this->theme->getPreviewURL(['shortLoading' => 1]));
         $cl->execute();
     }
+
+    public static function getPreviewPath($themeId)
+    {
+        return storage_path('themes') . '/' . $themeId . '.jpg';
+    }
 }
index 643ab62b70ba00883b0afaf74cd16df18f9ded1e..7a4cfe5332afb23c62a775d38dfacc8f0cf24b7f 100644 (file)
@@ -9,6 +9,7 @@ use App\Fields\FluidbookSignature;
 use App\Fields\User;
 use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
 use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Support\Facades\Auth;
 
 class FluidbookPublication extends CubistMagicAbstractModel
 {
@@ -23,10 +24,10 @@ class FluidbookPublication extends CubistMagicAbstractModel
 
     public static function addOwnerClause(Builder $builder)
     {
-        if (backpack_user()->hasPermissionTo('fluidbook-quote:admin')) {
+        if (Auth::user()->hasPermissionTo('fluidbook-quote:admin')) {
             return;
         }
-        $builder->where('owner', backpack_user()->id);
+        $builder->where('owner', Auth::id());
     }
 
     public function setFields()
@@ -40,7 +41,7 @@ class FluidbookPublication extends CubistMagicAbstractModel
                 'can' => 'quiz:admin',
                 'column_attribute' => 'companyWithNameOnTwoLines',
                 'attribute' => 'companyWithName',
-                'default' => backpack_user()->id]
+                'default' => Auth::id()]
         );
 
         $this->setSettingsFields();
@@ -1435,7 +1436,7 @@ class FluidbookPublication extends CubistMagicAbstractModel
             'name' => 'gtag_additional_code',
             'type' => 'Code',
             'label' => __('Code additionnel Google Tag Manager'),
-            'hint'=>__('Code HTML'),
+            'hint' => __('Code HTML'),
             'default' => '',
             'translatable' => false,
         ]);
@@ -1446,7 +1447,7 @@ class FluidbookPublication extends CubistMagicAbstractModel
             'name' => 'googleAnalyticsCustom',
             'type' => 'Code',
             'label' => __('Code Stats personnalisé (placé avant fermeture de head)'),
-            'hint'=>__('Code HTML'),
+            'hint' => __('Code HTML'),
             'default' => '',
             'translatable' => false,
         ]);
@@ -1454,7 +1455,7 @@ class FluidbookPublication extends CubistMagicAbstractModel
             'name' => 'statsCustom',
             'type' => 'Code',
             'label' => __('Code Stats personnalisé (placé avant fermeture du body)'),
-            'hint'=>__('Code HTML'),
+            'hint' => __('Code HTML'),
             'default' => '',
             'translatable' => false,
         ]);
index 38f15d79fe9985ab482869998e46ff1c9aee7716..670f1e71165d50f39dcdcfcb60dbb53632304423 100644 (file)
@@ -11,6 +11,7 @@ use Cubist\Backpack\Magic\Fields\Color;
 use Cubist\Backpack\Magic\Fields\Files;
 use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
 use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Spatie\MediaLibrary\MediaCollections\Models\Media;
 
@@ -32,10 +33,13 @@ class FluidbookTheme extends CubistMagicAbstractModel
 
     public static function addOwnerClause(Builder $builder)
     {
-        if (backpack_user()->hasPermissionTo('fluidbook-quote:admin')) {
+        if (null === backpack_user()) {
             return;
         }
-        $builder->where('owner', backpack_user()->id);
+        if (Auth::user()->hasPermissionTo('fluidbook-quote:admin')) {
+            return;
+        }
+        $builder->where('owner', Auth::id());
     }
 
     public function setFields()
@@ -48,7 +52,8 @@ class FluidbookTheme extends CubistMagicAbstractModel
                 'column' => true,
                 'can' => 'fluidbook-publication:admin',
                 'column_attribute' => 'companyWithNameOnTwoLines',
-                'attribute' => 'companyWithName']
+                'attribute' => 'companyWithName',
+                'default' => Auth::id()]
         );
 
         $this->addField('name', 'Text', __('Nom'), ['column' => true]);