Servis: rok za podizanje (DatumZavrsetka + 30 dana) u detaljima naloga i javnoj status stranici

This commit is contained in:
2026-06-30 22:33:09 +02:00
parent e9205665b6
commit af67daf7de
3 changed files with 24 additions and 0 deletions
+13
View File
@@ -82,6 +82,7 @@ type PodaciDetaljiNaloga struct {
KorisceneUsluge map[int64]bool // ID-evi usluga već dodatih na nalog — izostavljaju se iz dropdown-a
SviStatusi []string
FiskalniRacun *model.FiskalniRacun // nil ako nije fiskalizovano
RokPodizanja *time.Time // DatumZavrsetka + 30 dana; nil dok nije završeno
}
// Servis renderuje listu servisnih naloga sa opcionom pretragom i filterom statusa
@@ -734,6 +735,7 @@ func (h *Handler) DetaljiNaloga(w http.ResponseWriter, r *http.Request) {
CenaDijagnostikePredlog: podesavanja["servis_cena_dijagnostike"],
KorisceneUsluge: korisceneUsluge,
SviStatusi: model.SviStatusi,
RokPodizanja: rokPodizanja(nalog.DatumZavrsetka),
}
// učitaj fiskalni račun ako postoji (za prikaz u detaljima)
@@ -753,6 +755,15 @@ func jePredlogStatus(status string) bool {
return status != "" && status != model.StatusPrimljeno
}
// rokPodizanja vraća datum završetka + 30 dana; nil ako završetak nije postavljen.
func rokPodizanja(datumZavrsetka *time.Time) *time.Time {
if datumZavrsetka == nil {
return nil
}
t := datumZavrsetka.AddDate(0, 0, 30)
return &t
}
// DodajDeloNalogu prima POST formu i dodaje artikal kao deo servisnog naloga
func (h *Handler) DodajDeloNalogu(w http.ResponseWriter, r *http.Request) {
k, ok := h.zahtevajDozvolu(w, r, "servis.izmeni")
@@ -2635,6 +2646,7 @@ type PodaciJavnogStatusa struct {
UkupnoSaPredlogom float64 // ukupno ugrađeno + predloženo
UkupnoSaPredlogomSaPdv float64
Odgovoreno bool // klijent vec odgovorio (nema predloga, nije "Primljeno")
RokPodizanja *time.Time
Moduli map[string]bool
SviStatusi []string
}
@@ -2725,6 +2737,7 @@ func (h *Handler) ServisJavniStatus(w http.ResponseWriter, r *http.Request) {
UkupnoSaPredlogom: ukupnoSve + ukupnoPredlog,
UkupnoSaPredlogomSaPdv: ukupnoSveSaPdv + ukupnoPredlogSaPdv,
Odgovoreno: nalog.OdlukaKlijenta != "" || (!(len(predRadovi) > 0 || len(predDelovi) > 0) && nalog.Status != model.StatusPrimljeno),
RokPodizanja: rokPodizanja(nalog.DatumZavrsetka),
Moduli: moduli,
SviStatusi: model.SviStatusi,
})
@@ -286,6 +286,10 @@
<div style="font-size:14px;color:var(--tekst-glavni);">
{{if .Nalog.DatumZavrsetka}}{{.Nalog.DatumZavrsetka.Format "02.01.2006."}}{{else}}—{{end}}
</div>
{{if and .RokPodizanja (eq .Nalog.Status "Završeno")}}
<div style="font-size:12px;color:var(--tekst-sporedni);margin-top:10px;margin-bottom:4px;">Rok za podizanje</div>
<div style="font-size:14px;color:#d97706;font-weight:500;">{{.RokPodizanja.Format "02.01.2006."}}</div>
{{end}}
{{else}}
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Predviđen datum popravke</div>
<div style="font-size:14px;color:var(--tekst-glavni);">
@@ -214,6 +214,13 @@
</div>
{{end}}
{{if .RokPodizanja}}
<div class="red">
<span class="red-labela">Rok za podizanje</span>
<span class="red-vrednost" style="color:#d97706;font-weight:600;">{{.RokPodizanja.Format "02.01.2006."}}</span>
</div>
{{end}}
{{if .Nalog.NalazDijagnostike}}
<div style="margin-top:12px;">
<div class="red-labela" style="margin-bottom:6px;">Utvrđeno na dijagnostici</div>