site ?? request()->project; if ($parent) { $query->whereHasMorph('parent', [get_class($parent)], function ($q) use ($parent) { return $q->whereId($parent->id); }); } return $query; } /** * Crud index view * * @param \Kwaadpepper\CrudPolicies\Http\Requests\CrudIndexRequest $request * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory */ public function index(CrudIndexRequest $request) { /** @var \Illuminate\View\View */ $view = $this->crudIndex($request); if ($request->ajax()) { return $view; } return view('files.index', $view->getData()); } /** * Crud create view * * @param \Kwaadpepper\CrudPolicies\Http\Requests\CrudIndexRequest $request * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory */ public function create(CrudIndexRequest $request) { /** @var \Illuminate\View\View */ $view = $this->crudCreate($request); return view('files.create', $view->getData()); } /** * Before store model middleware * * @param \App\Models\File $file * @return void */ public function storeModel(File &$file) { $file->parent()->associate(request()->site ?? request()->project); } }