From ca1c8c824106be477ad517b95e3f99001f491bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dalibor=20Markovi=C4=87?= Date: Thu, 2 Jul 2026 12:24:04 +0200 Subject: [PATCH] Servis: Garancija i Serviser se ne mogu menjati nakon preuzimanja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dugme 'Promeni' za oba polja se sad krije kad je nalog u statusu Preuzeto — garantni list je već izdat na osnovu garancije, a nalog je zatvoren pa nema razloga za promenu servisera. Dodata i server-side provera u AzurirajGarancijaDana/AzurirajTehnicar (ne samo skrivanje dugmeta u UI). --- internal/handler/servis.go | 10 ++++++++++ web/templates/stranice/servis_detalji.html | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/handler/servis.go b/internal/handler/servis.go index e9c8fbd..a6cde2c 100644 --- a/internal/handler/servis.go +++ b/internal/handler/servis.go @@ -2766,6 +2766,11 @@ func (h *Handler) AzurirajGarancijaDana(w http.ResponseWriter, r *http.Request) http.Error(w, "Neispravan ID naloga", http.StatusBadRequest) return } + // garancija se ne menja posle preuzimanja — garantni list je već izdat na osnovu nje + if nalog, e := h.ServisRepo.DohvatiID(r.Context(), id); e == nil && nalog.Status == model.StatusPreuzeto { + http.Error(w, "Garancija se ne može menjati nakon preuzimanja uređaja.", http.StatusBadRequest) + return + } if err := r.ParseForm(); err != nil { http.Error(w, "Greška pri čitanju forme", http.StatusBadRequest) return @@ -2845,6 +2850,11 @@ func (h *Handler) AzurirajTehnicar(w http.ResponseWriter, r *http.Request) { http.Error(w, "Neispravan ID naloga", http.StatusBadRequest) return } + // serviser se ne menja posle preuzimanja — nalog je zatvoren + if nalog, e := h.ServisRepo.DohvatiID(r.Context(), id); e == nil && nalog.Status == model.StatusPreuzeto { + http.Error(w, "Serviser se ne može menjati nakon preuzimanja uređaja.", http.StatusBadRequest) + return + } if err := r.ParseForm(); err != nil { http.Error(w, "Greška pri čitanju forme", http.StatusBadRequest) return diff --git a/web/templates/stranice/servis_detalji.html b/web/templates/stranice/servis_detalji.html index ce8552e..8293855 100644 --- a/web/templates/stranice/servis_detalji.html +++ b/web/templates/stranice/servis_detalji.html @@ -330,7 +330,7 @@
Garancija
{{garancijaTekst .Nalog.GarancijaDana}} - {{if index .Dozvole "servis.izmeni"}} + {{if and (index .Dozvole "servis.izmeni") (ne .Nalog.Status "Preuzeto")}}
@@ -371,7 +371,7 @@
Serviser
{{if .TehnicarNaziv}}{{.TehnicarNaziv}}{{else}}— nedodeljen —{{end}} - {{if index .Dozvole "servis.izmeni"}} + {{if and (index .Dozvole "servis.izmeni") (ne .Nalog.Status "Preuzeto")}}