From 9b668933e4cef61f1763284e55218edafa1b9191 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 20 Nov 2023 18:27:49 +0100 Subject: [PATCH] wait #6487 @1.5 --- app/Fluidbook/Compiler/Compiler.php | 4 ++-- .../Admin/Operations/ChangeownerOperation.php | 2 +- app/Jobs/FluidbookCollectionDownload.php | 2 +- app/Models/Base/ToolboxModel.php | 10 +++++++--- app/Models/FluidbookCollection.php | 18 +++++++++++++++++- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/app/Fluidbook/Compiler/Compiler.php b/app/Fluidbook/Compiler/Compiler.php index 0889dda6a..806e8da6f 100644 --- a/app/Fluidbook/Compiler/Compiler.php +++ b/app/Fluidbook/Compiler/Compiler.php @@ -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); } } diff --git a/app/Http/Controllers/Admin/Operations/ChangeownerOperation.php b/app/Http/Controllers/Admin/Operations/ChangeownerOperation.php index 452edd28b..6b5889edc 100644 --- a/app/Http/Controllers/Admin/Operations/ChangeownerOperation.php +++ b/app/Http/Controllers/Admin/Operations/ChangeownerOperation.php @@ -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'))); diff --git a/app/Jobs/FluidbookCollectionDownload.php b/app/Jobs/FluidbookCollectionDownload.php index a8c518375..6829c83d6 100644 --- a/app/Jobs/FluidbookCollectionDownload.php +++ b/app/Jobs/FluidbookCollectionDownload.php @@ -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) { diff --git a/app/Models/Base/ToolboxModel.php b/app/Models/Base/ToolboxModel.php index 601ba4b07..dd1097c5a 100644 --- a/app/Models/Base/ToolboxModel.php +++ b/app/Models/Base/ToolboxModel.php @@ -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; + } } diff --git a/app/Models/FluidbookCollection.php b/app/Models/FluidbookCollection.php index 2194cc2b7..048daf526 100644 --- a/app/Models/FluidbookCollection.php +++ b/app/Models/FluidbookCollection.php @@ -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(); } } -- 2.39.5