diff --git a/src/app/api/macchine/[id]/route.ts b/src/app/api/macchine/[id]/route.ts index e7fcc0a..8c9dd77 100644 --- a/src/app/api/macchine/[id]/route.ts +++ b/src/app/api/macchine/[id]/route.ts @@ -102,7 +102,22 @@ export async function DELETE(request: Request, { params }: RouteParams) { } try { - const deleted = await deleteMacchina(macchinaId); + // Leggi il body per ottenere il magazzino di rientro (opzionale) + let idMagazzinoRientro: number | undefined; + try { + const body = await request.json(); + if (body.idMagazzinoRientro) { + idMagazzinoRientro = parseInt(body.idMagazzinoRientro, 10); + if (isNaN(idMagazzinoRientro)) { + idMagazzinoRientro = undefined; + } + } + } catch { + // Body vuoto o non JSON, continua senza magazzino + } + + const user = session.user.email || session.user.name || "unknown"; + const deleted = await deleteMacchina(macchinaId, idMagazzinoRientro, user); if (!deleted) { return NextResponse.json( diff --git a/src/components/ArticoliMacchinaModal.tsx b/src/components/ArticoliMacchinaModal.tsx index 0fb51b6..4e13036 100644 --- a/src/components/ArticoliMacchinaModal.tsx +++ b/src/components/ArticoliMacchinaModal.tsx @@ -18,6 +18,7 @@ interface RimuoviModalState { quantita: number; opzione: "carico" | "elimina"; idMagazzino: number | null; + articoloEsiste: boolean; } export default function ArticoliMacchinaModal({ @@ -54,14 +55,25 @@ export default function ArticoliMacchinaModal({ fetchMagazzini(); }, [macchinaStabilimentoId]); - const handleRimuoviClick = (articolo: ArticoloAssegnatoMacchina) => { + const handleRimuoviClick = async (articolo: ArticoloAssegnatoMacchina) => { + setError(null); + + // Verifica se l'articolo esiste ancora nel catalogo + let articoloEsiste = true; + try { + const res = await fetch(`/api/articoli/${articolo.id_articolo}`); + articoloEsiste = res.ok; + } catch { + articoloEsiste = false; + } + setRimuoviModal({ articolo, quantita: 1, - opzione: "carico", + opzione: articoloEsiste ? "carico" : "elimina", idMagazzino: null, + articoloEsiste, }); - setError(null); }; const handleConfermaRimozione = async () => { @@ -211,26 +223,34 @@ export default function ArticoliMacchinaModal({ /> + {!rimuoviModal.articoloEsiste && ( +
+ Questo articolo non esiste più nel catalogo. Verrà eliminato senza possibilità di rientro in magazzino. +
+ )} +
- -