From c81cc869cab7150ee0b1954cea3cf426eaef02e7 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 14 Jun 2022 10:19:00 +0200 Subject: [PATCH] wip #4210 @0.5 --- .../Http/Controllers/CubistCrudController.php | 2 ++ .../Operations/CloneEditOperation.php | 26 +++++++++++++++++++ .../Controllers/CubistMagicController.php | 1 - .../Magic/Models/CubistMagicAbstractModel.php | 2 ++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/app/Http/Controllers/Operations/CloneEditOperation.php diff --git a/src/app/Http/Controllers/CubistCrudController.php b/src/app/Http/Controllers/CubistCrudController.php index ca0b4ac..cf5213f 100644 --- a/src/app/Http/Controllers/CubistCrudController.php +++ b/src/app/Http/Controllers/CubistCrudController.php @@ -6,6 +6,7 @@ namespace Cubist\Backpack\Http\Controllers; use Backpack\CRUD\app\Http\Controllers\CrudController; +use Cubist\Backpack\Http\Controllers\Operations\InfosOperation; use Cubist\Backpack\Http\Controllers\Operations\MediaOperation; use Cubist\Backpack\Magic\Operations\ListOperation; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; @@ -13,6 +14,7 @@ use Illuminate\Foundation\Auth\Access\AuthorizesRequests; class CubistCrudController extends CrudController { use ListOperation; + use InfosOperation; use MediaOperation; use AuthorizesRequests; } diff --git a/src/app/Http/Controllers/Operations/CloneEditOperation.php b/src/app/Http/Controllers/Operations/CloneEditOperation.php new file mode 100644 index 0000000..be7c970 --- /dev/null +++ b/src/app/Http/Controllers/Operations/CloneEditOperation.php @@ -0,0 +1,26 @@ + $routeName . '.cloneEdit', + 'uses' => $controller . '@cloneEdit', + 'operation' => 'cloneEdit', + ]); + } + + protected function cloneEdit($id){ + dd(Route::current()); + $this->crud->hasAccessOrFail('create'); + $clonedEntry = $this->crud->model->findOrFail($id)->replicate(); + $clonedEntry->owner=backpack_user()->id; + $clonedEntry->save(); + $newid=$clonedEntry->id; + return response()->redirectTo(); + } +} diff --git a/src/app/Magic/Controllers/CubistMagicController.php b/src/app/Magic/Controllers/CubistMagicController.php index 4f0c522..1834896 100644 --- a/src/app/Magic/Controllers/CubistMagicController.php +++ b/src/app/Magic/Controllers/CubistMagicController.php @@ -25,7 +25,6 @@ use Symfony\Component\HttpFoundation\File\UploadedFile; class CubistMagicController extends CubistCrudController { use HandleAjaxMedia; - use InfosOperation; protected $_modelNamespace; protected $_routeURL; diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index 50de830..262a070 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -5,6 +5,7 @@ namespace Cubist\Backpack\Magic\Models; use Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation; use Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation; use Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation; +use Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation; use Cubist\Backpack\Magic\Fields\Composed; use Cubist\Backpack\Magic\Fields\Files; use Cubist\Backpack\Magic\Fields\FilesOrURL; @@ -430,6 +431,7 @@ class CubistMagicAbstractModel extends Model implements HasMedia $ops = $this->_operations; if ($this->_enableCreation) { $ops[] = CreateOperation::class; + $ops[] = CloneEditOperation::class; } if ($this->_enableEdition) { $ops[] = UpdateOperation::class; -- 2.39.5