Admin: implementation of the 'is_selected' feature for candidates for interviews

This commit is contained in:
jeremy bayse
2026-04-16 19:08:52 +02:00
parent c4ab5c97b2
commit d6e5b44e47
7 changed files with 133 additions and 21 deletions

View File

@@ -26,6 +26,7 @@ Route::get('/dashboard', function () {
$allCandidates = Candidate::with(['attempts'])->get();
$stats = [
'total_candidates' => Candidate::count(),
'selected_candidates' => Candidate::where('is_selected', true)->count(),
'finished_tests' => Attempt::whereNotNull('finished_at')->count(),
'average_score' => round($allCandidates->avg('weighted_score') ?? 0, 1),
'best_score' => round($allCandidates->max('weighted_score') ?? 0, 1),
@@ -86,6 +87,7 @@ Route::middleware('auth')->group(function () {
Route::patch('/candidates/{candidate}/scores', [\App\Http\Controllers\CandidateController::class, 'updateScores'])->name('candidates.update-scores');
Route::patch('/candidates/{candidate}/position', [\App\Http\Controllers\CandidateController::class, 'updatePosition'])->name('candidates.update-position');
Route::patch('/candidates/{candidate}/tenant', [\App\Http\Controllers\CandidateController::class, 'updateTenant'])->name('candidates.update-tenant');
Route::patch('/candidates/{candidate}/toggle-selection', [\App\Http\Controllers\CandidateController::class, 'toggleSelection'])->name('candidates.toggle-selection');
Route::post('/candidates/{candidate}/analyze', [\App\Http\Controllers\AIAnalysisController::class, 'analyze'])->name('candidates.analyze');
Route::post('/candidates/{candidate}/reset-password', [\App\Http\Controllers\CandidateController::class, 'resetPassword'])->name('candidates.reset-password');
Route::get('/documents/{document}', [\App\Http\Controllers\DocumentController::class, 'show'])->name('documents.show');