# Garancija — buduća logika (arhiva koda) ## Plan (zašto) Trenutno se „Garancija do" unosi kao konkretan datum. To nema smisla dok je uređaj tek primljen (status **Primljeno**) — popravka još nije ni počela, pa ni datum garancije nije poznat. **Buduća logika:** - Garancija se izražava kao **broj dana od datuma završetka** (podesivo, kao i sada preko `servis_garancija_meseci` / mogući novi `servis_garancija_dana`). - Dok je nalog u radu (Primljeno, U popravci…), klijentu se prikazuje samo **podrazumevana garancija** kao informacija (npr. „garancija: 12 meseci od završetka"). - **Pravi datum garancije** (`garancija_do`) upisuje se tek kad nalog pređe u **Završeno** → `datum_zavrsetka + garantni period`. Zbog toga je „Garancija do" uklonjena iz forme **Izmeni nalog** (vidi commit), a ovde je arhiviran kod da se kasnije ponovo upotrebi / prilagodi. ## Arhivirani kod — „Garancija do" blok iz `servis_forma.html` (Izmeni nalog) ```html {{if .Izmena}}
{{end}} ``` ## Backend koji OSTAJE (i dalje koristi modal „Garancija do" u detaljima) Nije uklonjeno — ovo su delovi koje treba znati pri ponovnoj upotrebi: - `internal/handler/servis.go`: - `defaultGarancija(datumPrijema, podesavanja)` — prijem + `servis_garancija_meseci`. Za buduću logiku zameniti osnovicu `datum_zavrsetka` umesto `datum_prijema`. - `garancijaPrePrijema(garancija, prijem)` — validacija da garancija nije pre prijema. - `AzurirajGaranciju` (ruta `POST /servis/{id}/garancija`) — snima `garancija_do`, prazno / „bez garancije" → NULL. - U `parseFormuNaloga`: blok koji čita `garancija_do` + `bez_garancije`. - `BezGarancije` flag (čita NULL stanje iz baze) i `GarancijaDefault` (prijem + meseci) u `PodaciDetaljiNaloga` / `PodaciFormeNaloga`. - `internal/db/sqlite/servis.go`: `AzurirajGaranciju` repo metoda; kolona `garancija_do`. - Podešavanje: `servis_garancija_meseci` (Podešavanja → Servis). ## TODO kad se vraća 1. Dodati prikaz „podrazumevana garancija" (informativno) na nalogu u statusu Primljeno. 2. Pri prelasku u **Završeno** automatski izračunati `garancija_do = datum_zavrsetka + period`. 3. Razmotriti period u danima umesto/pored meseci.