]> _ Git - fluidbook-toolbox.git/commitdiff
wait #5456 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 24 Feb 2023 12:59:22 +0000 (13:59 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 24 Feb 2023 12:59:22 +0000 (13:59 +0100)
app/Http/Controllers/Admin/Operations/FluidbookPublication/CloneOperation.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/DeletefbOperation.php
app/Models/Base/ToolboxModel.php
app/Models/FluidbookPublication.php

index f14ed6d65699497e8b7d1b1b1f2b305c4e43b9f4..beec32851b7969ee5d8ffe74e5f31997953f9636 100644 (file)
@@ -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');
     }
 }
index 86ace0a02f3f744e13038118a37668e5140db421..be29e2445296d3b61792625a8671253a4f2763bb 100644 (file)
@@ -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);
         }
 
index 9f58ee7f741439b26a8c0938925e2bc510458c6a..95d81fb84313649eea5259a76aaabb94ef1ecaf2 100644 (file)
@@ -41,6 +41,7 @@ class ToolboxModel extends CubistMagicAbstractModel
         if (null === $user) {
             return false;
         }
+
         if ($user->hasPermissionTo(static::$_permissionBase . ':admin')) {
             return true;
         }
index 73d33263300868fef72bddf395bcca5787b11ff3..436de7f2904e61f631c1b290b440e158497829a5 100644 (file)
@@ -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
             }
         }
     }
-
-
 }