return true;
}
+ public function addOwnerClause($user)
+ {
+ if (!$this->model instanceof CubistMagicAbstractModel) {
+ return;
+ }
+ if ($this->model->canAdmin($user)) {
+ return;
+ }
+ $this->model->addOwnerClause($this,$user);
+ }
+
public function hasAccess($operation)
{
// First filter with standard backpack gate
} else {
$res = true;
}
-
- return true;
return $res;
}
use Backpack\CRUD\app\Http\Controllers\CrudController;
-use Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
-use Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
-use Backpack\ReviseOperation\ReviseOperation;
-use Cubist\Backpack\app\Http\Controllers\Operations\BulkPublishOperation;
-use Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
-use Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
-use Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
-use Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
-use Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+
+use Cubist\Backpack\app\Http\Controllers\Operations\ListOperation;
use Cubist\Backpack\app\Http\Controllers\Operations\MediaOperation;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
--- /dev/null
+<?php
+
+
+namespace Cubist\Backpack\app\Http\Controllers\Operations;
+
+
+trait ListOperation
+{
+ public function setupListOperation()
+ {
+ $this->crud->addOwnerClause(backpack_user());
+ }
+}
use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
use Cubist\Backpack\app\Magic\Models\CubistMagicTranslatableModel;
use Cubist\Backpack\app\Magic\Requests\CubistMagicRequest;
-use Cubist\Backpack\app\Magic\Requests\CubistMagicStoreRequest;
use Cubist\Backpack\app\Magic\Requests\CubistMagicUpdateRequest;
use Cubist\Backpack\CubistBackpackServiceProvider;
-use DebugBar\DebugBar;
use Gaspertrix\Backpack\DropzoneField\Traits\HandleAjaxMedia;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\App;
-use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Redirect;
-use Illuminate\Support\Facades\Route;
class CubistMagicController extends CubistCrudController
{
$this->crud->enablePersistentTable();
}
- $this->crud->allowAccess('revisions');
$this->crud->setEditView('cubist_back::edit');
if ($this->_nested) {
$this->crud->enableReorder('name', 4);
}
-// $this->crud->with('revisionHistory');
-
-
if ($this->_bulk) {
if ($model->translationEnabled()) {
$this->crud->addButton('bottom', 'bulk_translate', 'view', CubistBackpackServiceProvider::NAMESPACE . '::buttons.bulk_translate', 'begining');
use Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
use Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
use Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+use Cubist\Backpack\app\CubistCrudPanel;
use Cubist\Backpack\app\Http\Controllers\Operations\BulkPublishOperation;
use Backpack\ReviseOperation\ReviseOperation;
use Backpack\CRUD\app\Library\CrudPanel\CrudPanel;
protected $_operations = [];
public $timestamps = true;
- protected $_policy = null;
protected $_enableClone = true;
protected $_enableDeletion = true;
protected $_enableEdition = true;
return null !== $user && ($this->canAdmin($user) || $this->getAttribute($this->_ownerAttribute) === $user->id);
}
+ /**
+ * @param $crud CubistCrudPanel
+ * @param $user CubistMagicAuthenticatable
+ */
+ public function addOwnerClause($crud, $user)
+ {
+ $crud->addClause('where', $this->_ownerAttribute, $user->id);
+ }
+
/**
* @param $user CubistMagicAuthenticatable
* @return bool
return $this->canUpdate($user);
}
- public function getPolicyClass()
- {
- return $this->_policy;
- }
}