adds logging and policies

This commit is contained in:
2026-02-03 11:47:08 +01:00
parent 9583b7030c
commit c693cde038
23 changed files with 2151 additions and 16 deletions

View File

@@ -7,8 +7,10 @@
use App\Http\Requests\Screening\UpdateScreeningRequest;
use App\Models\Category;
use App\Models\Screening;
use App\Services\ActivityLogger;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Inertia\Inertia;
use Inertia\Response;
@@ -23,6 +25,8 @@ public function store(Request $request): RedirectResponse
'user_id' => auth()->id(),
]);
ActivityLogger::log('screening_started', auth()->id());
return redirect()->route('screening.show', $screening);
}
@@ -44,8 +48,10 @@ public function update(UpdateScreeningRequest $request, Screening $screening): R
{
$validated = $request->validated();
$this->saveAnswers($screening, $validated['answers']);
$this->calculateAndUpdateScore($screening, $validated['answers']);
$this->saveAnswers($screening, Arr::get($validated, 'answers'));
$this->calculateAndUpdateScore($screening, Arr::get($validated, 'answers'));
ActivityLogger::log('screening_completed', auth()->id(), metadata: ['score' => $screening->score, 'passed' => $screening->passed]);
return redirect()->route('screening.result', $screening);
}