/** * @param EntryStoreRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(EntryStoreRequest $request) { $input = $request->only(['title', 'body']); $input['user_id'] = $this->guard->user()->id; $this->entry->addEntry($input); return redirect()->route('admin.entry.index'); }
/** * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle($request, Closure $next) { $result = $this->entry->getEntryAbility($request->route()->getParameter('entry')); if (!$result) { return redirect()->route('admin.entry.index')->with('message', '投稿者以外は編集できません'); } return $next($request); }
/** * Handle an incoming request. * * @param $request * @param Closure $next * @param string $for * * @return \Illuminate\Http\RedirectResponse */ public function handle($request, Closure $next, $for = 'admin') { if (!$this->entry->getEntry($request->route()->getParameter('entry'))) { $route = $this->redirectToAdmin; if ($for !== 'admin') { $route = $this->redirectTo; } return redirect()->route($route); } return $next($request); }
/** * @param $id * * @return \Illuminate\View\View */ public function show($id) { $attributes = ['entry' => $this->entry->getEntry($id), 'comments' => $this->comment->getCommentsByEntry($id)]; return view('entry.show', $attributes); }