feat: implementation du role Gestionnaire RH et refonte de la gestion des offres

This commit is contained in:
jeremy bayse
2026-05-09 11:21:40 +02:00
parent 97a8b9443d
commit 9edf79e8ba
23 changed files with 1223 additions and 232 deletions

View File

@@ -13,7 +13,7 @@ class JobPositionController extends Controller
$this->authorizeAdmin();
return Inertia::render('Admin/JobPositions/Index', [
'jobPositions' => JobPosition::with(['tenant', 'quizzes'])->get(),
'jobPositions' => JobPosition::with(['tenant', 'quizzes'])->withCount('candidates')->get(),
'tenants' => \App\Models\Tenant::orderBy('name')->get(),
'quizzes' => \App\Models\Quiz::all()
]);
@@ -33,6 +33,7 @@ class JobPositionController extends Controller
'tenant_id' => 'nullable|exists:tenants,id',
'quiz_ids' => 'nullable|array',
'quiz_ids.*' => 'exists:quizzes,id',
'expires_at' => 'nullable|date',
]);
$jobPosition = JobPosition::create([
@@ -42,7 +43,8 @@ class JobPositionController extends Controller
'ai_prompt' => $request->ai_prompt,
'ai_bypass_base_prompt' => $request->boolean('ai_bypass_base_prompt'),
'fpt_metadata' => $request->fpt_metadata,
'tenant_id' => auth()->user()->isSuperAdmin() ? $request->tenant_id : auth()->user()->tenant_id,
'tenant_id' => (auth()->user()->isSuperAdmin() || auth()->user()->isGestionnaireRH()) ? $request->tenant_id : auth()->user()->tenant_id,
'expires_at' => $request->expires_at,
]);
$jobPosition->quizzes()->sync($request->input('quiz_ids', []));
@@ -64,6 +66,7 @@ class JobPositionController extends Controller
'tenant_id' => 'nullable|exists:tenants,id',
'quiz_ids' => 'nullable|array',
'quiz_ids.*' => 'exists:quizzes,id',
'expires_at' => 'nullable|date',
]);
$jobPosition->update([
@@ -73,7 +76,8 @@ class JobPositionController extends Controller
'ai_prompt' => $request->ai_prompt,
'ai_bypass_base_prompt' => $request->boolean('ai_bypass_base_prompt'),
'fpt_metadata' => $request->fpt_metadata,
'tenant_id' => auth()->user()->isSuperAdmin() ? $request->tenant_id : auth()->user()->tenant_id,
'tenant_id' => (auth()->user()->isSuperAdmin() || auth()->user()->isGestionnaireRH()) ? $request->tenant_id : auth()->user()->tenant_id,
'expires_at' => $request->expires_at,
]);
$jobPosition->quizzes()->sync($request->input('quiz_ids', []));