orderBy('nom')->paginate(25); return view('admin.depots.index', compact('depots')); } public function create(): View { return view('admin.depots.create'); } public function store(StoreDepotRequest $request): RedirectResponse { $depot = Depot::create($request->validated()); return redirect()->route('admin.depots.show', $depot) ->with('success', 'Dépôt créé.'); } public function show(Depot $depot): View { $depot->load('sources'); return view('admin.depots.show', compact('depot')); } public function edit(Depot $depot): View { return view('admin.depots.edit', compact('depot')); } public function update(StoreDepotRequest $request, Depot $depot): RedirectResponse { $depot->update($request->validated()); return redirect()->route('admin.depots.show', $depot) ->with('success', 'Dépôt mis à jour.'); } public function destroy(Depot $depot): RedirectResponse { if ($depot->sources()->exists()) { return back()->with('error', 'Impossible de supprimer un dépôt qui contient des sources.'); } $depot->delete(); return redirect()->route('admin.depots.index') ->with('success', 'Dépôt supprimé.'); } }