/** * Update the specified resource in storage. * * @param Requests\PaperRequest $request * @param Department $department * @param Paper $paper * @return \Illuminate\Http\Response */ public function update(Requests\PaperRequest $request, Department $department, Paper $paper) { if ($paper->canEdit() && $paper->isAuthor()) { $this->paper->setPaper($paper); $paperData = ['category_id' => $request->get('category_id'), 'title' => $request->get('title'), 'description' => $request->get('description'), 'authors' => $request->get('authors'), 'updated_at' => Carbon::now()]; if ($request->file('paper')) { $paperData['source'] = $this->paper->buildFileName(); $this->paper->deleteFile(); $this->paper->upload($paperData['source']); } $paper->update($paperData); event(new PaperWasUpdated($paper)); return redirect()->action('PaperController@index', [$department->keyword])->with('success', 'paper-updated'); } return redirect()->back()->with('error', 'access-denied'); }