feat: link quizzes to job positions and filter candidate dashboard accordingly
This commit is contained in:
@@ -13,8 +13,9 @@ class JobPositionController extends Controller
|
||||
$this->authorizeAdmin();
|
||||
|
||||
return Inertia::render('Admin/JobPositions/Index', [
|
||||
'jobPositions' => JobPosition::with('tenant')->get(),
|
||||
'tenants' => \App\Models\Tenant::orderBy('name')->get()
|
||||
'jobPositions' => JobPosition::with(['tenant', 'quizzes'])->get(),
|
||||
'tenants' => \App\Models\Tenant::orderBy('name')->get(),
|
||||
'quizzes' => \App\Models\Quiz::all()
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -28,9 +29,11 @@ class JobPositionController extends Controller
|
||||
'requirements' => 'nullable|array',
|
||||
'ai_prompt' => 'nullable|string',
|
||||
'tenant_id' => 'nullable|exists:tenants,id',
|
||||
'quiz_ids' => 'nullable|array',
|
||||
'quiz_ids.*' => 'exists:quizzes,id',
|
||||
]);
|
||||
|
||||
JobPosition::create([
|
||||
$jobPosition = JobPosition::create([
|
||||
'title' => $request->title,
|
||||
'description' => $request->description,
|
||||
'requirements' => $request->requirements,
|
||||
@@ -38,6 +41,10 @@ class JobPositionController extends Controller
|
||||
'tenant_id' => auth()->user()->isSuperAdmin() ? $request->tenant_id : auth()->user()->tenant_id,
|
||||
]);
|
||||
|
||||
if ($request->has('quiz_ids')) {
|
||||
$jobPosition->quizzes()->sync($request->quiz_ids);
|
||||
}
|
||||
|
||||
return back()->with('success', 'Fiche de poste créée avec succès.');
|
||||
}
|
||||
|
||||
@@ -51,6 +58,8 @@ class JobPositionController extends Controller
|
||||
'requirements' => 'nullable|array',
|
||||
'ai_prompt' => 'nullable|string',
|
||||
'tenant_id' => 'nullable|exists:tenants,id',
|
||||
'quiz_ids' => 'nullable|array',
|
||||
'quiz_ids.*' => 'exists:quizzes,id',
|
||||
]);
|
||||
|
||||
$jobPosition->update([
|
||||
@@ -61,6 +70,10 @@ class JobPositionController extends Controller
|
||||
'tenant_id' => auth()->user()->isSuperAdmin() ? $request->tenant_id : auth()->user()->tenant_id,
|
||||
]);
|
||||
|
||||
if ($request->has('quiz_ids')) {
|
||||
$jobPosition->quizzes()->sync($request->quiz_ids);
|
||||
}
|
||||
|
||||
return back()->with('success', 'Fiche de poste mise à jour.');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user