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;
class CubistCrudController extends CrudController
{
use ListOperation;
+ use InfosOperation;
use MediaOperation;
use AuthorizesRequests;
}
--- /dev/null
+<?php
+
+namespace Cubist\Backpack\Http\Controllers\Operations;
+
+use Illuminate\Support\Facades\Route;
+
+trait CloneEditOperation{
+ protected function setupBulkPublishRoutes($segment, $routeName, $controller)
+ {
+ Route::get($segment . '/{id}/clone-edit', [
+ 'as' => $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();
+ }
+}
class CubistMagicController extends CubistCrudController
{
use HandleAjaxMedia;
- use InfosOperation;
protected $_modelNamespace;
protected $_routeURL;
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;
$ops = $this->_operations;
if ($this->_enableCreation) {
$ops[] = CreateOperation::class;
+ $ops[] = CloneEditOperation::class;
}
if ($this->_enableEdition) {
$ops[] = UpdateOperation::class;