feat: infrastructure assets management with warranty tracking and EAN lookup integration

This commit is contained in:
jeremy bayse
2026-04-09 21:51:43 +02:00
parent 3544c77bd1
commit b28c56c94c
46 changed files with 2961 additions and 414 deletions

View File

@@ -34,6 +34,8 @@ class ContratController extends Controller
}
})->when($request->fournisseur_id, function ($q, $fournisseurId) {
$q->where('fournisseur_id', $fournisseurId);
})->when($request->commune_id, function ($q, $communeId) {
$q->where('commune_id', $communeId);
})->when($request->statut, function ($q, $statut) {
$q->where('statut', $statut);
});
@@ -50,6 +52,7 @@ class ContratController extends Controller
'contrats' => $contrats,
'services' => $request->user()->hasRole('admin') ? Service::all() : Service::where('id', $request->user()->service_id)->get(),
'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(),
'communes' => \App\Models\Commune::orderBy('nom')->get(),
'filters' => $request->only(['search', 'service_id', 'fournisseur_id', 'statut']),
'statuts' => Contrat::STATUTS_LABELS,
]);
@@ -62,6 +65,7 @@ class ContratController extends Controller
return Inertia::render('Contrats/Create', [
'services' => $request->user()->hasRole('admin') ? Service::all() : Service::where('id', $request->user()->service_id)->get(),
'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(),
'communes' => \App\Models\Commune::orderBy('nom')->get(),
'statuts' => Contrat::STATUTS_LABELS,
]);
}
@@ -102,7 +106,7 @@ class ContratController extends Controller
{
$this->authorize('view', $contrat);
$contrat->load(['fournisseur', 'service', 'piecesJointes.user']);
$contrat->load(['fournisseur', 'service', 'commune', 'piecesJointes.user']);
$contrat->append(['est_proche_echeance', 'est_en_retard']);
return Inertia::render('Contrats/Show', [
@@ -118,6 +122,7 @@ class ContratController extends Controller
'contrat' => $contrat,
'services' => $request->user()->hasRole('admin') ? Service::all() : Service::where('id', $request->user()->service_id)->get(),
'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(),
'communes' => \App\Models\Commune::orderBy('nom')->get(),
'statuts' => Contrat::STATUTS_LABELS,
]);
}