user()->may(Permission::StudyMetadataView), 403); $this->decodeKeys(); $study = Study::find($this->key); return view('staff.meta.view', compact('study')); } public function edit() { abort_unless(auth()->user()->may(Permission::StudyMetadataEdit), 403); $this->decodeKeys(); $study = Study::find($this->key); return view('staff.meta.edit', compact('study')); } public function save(StudyMetadataUpdateRequest $request) { abort_unless(auth()->user()->may(Permission::StudyMetadataEdit), 403); $this->decodeKeys(); $study = Study::findOrFail($this->key); $payload = array_trim_strings($request->validated()); if ($request->has('cancel_read')) { $payload['report_status'] = ReportStatus::Cancelled->value; unset($payload['cancel_read']); } $study->update($payload); // return redirect()->route('staff.history.view', _h($this->key)); return view('content.pages.close-window'); } }