From b28c56c94c8a437db1e3efc558dd4d6ae4a46de9 Mon Sep 17 00:00:00 2001 From: jeremy bayse Date: Thu, 9 Apr 2026 21:51:43 +0200 Subject: [PATCH] feat: infrastructure assets management with warranty tracking and EAN lookup integration --- app/Http/Controllers/AssetController.php | 148 ++++ app/Http/Controllers/CalendarController.php | 104 +++ app/Http/Controllers/CommandeController.php | 11 +- app/Http/Controllers/CommuneController.php | 54 ++ app/Http/Controllers/ContratController.php | 7 +- app/Http/Controllers/LicenceController.php | 118 ++++ app/Models/Asset.php | 71 ++ app/Models/Commande.php | 12 +- app/Models/Commune.php | 21 + app/Models/Contrat.php | 11 + app/Models/Licence.php | 60 ++ app/Policies/AssetPolicy.php | 53 ++ app/Policies/LicencePolicy.php | 53 ++ composer.lock | 649 +++++++++++------- ...date_type_enum_in_pieces_jointes_table.php | 16 +- ...026_04_09_174018_create_communes_table.php | 29 + ...ne_id_to_commandes_and_contrats_tables.php | 28 + ...ne_id_to_commandes_and_contrats_tables.php | 36 + ...026_04_09_185857_create_licences_table.php | 39 ++ .../2026_04_09_192108_create_assets_table.php | 38 + ...192904_add_commande_id_to_assets_table.php | 28 + ...09_194501_add_code_ean_to_assets_table.php | 28 + database/seeders/CommuneSeeder.php | 43 ++ database/seeders/DatabaseSeeder.php | 1 + package-lock.json | 78 ++- package.json | 6 + public/images/logo_agglo.png | Bin 0 -> 14852 bytes public/images/logo_agglo_20-bleu.png | Bin 0 -> 190462 bytes resources/js/Layouts/AuthenticatedLayout.vue | 35 + resources/js/Pages/Assets/Form.vue | 267 +++++++ resources/js/Pages/Assets/Index.vue | 158 +++++ resources/js/Pages/Assets/Show.vue | 151 ++++ resources/js/Pages/Calendar/Index.vue | 110 +++ resources/js/Pages/Commandes/Create.vue | 11 + resources/js/Pages/Commandes/Edit.vue | 10 + resources/js/Pages/Commandes/Index.vue | 21 +- resources/js/Pages/Commandes/Show.vue | 33 + resources/js/Pages/Communes/Index.vue | 82 +++ resources/js/Pages/Contrats/Create.vue | 11 + resources/js/Pages/Contrats/Edit.vue | 11 + resources/js/Pages/Contrats/Index.vue | 18 +- resources/js/Pages/Contrats/Show.vue | 18 + resources/js/Pages/Licences/Form.vue | 152 ++++ resources/js/Pages/Licences/Index.vue | 141 ++++ resources/views/pdf/commande.blade.php | 387 +++++++---- routes/web.php | 17 + 46 files changed, 2961 insertions(+), 414 deletions(-) create mode 100644 app/Http/Controllers/AssetController.php create mode 100644 app/Http/Controllers/CalendarController.php create mode 100644 app/Http/Controllers/CommuneController.php create mode 100644 app/Http/Controllers/LicenceController.php create mode 100644 app/Models/Asset.php create mode 100644 app/Models/Commune.php create mode 100644 app/Models/Licence.php create mode 100644 app/Policies/AssetPolicy.php create mode 100644 app/Policies/LicencePolicy.php create mode 100644 database/migrations/2026_04_09_174018_create_communes_table.php create mode 100644 database/migrations/2026_04_09_174031_add_commune_id_to_commandes_and_contrats_tables.php create mode 100644 database/migrations/2026_04_09_174034_add_commune_id_to_commandes_and_contrats_tables.php create mode 100644 database/migrations/2026_04_09_185857_create_licences_table.php create mode 100644 database/migrations/2026_04_09_192108_create_assets_table.php create mode 100644 database/migrations/2026_04_09_192904_add_commande_id_to_assets_table.php create mode 100644 database/migrations/2026_04_09_194501_add_code_ean_to_assets_table.php create mode 100644 database/seeders/CommuneSeeder.php create mode 100644 public/images/logo_agglo.png create mode 100644 public/images/logo_agglo_20-bleu.png create mode 100644 resources/js/Pages/Assets/Form.vue create mode 100644 resources/js/Pages/Assets/Index.vue create mode 100644 resources/js/Pages/Assets/Show.vue create mode 100644 resources/js/Pages/Calendar/Index.vue create mode 100644 resources/js/Pages/Communes/Index.vue create mode 100644 resources/js/Pages/Licences/Form.vue create mode 100644 resources/js/Pages/Licences/Index.vue diff --git a/app/Http/Controllers/AssetController.php b/app/Http/Controllers/AssetController.php new file mode 100644 index 0000000..36033cd --- /dev/null +++ b/app/Http/Controllers/AssetController.php @@ -0,0 +1,148 @@ +authorize('viewAny', Asset::class); + + $query = Asset::with('commune'); + + if ($request->search) { + $query->where(function ($q) use ($request) { + $q->where('nom', 'like', "%{$request->search}%") + ->orWhere('numero_serie', 'like', "%{$request->search}%") + ->orWhere('type', 'like', "%{$request->search}%"); + }); + } + + if ($request->type) { + $query->where('type', $request->type); + } + + if ($request->commune_id) { + $query->where('commune_id', $request->commune_id); + } + + $assets = $query->latest()->paginate(20)->withQueryString(); + + return Inertia::render('Assets/Index', [ + 'assets' => $assets, + 'filters' => $request->only(['search', 'type', 'commune_id']), + 'communes' => Commune::orderBy('nom')->get(), + 'types' => Asset::distinct()->pluck('type'), + ]); + } + + public function create(): Response + { + $this->authorize('create', Asset::class); + + return Inertia::render('Assets/Form', [ + 'communes' => Commune::orderBy('nom')->get(), + 'commandes' => \App\Models\Commande::select('id', 'numero_commande', 'objet')->latest()->get(), + ]); + } + + public function store(Request $request): RedirectResponse + { + $this->authorize('create', Asset::class); + + $validated = $request->validate([ + 'nom' => 'required|string|max:255', + 'type' => 'required|string|max:100', + 'code_ean' => 'nullable|string|max:50', + 'marque' => 'nullable|string|max:100', + 'modele' => 'nullable|string|max:100', + 'numero_serie' => 'nullable|string|max:100', + 'emplacement' => 'nullable|string|max:255', + 'commune_id' => 'nullable|exists:communes,id', + 'commande_id' => 'nullable|exists:commandes,id', + 'date_achat' => 'nullable|date', + 'date_fin_garantie' => 'nullable|date', + 'statut' => 'required|in:en_service,hors_service,en_reparation,stock', + 'notes' => 'nullable|string', + ]); + + Asset::create($validated); + + return redirect()->route('assets.index') + ->with('success', 'Asset ajouté avec succès.'); + } + + public function show(Asset $asset): Response + { + $this->authorize('view', $asset); + + $asset->load(['commune', 'commande']); + + return Inertia::render('Assets/Show', [ + 'asset' => $asset, + ]); + } + + public function edit(Asset $asset): Response + { + $this->authorize('update', $asset); + + return Inertia::render('Assets/Form', [ + 'asset' => $asset, + 'communes' => Commune::orderBy('nom')->get(), + 'commandes' => \App\Models\Commande::select('id', 'numero_commande', 'objet')->latest()->get(), + ]); + } + + public function update(Request $request, Asset $asset): RedirectResponse + { + $this->authorize('update', $asset); + + $validated = $request->validate([ + 'nom' => 'required|string|max:255', + 'type' => 'required|string|max:100', + 'code_ean' => 'nullable|string|max:50', + 'marque' => 'nullable|string|max:100', + 'modele' => 'nullable|string|max:100', + 'numero_serie' => 'nullable|string|max:100', + 'emplacement' => 'nullable|string|max:255', + 'commune_id' => 'nullable|exists:communes,id', + 'commande_id' => 'nullable|exists:commandes,id', + 'date_achat' => 'nullable|date', + 'date_fin_garantie' => 'nullable|date', + 'statut' => 'required|in:en_service,hors_service,en_reparation,stock', + 'notes' => 'nullable|string', + ]); + + $asset->update($validated); + + return redirect()->route('assets.index') + ->with('success', 'Asset mis à jour.'); + } + + public function destroy(Asset $asset): RedirectResponse + { + $this->authorize('delete', $asset); + + $asset->delete(); + + return redirect()->route('assets.index') + ->with('success', 'Asset supprimé.'); + } + + public function lookupEan($ean) + { + $response = \Illuminate\Support\Facades\Http::get("https://api.upcitemdb.com/prod/trial/lookup", [ + 'upc' => $ean + ]); + + return response()->json($response->json(), $response->status()); + } +} diff --git a/app/Http/Controllers/CalendarController.php b/app/Http/Controllers/CalendarController.php new file mode 100644 index 0000000..0c87d2c --- /dev/null +++ b/app/Http/Controllers/CalendarController.php @@ -0,0 +1,104 @@ +whereNotNull('date_echeance') + ->get(); + + foreach ($contrats as $contrat) { + $events[] = [ + 'id' => 'contrat-' . $contrat->id, + 'title' => '📑 ' . $contrat->titre . ' (' . ($contrat->fournisseur->nom ?? 'N/A') . ')', + 'start' => $contrat->date_echeance->toDateString(), + 'url' => route('contrats.show', $contrat->id), + 'backgroundColor' => $this->getContratColor($contrat), + 'extendedProps' => [ + 'type' => 'Contrat', + 'service' => $contrat->service->nom ?? 'N/A', + ] + ]; + } + + // 2. Licenses expirations + $licences = Licence::with(['fournisseur']) + ->whereNotNull('date_expiration') + ->get(); + + foreach ($licences as $licence) { + $events[] = [ + 'id' => 'licence-' . $licence->id, + 'title' => '🔑 ' . $licence->nom . ' (' . ($licence->fournisseur->nom ?? 'N/A') . ')', + 'start' => $licence->date_expiration->toDateString(), + 'url' => route('licences.index'), // Link to index or show if implemented + 'backgroundColor' => '#3498db', + 'extendedProps' => [ + 'type' => 'Licence', + 'usage' => $licence->nombre_sieges_utilises . '/' . $licence->nombre_sieges_total, + ] + ]; + } + + // 3. Domain expirations + $domaines = Domaine::whereNotNull('date_echeance')->get(); + foreach ($domaines as $domaine) { + $events[] = [ + 'id' => 'domaine-' . $domaine->id, + 'title' => '🌐 ' . $domaine->nom, + 'start' => $domaine->date_echeance->toDateString(), + 'url' => route('domaines.index'), + 'backgroundColor' => '#9b59b6', + 'extendedProps' => [ + 'type' => 'Domaine', + ] + ]; + } + + // 4. Asset warranties + $assets = \App\Models\Asset::whereNotNull('date_fin_garantie')->get(); + foreach ($assets as $asset) { + $events[] = [ + 'id' => 'asset-' . $asset->id, + 'title' => '🛠️ Garantie : ' . $asset->nom . ' (' . $asset->type . ')', + 'start' => $asset->date_fin_garantie->toDateString(), + 'url' => route('assets.show', $asset->id), + 'backgroundColor' => $asset->garantie_expiree ? '#e74c3c' : '#f1c40f', + 'extendedProps' => [ + 'type' => 'Asset (Garantie)', + 'statut' => $asset->statut, + ] + ]; + } + + return response()->json($events); + } + + private function getContratColor($contrat): string + { + if ($contrat->statut === 'expire') return '#e74c3c'; + if ($contrat->est_proche_echeance) return '#f39c12'; + return '#27ae60'; + } +} diff --git a/app/Http/Controllers/CommandeController.php b/app/Http/Controllers/CommandeController.php index ce689d3..138cde0 100644 --- a/app/Http/Controllers/CommandeController.php +++ b/app/Http/Controllers/CommandeController.php @@ -20,6 +20,7 @@ class CommandeController extends Controller $query = Commande::with(['service', 'fournisseur', 'demandeur']) ->when($request->service_id, fn ($q) => $q->parService($request->service_id)) ->when($request->fournisseur_id, fn ($q) => $q->parFournisseur($request->fournisseur_id)) + ->when($request->commune_id, fn ($q) => $q->where('commune_id', $request->commune_id)) ->when($request->statut, fn ($q) => $q->parStatut($request->statut)) ->when($request->priorite, fn ($q) => $q->where('priorite', $request->priorite)) ->when($request->date_from, fn ($q) => $q->whereDate('date_demande', '>=', $request->date_from)) @@ -38,6 +39,7 @@ class CommandeController extends Controller 'commandes' => $commandes, 'services' => Service::all(), 'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(), + 'communes' => \App\Models\Commune::orderBy('nom')->get(), 'filters' => $request->only(['search', 'service_id', 'fournisseur_id', 'statut', 'priorite', 'date_from', 'date_to']), ]); } @@ -49,6 +51,7 @@ class CommandeController extends Controller return Inertia::render('Commandes/Create', [ 'services' => Service::all(), 'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(), + 'communes' => \App\Models\Commune::orderBy('nom')->get(), 'categories' => Categorie::active()->orderBy('ordre')->get(), 'articles' => Article::active()->with('categorie')->orderBy('designation')->get(), ]); @@ -61,6 +64,7 @@ class CommandeController extends Controller $validated = $request->validate([ 'service_id' => 'required|exists:services,id', 'fournisseur_id' => 'nullable|exists:fournisseurs,id', + 'commune_id' => 'nullable|exists:communes,id', 'objet' => 'required|string|max:255', 'description' => 'nullable|string', 'justification' => 'nullable|string', @@ -106,10 +110,11 @@ class CommandeController extends Controller $this->authorize('view', $commande); $commande->load([ - 'service', 'fournisseur', 'demandeur', 'validateur', 'acheteur', + 'service', 'fournisseur', 'demandeur', 'validateur', 'acheteur', 'commune', 'lignes.categorie', 'historique.user', 'piecesJointes.user', + 'assets', ]); $transitionsDisponibles = collect(Commande::STATUT_TRANSITIONS[$commande->statut] ?? []) @@ -132,6 +137,7 @@ class CommandeController extends Controller 'commande' => $commande, 'services' => Service::all(), 'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(), + 'communes' => \App\Models\Commune::orderBy('nom')->get(), 'categories' => Categorie::active()->orderBy('ordre')->get(), 'articles' => Article::active()->with('categorie')->orderBy('designation')->get(), ]); @@ -144,6 +150,7 @@ class CommandeController extends Controller $validated = $request->validate([ 'service_id' => 'required|exists:services,id', 'fournisseur_id' => 'nullable|exists:fournisseurs,id', + 'commune_id' => 'nullable|exists:communes,id', 'objet' => 'required|string|max:255', 'description' => 'nullable|string', 'justification' => 'nullable|string', @@ -234,7 +241,7 @@ class CommandeController extends Controller $this->authorize('view', $commande); $commande->load([ - 'service', 'fournisseur', 'demandeur', 'validateur', 'acheteur', + 'service', 'fournisseur', 'demandeur', 'validateur', 'acheteur', 'commune', 'lignes.categorie', ]); diff --git a/app/Http/Controllers/CommuneController.php b/app/Http/Controllers/CommuneController.php new file mode 100644 index 0000000..34f0240 --- /dev/null +++ b/app/Http/Controllers/CommuneController.php @@ -0,0 +1,54 @@ + Commune::withCount('commandes', 'contrats')->get(), + ]); + } + + public function store(Request $request): RedirectResponse + { + $validated = $request->validate([ + 'nom' => 'required|string|max:100|unique:communes,nom', + 'code_postal' => 'nullable|string|max:10', + ]); + + Commune::create($validated); + + return back()->with('success', 'Commune créée.'); + } + + public function update(Request $request, Commune $commune): RedirectResponse + { + $validated = $request->validate([ + 'nom' => 'required|string|max:100|unique:communes,nom,' . $commune->id, + 'code_postal' => 'nullable|string|max:10', + ]); + + $commune->update($validated); + + return back()->with('success', 'Commune mise à jour.'); + } + + public function destroy(Commune $commune): RedirectResponse + { + if ($commune->commandes()->exists() || $commune->contrats()->exists()) { + return back()->with('error', 'Impossible de supprimer une commune liée à des commandes ou des contrats.'); + } + + $commune->delete(); + + return back()->with('success', 'Commune supprimée.'); + } +} diff --git a/app/Http/Controllers/ContratController.php b/app/Http/Controllers/ContratController.php index 4d4c755..2e09ab3 100644 --- a/app/Http/Controllers/ContratController.php +++ b/app/Http/Controllers/ContratController.php @@ -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, ]); } diff --git a/app/Http/Controllers/LicenceController.php b/app/Http/Controllers/LicenceController.php new file mode 100644 index 0000000..2fa5dfe --- /dev/null +++ b/app/Http/Controllers/LicenceController.php @@ -0,0 +1,118 @@ +authorize('viewAny', Licence::class); + + $query = Licence::with(['fournisseur', 'contrat', 'commune']); + + if (!$request->user()->hasRole('admin')) { + $query->where('commune_id', $request->user()->commune_id); + } + + $licences = $query->orderBy('date_expiration', 'asc')->paginate(20)->withQueryString(); + + return Inertia::render('Licences/Index', [ + 'licences' => $licences, + 'filters' => $request->only(['search', 'commune_id', 'fournisseur_id']), + 'communes' => Commune::orderBy('nom')->get(), + 'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(), + ]); + } + + public function create(): Response + { + $this->authorize('create', Licence::class); + + return Inertia::render('Licences/Form', [ + 'contrats' => Contrat::orderBy('titre')->get(), + 'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(), + 'communes' => Commune::orderBy('nom')->get(), + ]); + } + + public function store(Request $request): RedirectResponse + { + $this->authorize('create', Licence::class); + + $validated = $request->validate([ + 'nom' => 'required|string|max:255', + 'contrat_id' => 'nullable|exists:contrats,id', + 'fournisseur_id' => 'required|exists:fournisseurs,id', + 'commune_id' => 'nullable|exists:communes,id', + 'cle_licence' => 'nullable|string', + 'nombre_sieges_total' => 'required|integer|min:1', + 'nombre_sieges_utilises' => 'required|integer|min:0', + 'date_acquisition' => 'nullable|date', + 'date_expiration' => 'nullable|date', + 'type_licence' => 'required|in:perpétuelle,abonnement', + 'statut' => 'required|in:active,expirée,résiliée', + 'notes' => 'nullable|string', + ]); + + Licence::create($validated); + + return redirect()->route('licences.index') + ->with('success', 'Licence créée avec succès.'); + } + + public function edit(Licence $licence): Response + { + $this->authorize('update', $licence); + + return Inertia::render('Licences/Form', [ + 'licence' => $licence, + 'contrats' => Contrat::orderBy('titre')->get(), + 'fournisseurs' => Fournisseur::active()->orderBy('nom')->get(), + 'communes' => Commune::orderBy('nom')->get(), + ]); + } + + public function update(Request $request, Licence $licence): RedirectResponse + { + $this->authorize('update', $licence); + + $validated = $request->validate([ + 'nom' => 'required|string|max:255', + 'contrat_id' => 'nullable|exists:contrats,id', + 'fournisseur_id' => 'required|exists:fournisseurs,id', + 'commune_id' => 'nullable|exists:communes,id', + 'cle_licence' => 'nullable|string', + 'nombre_sieges_total' => 'required|integer|min:1', + 'nombre_sieges_utilises' => 'required|integer|min:0', + 'date_acquisition' => 'nullable|date', + 'date_expiration' => 'nullable|date', + 'type_licence' => 'required|in:perpétuelle,abonnement', + 'statut' => 'required|in:active,expirée,résiliée', + 'notes' => 'nullable|string', + ]); + + $licence->update($validated); + + return redirect()->route('licences.index') + ->with('success', 'Licence mise à jour.'); + } + + public function destroy(Licence $licence): RedirectResponse + { + $this->authorize('delete', $licence); + + $licence->delete(); + + return redirect()->route('licences.index') + ->with('success', 'Licence supprimée.'); + } +} diff --git a/app/Models/Asset.php b/app/Models/Asset.php new file mode 100644 index 0000000..2b13f2b --- /dev/null +++ b/app/Models/Asset.php @@ -0,0 +1,71 @@ + 'date', + 'date_fin_garantie' => 'date', + ]; + + public function commune(): BelongsTo + { + return $this->belongsTo(Commune::class); + } + + public function commande(): BelongsTo + { + return $this->belongsTo(Commande::class); + } + + public function getEstSousGarantieAttribute(): bool + { + if (!$this->date_fin_garantie) { + return false; + } + + return Carbon::now()->isBefore($this->date_fin_garantie); + } + + public function getGarantieExpireeAttribute(): bool + { + if (!$this->date_fin_garantie) { + return false; + } + + return Carbon::now()->isAfter($this->date_fin_garantie); + } + + public function getEstProcheExpirationGarantieAttribute(): bool + { + if (!$this->date_fin_garantie || $this->garantie_expiree) { + return false; + } + + return Carbon::now()->diffInDays($this->date_fin_garantie, false) <= 30; + } +} diff --git a/app/Models/Commande.php b/app/Models/Commande.php index 8819e04..116afa4 100644 --- a/app/Models/Commande.php +++ b/app/Models/Commande.php @@ -14,7 +14,7 @@ class Commande extends Model use SoftDeletes; protected $fillable = [ - 'numero_commande', 'service_id', 'fournisseur_id', 'user_id', + 'numero_commande', 'service_id', 'fournisseur_id', 'user_id', 'commune_id', 'validateur_id', 'acheteur_id', 'objet', 'description', 'justification', 'statut', 'priorite', 'reference_fournisseur', 'imputation_budgetaire', 'montant_ht', 'montant_ttc', @@ -98,11 +98,21 @@ class Commande extends Model return $this->belongsTo(User::class, 'user_id'); } + public function commune(): BelongsTo + { + return $this->belongsTo(Commune::class); + } + public function validateur(): BelongsTo { return $this->belongsTo(User::class, 'validateur_id'); } + public function assets(): HasMany + { + return $this->hasMany(Asset::class); + } + public function acheteur(): BelongsTo { return $this->belongsTo(User::class, 'acheteur_id'); diff --git a/app/Models/Commune.php b/app/Models/Commune.php new file mode 100644 index 0000000..bcad813 --- /dev/null +++ b/app/Models/Commune.php @@ -0,0 +1,21 @@ +hasMany(Commande::class); + } + + public function contrats(): HasMany + { + return $this->hasMany(Contrat::class); + } +} diff --git a/app/Models/Contrat.php b/app/Models/Contrat.php index 242a2b9..e8a42a6 100644 --- a/app/Models/Contrat.php +++ b/app/Models/Contrat.php @@ -17,6 +17,7 @@ class Contrat extends Model 'description', 'fournisseur_id', 'service_id', + 'commune_id', 'date_debut', 'date_echeance', 'statut', @@ -47,11 +48,21 @@ class Contrat extends Model return $this->belongsTo(Service::class); } + public function commune(): BelongsTo + { + return $this->belongsTo(Commune::class); + } + public function piecesJointes(): HasMany { return $this->hasMany(PieceJointe::class)->orderByDesc('created_at'); } + public function licences(): HasMany + { + return $this->hasMany(Licence::class); + } + // Un contrat est considéré "proche d'expiration" si l'échéance est dans moins de 30 jours (ou selon son préavis) public function getEstProcheEcheanceAttribute(): bool { diff --git a/app/Models/Licence.php b/app/Models/Licence.php new file mode 100644 index 0000000..0f1a497 --- /dev/null +++ b/app/Models/Licence.php @@ -0,0 +1,60 @@ + 'date', + 'date_expiration' => 'date', + 'cle_licence' => 'encrypted', // Encrypted storage for license keys + ]; + + public function contrat(): BelongsTo + { + return $this->belongsTo(Contrat::class); + } + + public function fournisseur(): BelongsTo + { + return $this->belongsTo(Fournisseur::class); + } + + public function commune(): BelongsTo + { + return $this->belongsTo(Commune::class); + } + + /** + * Get the usage rate as a percentage. + */ + public function getTauxUtilisationAttribute(): float + { + if ($this->nombre_sieges_total <= 0) { + return 0; + } + + return round(($this->nombre_sieges_utilises / $this->nombre_sieges_total) * 100, 2); + } +} diff --git a/app/Policies/AssetPolicy.php b/app/Policies/AssetPolicy.php new file mode 100644 index 0000000..12c7d6c --- /dev/null +++ b/app/Policies/AssetPolicy.php @@ -0,0 +1,53 @@ +hasRole('admin')) return true; + return $user->commune_id === $asset->commune_id; + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return true; + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Asset $asset): bool + { + if ($user->hasRole('admin')) return true; + return $user->commune_id === $asset->commune_id; + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Asset $asset): bool + { + if ($user->hasRole('admin')) return true; + return $user->commune_id === $asset->commune_id; + } +} diff --git a/app/Policies/LicencePolicy.php b/app/Policies/LicencePolicy.php new file mode 100644 index 0000000..9998ebe --- /dev/null +++ b/app/Policies/LicencePolicy.php @@ -0,0 +1,53 @@ +hasRole('admin')) return true; + return $user->commune_id === $licence->commune_id; + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return true; // Simple users can create + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, Licence $licence): bool + { + if ($user->hasRole('admin')) return true; + return $user->commune_id === $licence->commune_id; + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, Licence $licence): bool + { + if ($user->hasRole('admin')) return true; + return $user->commune_id === $licence->commune_id; + } +} diff --git a/composer.lock b/composer.lock index da25a37..9a43eaf 100644 --- a/composer.lock +++ b/composer.lock @@ -1287,16 +1287,16 @@ }, { "name": "inertiajs/inertia-laravel", - "version": "v2.0.22", + "version": "v2.0.23", "source": { "type": "git", "url": "https://github.com/inertiajs/inertia-laravel.git", - "reference": "4d5849328d4c64231f886d1422fdc945882f9094" + "reference": "20438dc5a0f3008965ccaa96e990d03116102d80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/4d5849328d4c64231f886d1422fdc945882f9094", - "reference": "4d5849328d4c64231f886d1422fdc945882f9094", + "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/20438dc5a0f3008965ccaa96e990d03116102d80", + "reference": "20438dc5a0f3008965ccaa96e990d03116102d80", "shasum": "" }, "require": { @@ -1354,9 +1354,9 @@ ], "support": { "issues": "https://github.com/inertiajs/inertia-laravel/issues", - "source": "https://github.com/inertiajs/inertia-laravel/tree/v2.0.22" + "source": "https://github.com/inertiajs/inertia-laravel/tree/v2.0.23" }, - "time": "2026-03-11T15:51:16+00:00" + "time": "2026-04-07T14:01:31+00:00" }, { "name": "io-developer/php-whois", @@ -1422,16 +1422,16 @@ }, { "name": "laravel/framework", - "version": "v13.3.0", + "version": "v13.4.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "118b7063c44a2f3421d1646f5ddf08defcfd1db3" + "reference": "912de244f88a69742b76e8a2807f6765947776da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/118b7063c44a2f3421d1646f5ddf08defcfd1db3", - "reference": "118b7063c44a2f3421d1646f5ddf08defcfd1db3", + "url": "https://api.github.com/repos/laravel/framework/zipball/912de244f88a69742b76e8a2807f6765947776da", + "reference": "912de244f88a69742b76e8a2807f6765947776da", "shasum": "" }, "require": { @@ -1640,7 +1640,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-04-01T15:39:53+00:00" + "time": "2026-04-07T13:38:26+00:00" }, { "name": "laravel/prompts", @@ -1766,16 +1766,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v2.0.10", + "version": "v2.0.11", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669" + "reference": "d1af40ac4a6ccc12bd062a7184f63c9995a63bdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/870fc81d2f879903dfc5b60bf8a0f94a1609e669", - "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/d1af40ac4a6ccc12bd062a7184f63c9995a63bdd", + "reference": "d1af40ac4a6ccc12bd062a7184f63c9995a63bdd", "shasum": "" }, "require": { @@ -1823,7 +1823,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2026-02-20T19:59:49+00:00" + "time": "2026-04-07T13:32:18+00:00" }, { "name": "laravel/tinker", @@ -2625,16 +2625,16 @@ }, { "name": "nesbot/carbon", - "version": "3.11.3", + "version": "3.11.4", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "6a7e652845bb018c668220c2a545aded8594fbbf" + "reference": "e890471a3494740f7d9326d72ce6a8c559ffee60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/6a7e652845bb018c668220c2a545aded8594fbbf", - "reference": "6a7e652845bb018c668220c2a545aded8594fbbf", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/e890471a3494740f7d9326d72ce6a8c559ffee60", + "reference": "e890471a3494740f7d9326d72ce6a8c559ffee60", "shasum": "" }, "require": { @@ -2726,7 +2726,7 @@ "type": "tidelift" } ], - "time": "2026-03-11T17:23:39+00:00" + "time": "2026-04-07T09:57:54+00:00" }, { "name": "nette/schema", @@ -4029,16 +4029,16 @@ }, { "name": "spatie/laravel-permission", - "version": "7.2.4", + "version": "7.3.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "0a8ab4b84dc5efe23be9ddcd77951e10030c452d" + "reference": "5272955119759cd217e84e8bbac19443c305ebc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/0a8ab4b84dc5efe23be9ddcd77951e10030c452d", - "reference": "0a8ab4b84dc5efe23be9ddcd77951e10030c452d", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/5272955119759cd217e84e8bbac19443c305ebc3", + "reference": "5272955119759cd217e84e8bbac19443c305ebc3", "shasum": "" }, "require": { @@ -4046,7 +4046,7 @@ "illuminate/container": "^12.0|^13.0", "illuminate/contracts": "^12.0|^13.0", "illuminate/database": "^12.0|^13.0", - "php": "^8.4", + "php": "^8.3", "spatie/laravel-package-tools": "^1.0" }, "require-dev": { @@ -4104,7 +4104,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/7.2.4" + "source": "https://github.com/spatie/laravel-permission/tree/7.3.0" }, "funding": [ { @@ -4112,25 +4112,26 @@ "type": "github" } ], - "time": "2026-03-17T22:57:08+00:00" + "time": "2026-04-07T15:19:42+00:00" }, { "name": "symfony/clock", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3" + "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3", - "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3", + "url": "https://api.github.com/repos/symfony/clock/zipball/674fa3b98e21531dd040e613479f5f6fa8f32111", + "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111", "shasum": "" }, "require": { - "php": ">=8.4", - "psr/clock": "^1.0" + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" }, "provide": { "psr/clock-implementation": "1.0" @@ -4169,7 +4170,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v8.0.8" + "source": "https://github.com/symfony/clock/tree/v7.4.8" }, "funding": [ { @@ -4189,43 +4190,51 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/console", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "5b66d385dc58f69652e56f78a4184615e3f2b7f7" + "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/5b66d385dc58f69652e56f78a4184615e3f2b7f7", - "reference": "5b66d385dc58f69652e56f78a4184615e3f2b7f7", + "url": "https://api.github.com/repos/symfony/console/zipball/1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707", + "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707", "shasum": "" }, "require": { - "php": ">=8.4", - "symfony/polyfill-mbstring": "^1.0", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.4|^8.0" + "symfony/string": "^7.2|^8.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/event-dispatcher": "^7.4|^8.0", - "symfony/http-foundation": "^7.4|^8.0", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/lock": "^7.4|^8.0", - "symfony/messenger": "^7.4|^8.0", - "symfony/process": "^7.4|^8.0", - "symfony/stopwatch": "^7.4|^8.0", - "symfony/var-dumper": "^7.4|^8.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4259,7 +4268,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v8.0.8" + "source": "https://github.com/symfony/console/tree/v7.4.8" }, "funding": [ { @@ -4279,24 +4288,24 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-30T13:54:39+00:00" }, { "name": "symfony/css-selector", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed" + "reference": "b055f228a4178a1d6774909903905e3475f3eac8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed", - "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/b055f228a4178a1d6774909903905e3475f3eac8", + "reference": "b055f228a4178a1d6774909903905e3475f3eac8", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -4328,7 +4337,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v8.0.8" + "source": "https://github.com/symfony/css-selector/tree/v7.4.8" }, "funding": [ { @@ -4348,7 +4357,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4419,32 +4428,33 @@ }, { "name": "symfony/error-handler", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517" + "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517", - "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa", + "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/polyfill-php85": "^1.32", - "symfony/var-dumper": "^7.4|^8.0" + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "conflict": { - "symfony/deprecation-contracts": "<2.5" + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/console": "^7.4|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/serializer": "^7.4|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ @@ -4476,7 +4486,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v8.0.8" + "source": "https://github.com/symfony/error-handler/tree/v7.4.8" }, "funding": [ { @@ -4496,28 +4506,28 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6" + "reference": "f57b899fa736fd71121168ef268f23c206083f0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6", - "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f57b899fa736fd71121168ef268f23c206083f0a", + "reference": "f57b899fa736fd71121168ef268f23c206083f0a", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/security-http": "<7.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -4526,14 +4536,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/error-handler": "^7.4|^8.0", - "symfony/expression-language": "^7.4|^8.0", - "symfony/framework-bundle": "^7.4|^8.0", - "symfony/http-foundation": "^7.4|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^7.4|^8.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4561,7 +4571,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.8" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.8" }, "funding": [ { @@ -4581,7 +4591,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-30T13:54:39+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -4661,23 +4671,23 @@ }, { "name": "symfony/finder", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "8da41214757b87d97f181e3d14a4179286151007" + "reference": "e0be088d22278583a82da281886e8c3592fbf149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/8da41214757b87d97f181e3d14a4179286151007", - "reference": "8da41214757b87d97f181e3d14a4179286151007", + "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149", + "reference": "e0be088d22278583a82da281886e8c3592fbf149", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^7.4|^8.0" + "symfony/filesystem": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4705,7 +4715,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v8.0.8" + "source": "https://github.com/symfony/finder/tree/v7.4.8" }, "funding": [ { @@ -4725,39 +4735,41 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/http-foundation", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b" + "reference": "9381209597ec66c25be154cbf2289076e64d1eab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/02656f7ebeae5c155d659e946f6b3a33df24051b", - "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9381209597ec66c25be154cbf2289076e64d1eab", + "reference": "9381209597ec66c25be154cbf2289076e64d1eab", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "^1.1" }, "conflict": { - "doctrine/dbal": "<4.3" + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { - "doctrine/dbal": "^4.3", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^7.4|^8.0", - "symfony/clock": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/expression-language": "^7.4|^8.0", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/mime": "^7.4|^8.0", - "symfony/rate-limiter": "^7.4|^8.0" + "symfony/cache": "^6.4.12|^7.1.5|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4785,7 +4797,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v8.0.8" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.8" }, "funding": [ { @@ -4805,63 +4817,78 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/http-kernel", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1770f6818d83b2fddc12185025b93f39a90cb628" + "reference": "017e76ad089bac281553389269e259e155935e1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1770f6818d83b2fddc12185025b93f39a90cb628", - "reference": "1770f6818d83b2fddc12185025b93f39a90cb628", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/017e76ad089bac281553389269e259e155935e1a", + "reference": "017e76ad089bac281553389269e259e155935e1a", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/error-handler": "^7.4|^8.0", - "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^7.3|^8.0", "symfony/http-foundation": "^7.4|^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", "symfony/flex": "<2.10", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "twig/twig": "<3.21" + "symfony/twig-bridge": "<6.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.12" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^7.4|^8.0", - "symfony/clock": "^7.4|^8.0", - "symfony/config": "^7.4|^8.0", - "symfony/console": "^7.4|^8.0", - "symfony/css-selector": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/dom-crawler": "^7.4|^8.0", - "symfony/expression-language": "^7.4|^8.0", - "symfony/finder": "^7.4|^8.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4.1|^7.0.1|^8.0", + "symfony/dom-crawler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^7.4|^8.0", - "symfony/property-access": "^7.4|^8.0", - "symfony/routing": "^7.4|^8.0", - "symfony/serializer": "^7.4|^8.0", - "symfony/stopwatch": "^7.4|^8.0", - "symfony/translation": "^7.4|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^7.1|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/serializer": "^7.1|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^7.4|^8.0", - "symfony/validator": "^7.4|^8.0", - "symfony/var-dumper": "^7.4|^8.0", - "symfony/var-exporter": "^7.4|^8.0", - "twig/twig": "^3.21" + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" }, "type": "library", "autoload": { @@ -4889,7 +4916,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v8.0.8" + "source": "https://github.com/symfony/http-kernel/tree/v7.4.8" }, "funding": [ { @@ -4909,39 +4936,43 @@ "type": "tidelift" } ], - "time": "2026-03-31T21:14:05+00:00" + "time": "2026-03-31T20:57:01+00:00" }, { "name": "symfony/mailer", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56" + "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/ca5f6edaf8780ece814404b58a4482b22b509c56", - "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56", + "url": "https://api.github.com/repos/symfony/mailer/zipball/f6ea532250b476bfc1b56699b388a1bdbf168f62", + "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.4", + "php": ">=8.2", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^7.4|^8.0", - "symfony/mime": "^7.4|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/mime": "^7.2|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "symfony/http-client-contracts": "<2.5" + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, "require-dev": { - "symfony/console": "^7.4|^8.0", - "symfony/http-client": "^7.4|^8.0", - "symfony/messenger": "^7.4|^8.0", - "symfony/twig-bridge": "^7.4|^8.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/twig-bridge": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4969,7 +5000,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v8.0.8" + "source": "https://github.com/symfony/mailer/tree/v7.4.8" }, "funding": [ { @@ -4989,41 +5020,44 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/mime", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ddff21f14c7ce04b98101b399a9463dce8b0ce66" + "reference": "6df02f99998081032da3407a8d6c4e1dcb5d4379" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ddff21f14c7ce04b98101b399a9463dce8b0ce66", - "reference": "ddff21f14c7ce04b98101b399a9463dce8b0ce66", + "url": "https://api.github.com/repos/symfony/mime/zipball/6df02f99998081032da3407a8d6c4e1dcb5d4379", + "reference": "6df02f99998081032da3407a8d6c4e1dcb5d4379", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<5.2|>=7", - "phpdocumentor/type-resolver": "<1.5.1" + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^5.2|^6.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/process": "^7.4|^8.0", - "symfony/property-access": "^7.4|^8.0", - "symfony/property-info": "^7.4|^8.0", - "symfony/serializer": "^7.4|^8.0" + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.3|^7.0.3|^8.0" }, "type": "library", "autoload": { @@ -5055,7 +5089,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v8.0.8" + "source": "https://github.com/symfony/mime/tree/v7.4.8" }, "funding": [ { @@ -5075,7 +5109,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-30T14:11:46+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5583,6 +5617,86 @@ ], "time": "2025-01-02T08:10:11+00:00" }, + { + "name": "symfony/polyfill-php83", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" + }, { "name": "symfony/polyfill-php84", "version": "v1.33.0", @@ -5828,20 +5942,20 @@ }, { "name": "symfony/process", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc" + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", - "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", + "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -5869,7 +5983,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v8.0.8" + "source": "https://github.com/symfony/process/tree/v7.4.8" }, "funding": [ { @@ -5889,33 +6003,38 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/routing", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "0de330ec2ea922a7b08ec45615bd51179de7fda4" + "reference": "9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0de330ec2ea922a7b08ec45615bd51179de7fda4", - "reference": "0de330ec2ea922a7b08ec45615bd51179de7fda4", + "url": "https://api.github.com/repos/symfony/routing/zipball/9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b", + "reference": "9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, + "conflict": { + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" + }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/expression-language": "^7.4|^8.0", - "symfony/http-foundation": "^7.4|^8.0", - "symfony/yaml": "^7.4|^8.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5949,7 +6068,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v8.0.8" + "source": "https://github.com/symfony/routing/tree/v7.4.8" }, "funding": [ { @@ -5969,7 +6088,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/service-contracts", @@ -6060,34 +6179,35 @@ }, { "name": "symfony/string", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ae9488f874d7603f9d2dfbf120203882b645d963" + "reference": "114ac57257d75df748eda23dd003878080b8e688" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963", - "reference": "ae9488f874d7603f9d2dfbf120203882b645d963", + "url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688", + "reference": "114ac57257d75df748eda23dd003878080b8e688", "shasum": "" }, "require": { - "php": ">=8.4", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-intl-grapheme": "^1.33", - "symfony/polyfill-intl-normalizer": "^1.0", - "symfony/polyfill-mbstring": "^1.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.33", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.4|^8.0", - "symfony/http-client": "^7.4|^8.0", - "symfony/intl": "^7.4|^8.0", + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^7.4|^8.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6126,7 +6246,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v8.0.8" + "source": "https://github.com/symfony/string/tree/v7.4.8" }, "funding": [ { @@ -6146,31 +6266,38 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/translation", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f" + "reference": "33600f8489485425bfcddd0d983391038d3422e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", - "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", + "url": "https://api.github.com/repos/symfony/translation/zipball/33600f8489485425bfcddd0d983391038d3422e7", + "reference": "33600f8489485425bfcddd0d983391038d3422e7", "shasum": "" }, "require": { - "php": ">=8.4", - "symfony/polyfill-mbstring": "^1.0", - "symfony/translation-contracts": "^3.6.1" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5.3|^3.3" }, "conflict": { "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/service-contracts": "<2.5" + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" @@ -6178,17 +6305,17 @@ "require-dev": { "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/console": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/finder": "^7.4|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/intl": "^7.4|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^7.4|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^7.4|^8.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6219,7 +6346,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v8.0.8" + "source": "https://github.com/symfony/translation/tree/v7.4.8" }, "funding": [ { @@ -6239,7 +6366,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/translation-contracts", @@ -6325,24 +6452,24 @@ }, { "name": "symfony/uid", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "f63fa6096a24147283bce4d29327d285326438e0" + "reference": "6883ebdf7bf6a12b37519dbc0df62b0222401b56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/f63fa6096a24147283bce4d29327d285326438e0", - "reference": "f63fa6096a24147283bce4d29327d285326438e0", + "url": "https://api.github.com/repos/symfony/uid/zipball/6883ebdf7bf6a12b37519dbc0df62b0222401b56", + "reference": "6883ebdf7bf6a12b37519dbc0df62b0222401b56", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^7.4|^8.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6379,7 +6506,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v8.0.8" + "source": "https://github.com/symfony/uid/tree/v7.4.8" }, "funding": [ { @@ -6399,35 +6526,35 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/var-dumper", - "version": "v8.0.8", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1" + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", - "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd", + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd", "shasum": "" }, "require": { - "php": ">=8.4", - "symfony/polyfill-mbstring": "^1.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<7.4", - "symfony/error-handler": "<7.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^7.4|^8.0", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/process": "^7.4|^8.0", - "symfony/uid": "^7.4|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", "twig/twig": "^3.12" }, "bin": [ @@ -6466,7 +6593,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v8.0.8" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.8" }, "funding": [ { @@ -6486,7 +6613,7 @@ "type": "tidelift" } ], - "time": "2026-03-31T07:15:36+00:00" + "time": "2026-03-30T13:44:50+00:00" }, { "name": "thecodingmachine/safe", @@ -7455,16 +7582,16 @@ }, { "name": "nunomaduro/collision", - "version": "v8.9.2", + "version": "v8.9.3", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "6eb16883e74fd725ac64dbe81544c961ab448ba5" + "reference": "b0d8ab95b29c3189aeeb902d81215231df4c1b64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/6eb16883e74fd725ac64dbe81544c961ab448ba5", - "reference": "6eb16883e74fd725ac64dbe81544c961ab448ba5", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b0d8ab95b29c3189aeeb902d81215231df4c1b64", + "reference": "b0d8ab95b29c3189aeeb902d81215231df4c1b64", "shasum": "" }, "require": { @@ -7547,7 +7674,7 @@ "type": "patreon" } ], - "time": "2026-03-31T21:51:27+00:00" + "time": "2026-04-06T19:25:53+00:00" }, { "name": "phar-io/manifest", @@ -8015,16 +8142,16 @@ }, { "name": "phpunit/phpunit", - "version": "12.5.15", + "version": "12.5.17", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "aeb6899ffdbbf4b4ff5e6b6ebb77b35c51bb6d9a" + "reference": "85b62adab1a340982df64e66daa4a4435eb5723b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/aeb6899ffdbbf4b4ff5e6b6ebb77b35c51bb6d9a", - "reference": "aeb6899ffdbbf4b4ff5e6b6ebb77b35c51bb6d9a", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/85b62adab1a340982df64e66daa4a4435eb5723b", + "reference": "85b62adab1a340982df64e66daa4a4435eb5723b", "shasum": "" }, "require": { @@ -8093,7 +8220,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.17" }, "funding": [ { @@ -8101,7 +8228,7 @@ "type": "other" } ], - "time": "2026-03-31T06:41:33+00:00" + "time": "2026-04-08T03:04:19+00:00" }, { "name": "sebastian/cli-parser", @@ -8174,16 +8301,16 @@ }, { "name": "sebastian/comparator", - "version": "7.1.4", + "version": "7.1.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6" + "reference": "c284f55811f43d555e51e8e5c166ac40d3e33c63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a7de5df2e094f9a80b40a522391a7e6022df5f6", - "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c284f55811f43d555e51e8e5c166ac40d3e33c63", + "reference": "c284f55811f43d555e51e8e5c166ac40d3e33c63", "shasum": "" }, "require": { @@ -8242,7 +8369,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.4" + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.5" }, "funding": [ { @@ -8262,7 +8389,7 @@ "type": "tidelift" } ], - "time": "2026-01-24T09:28:48+00:00" + "time": "2026-04-08T04:43:00+00:00" }, { "name": "sebastian/complexity", diff --git a/database/migrations/2026_04_09_065808_update_type_enum_in_pieces_jointes_table.php b/database/migrations/2026_04_09_065808_update_type_enum_in_pieces_jointes_table.php index b11d99d..6bcb7e4 100644 --- a/database/migrations/2026_04_09_065808_update_type_enum_in_pieces_jointes_table.php +++ b/database/migrations/2026_04_09_065808_update_type_enum_in_pieces_jointes_table.php @@ -11,7 +11,13 @@ return new class extends Migration */ public function up(): void { - \Illuminate\Support\Facades\DB::statement("ALTER TABLE pieces_jointes MODIFY type ENUM('devis', 'bon_commande', 'bon_livraison', 'facture', 'autre', 'contrat', 'avenant') NOT NULL;"); + if (Schema::getConnection()->getDriverName() === 'mysql') { + \Illuminate\Support\Facades\DB::statement("ALTER TABLE pieces_jointes MODIFY type ENUM('devis', 'bon_commande', 'bon_livraison', 'facture', 'autre', 'contrat', 'avenant') NOT NULL;"); + } else { + Schema::table('pieces_jointes', function (Blueprint $table) { + $table->string('type')->change(); + }); + } } /** @@ -19,6 +25,12 @@ return new class extends Migration */ public function down(): void { - \Illuminate\Support\Facades\DB::statement("ALTER TABLE pieces_jointes MODIFY type ENUM('devis', 'bon_commande', 'bon_livraison', 'facture', 'autre') NOT NULL;"); + if (Schema::getConnection()->getDriverName() === 'mysql') { + \Illuminate\Support\Facades\DB::statement("ALTER TABLE pieces_jointes MODIFY type ENUM('devis', 'bon_commande', 'bon_livraison', 'facture', 'autre') NOT NULL;"); + } else { + Schema::table('pieces_jointes', function (Blueprint $table) { + $table->string('type')->change(); + }); + } } }; diff --git a/database/migrations/2026_04_09_174018_create_communes_table.php b/database/migrations/2026_04_09_174018_create_communes_table.php new file mode 100644 index 0000000..923d8ad --- /dev/null +++ b/database/migrations/2026_04_09_174018_create_communes_table.php @@ -0,0 +1,29 @@ +id(); + $table->string('nom')->unique(); + $table->string('code_postal')->nullable(); // Optionnel mais utile + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('communes'); + } +}; diff --git a/database/migrations/2026_04_09_174031_add_commune_id_to_commandes_and_contrats_tables.php b/database/migrations/2026_04_09_174031_add_commune_id_to_commandes_and_contrats_tables.php new file mode 100644 index 0000000..f514c41 --- /dev/null +++ b/database/migrations/2026_04_09_174031_add_commune_id_to_commandes_and_contrats_tables.php @@ -0,0 +1,28 @@ +foreignId('commune_id')->nullable()->after('id')->constrained('communes')->nullOnDelete(); + }); + + Schema::table('contrats', function (Blueprint $table) { + $table->foreignId('commune_id')->nullable()->after('id')->constrained('communes')->nullOnDelete(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('commandes', function (Blueprint $table) { + $table->dropConstrainedForeignId('commune_id'); + }); + + Schema::table('contrats', function (Blueprint $table) { + $table->dropConstrainedForeignId('commune_id'); + }); + } +}; diff --git a/database/migrations/2026_04_09_185857_create_licences_table.php b/database/migrations/2026_04_09_185857_create_licences_table.php new file mode 100644 index 0000000..d2b5287 --- /dev/null +++ b/database/migrations/2026_04_09_185857_create_licences_table.php @@ -0,0 +1,39 @@ +id(); + $table->foreignId('contrat_id')->nullable()->constrained()->nullOnDelete(); + $table->foreignId('fournisseur_id')->constrained()->cascadeOnDelete(); + $table->foreignId('commune_id')->nullable()->constrained()->nullOnDelete(); + $table->string('nom'); + $table->text('cle_licence')->nullable(); + $table->integer('nombre_sieges_total')->default(1); + $table->integer('nombre_sieges_utilises')->default(0); + $table->date('date_acquisition')->nullable(); + $table->date('date_expiration')->nullable(); + $table->enum('type_licence', ['perpétuelle', 'abonnement'])->default('abonnement'); + $table->enum('statut', ['active', 'expirée', 'résiliée'])->default('active'); + $table->text('notes')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('licences'); + } +}; diff --git a/database/migrations/2026_04_09_192108_create_assets_table.php b/database/migrations/2026_04_09_192108_create_assets_table.php new file mode 100644 index 0000000..c69f7cd --- /dev/null +++ b/database/migrations/2026_04_09_192108_create_assets_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('nom'); + $table->string('type'); // Serveur, Switch, NAS, Baie, etc. + $table->string('marque')->nullable(); + $table->string('modele')->nullable(); + $table->string('numero_serie')->nullable(); + $table->string('emplacement')->nullable(); + $table->foreignId('commune_id')->nullable()->constrained()->nullOnDelete(); + $table->date('date_achat')->nullable(); + $table->date('date_fin_garantie')->nullable(); + $table->enum('statut', ['en_service', 'hors_service', 'en_reparation', 'stock'])->default('en_service'); + $table->text('notes')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('assets'); + } +}; diff --git a/database/migrations/2026_04_09_192904_add_commande_id_to_assets_table.php b/database/migrations/2026_04_09_192904_add_commande_id_to_assets_table.php new file mode 100644 index 0000000..47cd9cf --- /dev/null +++ b/database/migrations/2026_04_09_192904_add_commande_id_to_assets_table.php @@ -0,0 +1,28 @@ +foreignId('commande_id')->nullable()->after('commune_id')->constrained()->nullOnDelete(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('assets', function (Blueprint $table) { + $table->dropConstrainedForeignId('commande_id'); + }); + } +}; diff --git a/database/migrations/2026_04_09_194501_add_code_ean_to_assets_table.php b/database/migrations/2026_04_09_194501_add_code_ean_to_assets_table.php new file mode 100644 index 0000000..089498e --- /dev/null +++ b/database/migrations/2026_04_09_194501_add_code_ean_to_assets_table.php @@ -0,0 +1,28 @@ +string('code_ean')->nullable()->after('type'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('assets', function (Blueprint $table) { + $table->dropColumn('code_ean'); + }); + } +}; diff --git a/database/seeders/CommuneSeeder.php b/database/seeders/CommuneSeeder.php new file mode 100644 index 0000000..303de74 --- /dev/null +++ b/database/seeders/CommuneSeeder.php @@ -0,0 +1,43 @@ +updateOrInsert( + ['nom' => $commune], + ['created_at' => now(), 'updated_at' => now()] + ); + } + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 0726fa4..76583d9 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -13,6 +13,7 @@ class DatabaseSeeder extends Seeder CategorieSeeder::class, RolesPermissionsSeeder::class, AdminUserSeeder::class, + CommuneSeeder::class, ]); } } diff --git a/package-lock.json b/package-lock.json index ca3c55d..0e04495 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,15 @@ { - "name": "Commandes", + "name": "DSICommander", "lockfileVersion": 3, "requires": true, "packages": { "": { + "dependencies": { + "@fullcalendar/core": "^6.1.20", + "@fullcalendar/daygrid": "^6.1.20", + "@fullcalendar/interaction": "^6.1.20", + "@fullcalendar/vue3": "^6.1.20" + }, "devDependencies": { "@inertiajs/vue3": "^2.0.0", "@tailwindcss/forms": "^0.5.3", @@ -36,7 +42,6 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -46,7 +51,6 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -56,7 +60,6 @@ "version": "7.29.2", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" @@ -72,7 +75,6 @@ "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -116,6 +118,43 @@ "tslib": "^2.4.0" } }, + "node_modules/@fullcalendar/core": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.20.tgz", + "integrity": "sha512-1cukXLlePFiJ8YKXn/4tMKsy0etxYLCkXk8nUCFi11nRONF2Ba2CD5b21/ovtOO2tL6afTJfwmc1ed3HG7eB1g==", + "license": "MIT", + "dependencies": { + "preact": "~10.12.1" + } + }, + "node_modules/@fullcalendar/daygrid": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.20.tgz", + "integrity": "sha512-AO9vqhkLP77EesmJzuU+IGXgxNulsA8mgQHynclJ8U70vSwAVnbcLG9qftiTAFSlZjiY/NvhE7sflve6cJelyQ==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20" + } + }, + "node_modules/@fullcalendar/interaction": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.20.tgz", + "integrity": "sha512-p6txmc5txL0bMiPaJxe2ip6o0T384TyoD2KGdsU6UjZ5yoBlaY+dg7kxfnYKpYMzEJLG58n+URrHr2PgNL2fyA==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20" + } + }, + "node_modules/@fullcalendar/vue3": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/vue3/-/vue3-6.1.20.tgz", + "integrity": "sha512-8qg6pS27II9QBwFkkJC+7SfflMpWqOe7i3ii5ODq9KpLAjwQAd/zjfq8RvKR1Yryoh5UmMCmvRbMB7i4RGtqog==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20", + "vue": "^3.0.11" + } + }, "node_modules/@inertiajs/core": { "version": "2.3.18", "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-2.3.18.tgz", @@ -182,7 +221,6 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -873,7 +911,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.31.tgz", "integrity": "sha512-k/ueL14aNIEy5Onf0OVzR8kiqF/WThgLdFhxwa4e/KF/0qe38IwIdofoSWBTvvxQOesaz6riAFAUaYjoF9fLLQ==", - "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.29.2", @@ -887,7 +924,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.31.tgz", "integrity": "sha512-BMY/ozS/xxjYqRFL+tKdRpATJYDTTgWSo0+AJvJNg4ig+Hgb0dOsHPXvloHQ5hmlivUqw1Yt2pPIqp4e0v1GUw==", - "dev": true, "license": "MIT", "dependencies": { "@vue/compiler-core": "3.5.31", @@ -898,7 +934,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.31.tgz", "integrity": "sha512-M8wpPgR9UJ8MiRGjppvx9uWJfLV7A/T+/rL8s/y3QG3u0c2/YZgff3d6SuimKRIhcYnWg5fTfDMlz2E6seUW8Q==", - "dev": true, "license": "MIT", "dependencies": { "@babel/parser": "^7.29.2", @@ -916,7 +951,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.31.tgz", "integrity": "sha512-h0xIMxrt/LHOvJKMri+vdYT92BrK3HFLtDqq9Pr/lVVfE4IyKZKvWf0vJFW10Yr6nX02OR4MkJwI0c1HDa1hog==", - "dev": true, "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.31", @@ -927,7 +961,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.31.tgz", "integrity": "sha512-DtKXxk9E/KuVvt8VxWu+6Luc9I9ETNcqR1T1oW1gf02nXaZ1kuAx58oVu7uX9XxJR0iJCro6fqBLw9oSBELo5g==", - "dev": true, "license": "MIT", "dependencies": { "@vue/shared": "3.5.31" @@ -937,7 +970,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.31.tgz", "integrity": "sha512-AZPmIHXEAyhpkmN7aWlqjSfYynmkWlluDNPHMCZKFHH+lLtxP/30UJmoVhXmbDoP1Ng0jG0fyY2zCj1PnSSA6Q==", - "dev": true, "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.31", @@ -948,7 +980,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.31.tgz", "integrity": "sha512-xQJsNRmGPeDCJq/u813tyonNgWBFjzfVkBwDREdEWndBnGdHLHgkwNBQxLtg4zDrzKTEcnikUy1UUNecb3lJ6g==", - "dev": true, "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.31", @@ -961,7 +992,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.31.tgz", "integrity": "sha512-GJuwRvMcdZX/CriUnyIIOGkx3rMV3H6sOu0JhdKbduaeCji6zb60iOGMY7tFoN24NfsUYoFBhshZtGxGpxO4iA==", - "dev": true, "license": "MIT", "dependencies": { "@vue/compiler-ssr": "3.5.31", @@ -975,7 +1005,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.31.tgz", "integrity": "sha512-nBxuiuS9Lj5bPkPbWogPUnjxxWpkRniX7e5UBQDWl6Fsf4roq9wwV+cR7ezQ4zXswNvPIlsdj1slcLB7XCsRAw==", - "dev": true, "license": "MIT" }, "node_modules/ansi-regex": { @@ -1391,7 +1420,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, "license": "MIT" }, "node_modules/delayed-stream": { @@ -1475,7 +1503,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -1547,7 +1574,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -2220,7 +2246,6 @@ "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" @@ -2309,7 +2334,6 @@ "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, "funding": [ { "type": "github", @@ -2385,7 +2409,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -2425,7 +2448,6 @@ "version": "8.5.8", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2584,6 +2606,16 @@ "dev": true, "license": "MIT" }, + "node_modules/preact": { + "version": "10.12.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz", + "integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/proxy-from-env": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", @@ -2864,7 +2896,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -3264,7 +3295,6 @@ "version": "3.5.31", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.31.tgz", "integrity": "sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q==", - "dev": true, "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.31", diff --git a/package.json b/package.json index 976a8d0..f523395 100644 --- a/package.json +++ b/package.json @@ -19,5 +19,11 @@ "tailwindcss": "^3.2.1", "vite": "^8.0.0", "vue": "^3.4.0" + }, + "dependencies": { + "@fullcalendar/core": "^6.1.20", + "@fullcalendar/daygrid": "^6.1.20", + "@fullcalendar/interaction": "^6.1.20", + "@fullcalendar/vue3": "^6.1.20" } } diff --git a/public/images/logo_agglo.png b/public/images/logo_agglo.png new file mode 100644 index 0000000000000000000000000000000000000000..80c0c252c714dd10248d2fed6b15c6e150ff43b0 GIT binary patch literal 14852 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 literal 0 HcmV?d00001 diff --git a/public/images/logo_agglo_20-bleu.png b/public/images/logo_agglo_20-bleu.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2db40ed18641b424ffaf2a08ed6e88d2fb7dcc GIT binary patch literal 190462 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

p}e=2^b2hU?@pQVSZ%!}MU-H>hMskeUYG?L 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

AY6zEq-@Fjf}SQ>y&8!3*59;ZqKjUl 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 Z0}0cFHkCrX40GlcV Noms de domaine + + + + + Assets (Matériels) + @@ -164,6 +172,33 @@ function isActive(...names) { Services + + + + + Licences + + + + + + Calendrier + + + + + + Communes + diff --git a/resources/js/Pages/Assets/Form.vue b/resources/js/Pages/Assets/Form.vue new file mode 100644 index 0000000..bebf93f --- /dev/null +++ b/resources/js/Pages/Assets/Form.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/resources/js/Pages/Assets/Index.vue b/resources/js/Pages/Assets/Index.vue new file mode 100644 index 0000000..414060a --- /dev/null +++ b/resources/js/Pages/Assets/Index.vue @@ -0,0 +1,158 @@ + + + diff --git a/resources/js/Pages/Assets/Show.vue b/resources/js/Pages/Assets/Show.vue new file mode 100644 index 0000000..a371c45 --- /dev/null +++ b/resources/js/Pages/Assets/Show.vue @@ -0,0 +1,151 @@ + + + diff --git a/resources/js/Pages/Calendar/Index.vue b/resources/js/Pages/Calendar/Index.vue new file mode 100644 index 0000000..82f45b8 --- /dev/null +++ b/resources/js/Pages/Calendar/Index.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/resources/js/Pages/Commandes/Create.vue b/resources/js/Pages/Commandes/Create.vue index 86902ed..396710e 100644 --- a/resources/js/Pages/Commandes/Create.vue +++ b/resources/js/Pages/Commandes/Create.vue @@ -6,6 +6,7 @@ import { Head, Link, useForm } from '@inertiajs/vue3' const props = defineProps({ services: Array, fournisseurs: Array, + communes: Array, categories: Array, articles: Array, }) @@ -13,6 +14,7 @@ const props = defineProps({ const form = useForm({ service_id: '', fournisseur_id: '', + commune_id: '', objet: '', description: '', justification: '', @@ -77,6 +79,15 @@ function submit() { +

+
+
+ + +
+ +
@@ -120,6 +137,7 @@ function formatCurrency(v) { N° Objet Service + Ville Fournisseur Statut Priorité @@ -141,6 +159,7 @@ function formatCurrency(v) {

{{ cmd.objet }}

{{ cmd.service?.nom }} + {{ cmd.commune?.nom ?? '—' }} {{ cmd.fournisseur?.nom ?? '—' }} diff --git a/resources/js/Pages/Commandes/Show.vue b/resources/js/Pages/Commandes/Show.vue index d9bbfec..1780244 100644 --- a/resources/js/Pages/Commandes/Show.vue +++ b/resources/js/Pages/Commandes/Show.vue @@ -96,6 +96,10 @@ const transitionColors = {

Service demandeur

{{ commande.service?.nom ?? '—' }}

+
+

Ville / Commune

+

{{ commande.commune?.nom ?? '—' }}

+

Fournisseur

{{ commande.fournisseur?.nom ?? '—' }}

@@ -160,6 +164,35 @@ const transitionColors = { :show-received="['commandee','partiellement_recue','recue_complete','cloturee'].includes(commande.statut)" />
+ +
+
+

Matériels livrés (Assets)

+ {{ commande.assets.length }} équipements +
+
+
+
+
+ + + +
+
+ + {{ asset.nom }} + +
{{ asset.numero_serie ?? 'Sans S/N' }} • {{ asset.marque }} {{ asset.modele }}
+
+
+
+ {{ asset.type }} + Garantie jusqu'au {{ formatDate(asset.date_fin_garantie) }} +
+
+
+
+
diff --git a/resources/js/Pages/Communes/Index.vue b/resources/js/Pages/Communes/Index.vue new file mode 100644 index 0000000..9fa7e5a --- /dev/null +++ b/resources/js/Pages/Communes/Index.vue @@ -0,0 +1,82 @@ + + + diff --git a/resources/js/Pages/Contrats/Create.vue b/resources/js/Pages/Contrats/Create.vue index d895612..9438579 100644 --- a/resources/js/Pages/Contrats/Create.vue +++ b/resources/js/Pages/Contrats/Create.vue @@ -5,6 +5,7 @@ import { Head, Link, useForm } from '@inertiajs/vue3' const props = defineProps({ services: Array, fournisseurs: Array, + communes: Array, statuts: Object, }) @@ -12,6 +13,7 @@ const form = useForm({ titre: '', description: '', fournisseur_id: '', + commune_id: '', service_id: props.services.length === 1 ? props.services[0].id : '', date_debut: '', date_echeance: '', @@ -79,6 +81,15 @@ function submit() { class="w-full rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-sm text-gray-500" />
+
+ + +
+
+
+ +
+ + +
+ +
+ + +
+ + + + +
+

Établissement & Dates

+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+
+ +
+ Annuler + +
+ + + + diff --git a/resources/js/Pages/Licences/Index.vue b/resources/js/Pages/Licences/Index.vue new file mode 100644 index 0000000..abeefad --- /dev/null +++ b/resources/js/Pages/Licences/Index.vue @@ -0,0 +1,141 @@ + + + diff --git a/resources/views/pdf/commande.blade.php b/resources/views/pdf/commande.blade.php index da49d1e..81ab203 100644 --- a/resources/views/pdf/commande.blade.php +++ b/resources/views/pdf/commande.blade.php @@ -2,142 +2,287 @@ - Commande {{ $commande->numero_commande }} + Proposition de commande {{ $commande->numero_commande }} -
-

BON DE COMMANDE : {{ $commande->numero_commande }}

-

Objet : {{ $commande->objet }}

-
- - - - - - -
-
- Service Demandeur - {{ $commande->service->nom ?? 'N/A' }}
- Demandé par : {{ $commande->demandeur->name ?? 'N/A' }}
- Le : {{ $commande->date_demande ? \Carbon\Carbon::parse($commande->date_demande)->format('d/m/Y') : 'N/A' }} +
+ +
+
+
+ +
+
+

Proposition de commande

+

N° {{ $commande->numero_commande }}

+
+ Date: {{ \Carbon\Carbon::parse($commande->date_demande)->format('d/m/Y') }}
+ Objet: {{ $commande->objet }}
-
-
- Informations Fournisseur - {{ $commande->fournisseur->nom ?? 'N/A' }}
- Réf : {{ $commande->reference_fournisseur ?? 'N/A' }}
-
-
-
+ + - - - @if($commande->imputation_budgetaire) - - @endif - @if($commande->date_souhaitee) - - @endif - -
-
- Imputation budgétaire : - {{ $commande->imputation_budgetaire }} -
-
-
- Date de livraison souhaitée : - {{ \Carbon\Carbon::parse($commande->date_souhaitee)->format('d/m/Y') }} -
-
- - - - - - - - - - - - - @foreach($commande->lignes as $ligne) - - - - - - - - @endforeach - -
DésignationRéf. ArticleQtéPU HTTotal HT
{{ $ligne->designation }}{{ $ligne->reference ?? '-' }}{{ number_format($ligne->quantite, 2, ',', ' ') }} {{ $ligne->unite }}{{ number_format($ligne->prix_unitaire_ht, 2, ',', ' ') }} €{{ number_format($ligne->quantite * $ligne->prix_unitaire_ht, 2, ',', ' ') }} €
- - - - - - -
- @if($commande->justification || $commande->description) -
- Notes / Justification : -

{{ $commande->justification ?: $commande->description }}

-
- @endif -
- - - - - - - - - -
Total HT :{{ number_format($commande->montant_ht, 2, ',', ' ') }} €
Total TTC :{{ number_format($commande->montant_ttc, 2, ',', ' ') }} €
-
- - + +
+ DSICommander - Généré le {{ now()->format('d/m/Y H:i') }}
diff --git a/routes/web.php b/routes/web.php index edfc4f9..af86fce 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Controllers\ArticleController; use App\Http\Controllers\CategorieController; use App\Http\Controllers\CommandeController; +use App\Http\Controllers\CommuneController; use App\Http\Controllers\ContratController; use App\Http\Controllers\DomaineController; use App\Http\Controllers\DashboardController; @@ -11,6 +12,9 @@ use App\Http\Controllers\PieceJointeController; use App\Http\Controllers\ProfileController; use App\Http\Controllers\ServiceController; use App\Http\Controllers\UserController; +use App\Http\Controllers\LicenceController; +use App\Http\Controllers\CalendarController; +use App\Http\Controllers\AssetController; use Illuminate\Support\Facades\Route; Route::get('/', fn () => redirect()->route('dashboard')); @@ -75,7 +79,20 @@ Route::middleware(['auth', 'verified'])->group(function () { Route::put('/users/{user}', [UserController::class, 'update'])->name('users.update'); Route::patch('/users/{user}/toggle-active', [UserController::class, 'toggleActive']) ->name('users.toggle-active'); + + Route::resource('communes', CommuneController::class)->except(['create', 'show', 'edit']); }); + + // Licences + Route::resource('licences', LicenceController::class); + + // Calendrier + Route::get('/calendar', [CalendarController::class, 'index'])->name('calendar.index'); + Route::get('/calendar/events', [CalendarController::class, 'events'])->name('calendar.events'); + + // Assets + Route::resource('assets', AssetController::class); + Route::get('/api/ean-lookup/{ean}', [AssetController::class, 'lookupEan'])->name('assets.ean-lookup'); }); require __DIR__ . '/auth.php';