From 3d543b89027dd0f66f6966fb737d7d9dd7c96bd4 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 24 Feb 2023 13:59:22 +0100 Subject: [PATCH] wait #5456 @0.5 --- .../FluidbookPublication/CloneOperation.php | 9 ++++----- .../FluidbookPublication/DeletefbOperation.php | 16 ++++++++++------ app/Models/Base/ToolboxModel.php | 1 + app/Models/FluidbookPublication.php | 4 +--- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php index f14ed6d65..beec32851 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin\Operations\FluidbookPublication; +use Illuminate\Http\Client\Response; use Illuminate\Support\Facades\Route; trait CloneOperation @@ -42,19 +43,17 @@ trait CloneOperation * Create a duplicate of the current entry in the datatabase. * * @param int $id - * @return Response + * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function clone($id, $action) { $this->crud->hasAccessOrFail('clone'); - - $entry=$this->crud->model->findOrFail($id); + $entry = $this->crud->model->findOrFail($id); if ($action === 'complete') { $clonedEntry = $entry->replicate(); } else { $clonedEntry = $entry->replicateSettings(); } - - return (string)$clonedEntry->push(); + return redirect('/fluidbook-publication/' . $clonedEntry->id . '/edit'); } } diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/DeletefbOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/DeletefbOperation.php index 86ace0a02..be29e2445 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/DeletefbOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/DeletefbOperation.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin\Operations\FluidbookPublication; use App\Console\Commands\WorkshopMigration; use App\Models\FluidbookPublication; use Illuminate\Support\Facades\Route; + // __('!!Paramètres des fluidbooks') trait DeletefbOperation { @@ -43,15 +44,18 @@ trait DeletefbOperation }); } - public function _allowsDelete($entry=null) + public function _allowsDelete($entry = null) { - if(null===$entry){ - $entry=$this->crud->getEntry(); + if (null === $entry) { + $entry = $this->crud->getEntry(); + } + if (is_numeric($entry)) { + $entry = FluidbookPublication::withoutGlobalScopes()->find($entry); } - if(!$entry->allowsDelete()){ + if (!$entry->allowsDelete()) { return false; } - if (!FluidbookPublication::hasPermission($entry)) { + if (!FluidbookPublication::hasPermission($entry->id)) { return false; } return true; @@ -65,7 +69,7 @@ trait DeletefbOperation */ public function destroyfb($id) { - if (self::_allowsDelete($id)) { + if (!$this->_allowsDelete($id)) { abort(401); } diff --git a/app/Models/Base/ToolboxModel.php b/app/Models/Base/ToolboxModel.php index 9f58ee7f7..95d81fb84 100644 --- a/app/Models/Base/ToolboxModel.php +++ b/app/Models/Base/ToolboxModel.php @@ -41,6 +41,7 @@ class ToolboxModel extends CubistMagicAbstractModel if (null === $user) { return false; } + if ($user->hasPermissionTo(static::$_permissionBase . ':admin')) { return true; } diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 73d332633..436de7f29 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -459,7 +459,7 @@ class FluidbookPublication extends ToolboxSettingsModel if ($this->id < WorkshopMigration::WS3_BOOK_ID) { return false; } - if ($this->status >= 1) { + if ($this->status >= 0) { return false; } return true; @@ -535,6 +535,4 @@ class FluidbookPublication extends ToolboxSettingsModel } } } - - } -- 2.39.5