]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6487 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 20 Nov 2023 17:27:49 +0000 (18:27 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 20 Nov 2023 17:27:49 +0000 (18:27 +0100)
app/Fluidbook/Compiler/Compiler.php
app/Http/Controllers/Admin/Operations/ChangeownerOperation.php
app/Jobs/FluidbookCollectionDownload.php
app/Models/Base/ToolboxModel.php
app/Models/FluidbookCollection.php

index 0889dda6aafcbbafe5e3774f0739ff2b6ce15666..806e8da6fed70a2d8dd4c02987657b9ffa169809 100644 (file)
@@ -580,7 +580,7 @@ class Compiler extends Base implements CompilerInterface
 
     protected function checkPageLabels()
     {
-        
+
     }
 
 
@@ -1199,7 +1199,7 @@ class Compiler extends Base implements CompilerInterface
 
         $this->config->scorm_variables = $this->fluidbookSettings->scorm_variables = $this->parseVariables($this->fluidbookSettings->scorm_variables);
         if ($this->fluidbookSettings->scorm_quizdata) {
-            $this->config->scorm_quizdata = ExcelToArray::excelToArray($this->wdir . '/' . $this->fluidbookSettings->scorm_quizdata);
+            $this->config->scorm_quizdata = ExcelToArray::excelToArrayRaw($this->wdir . '/' . $this->fluidbookSettings->scorm_quizdata);
         }
     }
 
index 452edd28b64649d1e0e5ff62f002b0b476f2834e..6b5889edc7232623dc8bd7c142507f2605719584 100644 (file)
@@ -21,7 +21,7 @@ trait ChangeownerOperation
             abort(401);
         }
         $instance = $class::find($id);
-        $instance->owner = $owner;
+        $instance->setOwner($owner);
         $instance->save();
         Alert::add('success', __('Propriétaire modifié'))->flash();
         return redirect(backpack_url($instance->getOption('name')));
index a8c51837572def6a1eb59f7c2235a823b03df2e6..6829c83d67f284fd89105fe30fdf85c5e3bb0a67 100644 (file)
@@ -205,7 +205,7 @@ class FluidbookCollectionDownload extends DownloadBase
         if (in_array('en', $this->langs)) {
             $default = 'en';
         } else {
-            $default = $this->langs[0];
+            $default = $this->langs[0] ?? 'en';
         }
 
         if ($scorm) {
index 601ba4b07e8d7933884add9fd8da9a774394a446..dd1097c5a83105abb83a39993c56f51b7276b4b6 100644 (file)
@@ -126,7 +126,7 @@ class ToolboxModel extends CubistMagicAbstractModel
 
     public function allowsUpdate()
     {
-        if (!can(static::$_permissionBase.':write')) {
+        if (!can(static::$_permissionBase . ':write')) {
             return false;
         }
         return true;
@@ -144,14 +144,18 @@ class ToolboxModel extends CubistMagicAbstractModel
 
     public function allowsPreview()
     {
-        if (can(static::$_permissionBase.':write')) {
+        if (can(static::$_permissionBase . ':write')) {
             return true;
         }
-        if (!can(static::$_permissionBase.':read')) {
+        if (!can(static::$_permissionBase . ':read')) {
             return false;
         }
         return true;
     }
 
+    public function setOwner($owner)
+    {
+        $this->{static::$_ownerAttribute} = $owner;
+    }
 
 }
index 2194cc2b7212235727b93827e7c3a857a3974aec..048daf5261e8568fc65c9447bc7f35127e92f219 100644 (file)
@@ -8,6 +8,7 @@ use App\Http\Controllers\Admin\Operations\ChangeownerOperation;
 use App\Http\Controllers\Admin\Operations\ChangestatusOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookCollection\DownloadOperation;
 use App\Http\Controllers\Admin\Operations\FluidbookCollection\PreviewOperation;
+use App\Jobs\RefreshUsersTree;
 use App\Models\Base\ToolboxModel;
 use App\Models\Base\ToolboxStatusModel;
 use App\Models\Traits\CheckHash;
@@ -118,11 +119,26 @@ class FluidbookCollection extends ToolboxStatusModel
     {
         parent::setStatus($newStatus);
 
-
         foreach ($this->getPageData()->publications as $publication) {
             $fb = FluidbookPublication::withoutGlobalScopes()->find($publication['fluidbook']);
             $fb->setStatus($newStatus);
+            $fb->setOwner($this->owner);
             $fb->save();
         }
+
+        RefreshUsersTree::dispatchSync();
+    }
+
+    public function setOwner($owner)
+    {
+        parent::setOwner($owner);
+
+        foreach ($this->getPageData()->publications as $publication) {
+            $fb = FluidbookPublication::withoutGlobalScopes()->find($publication['fluidbook']);
+            $fb->setOwner($owner);
+            $fb->save();
+        }
+
+        RefreshUsersTree::dispatchSync();
     }
 }