41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Requests\StudyMetadataUpdateRequest;
|
|
use App\Models\Enums\Permission;
|
|
use App\Models\Study;
|
|
|
|
class StudyMetadataController extends HashidControllerBase
|
|
{
|
|
public function view()
|
|
{
|
|
abort_unless(auth()->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::find($this->key);
|
|
$payload = array_trim_strings($request->validated());
|
|
$study->update($payload);
|
|
|
|
// return redirect()->route('staff.history.view', _h($this->key));
|
|
return redirect()->route('staff.meta.view', $study->hash);
|
|
}
|
|
}
|