From af33d5c20d09bebe7da8509751aea21fc87825b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dalibor=20Markovi=C4=87?= Date: Tue, 23 Jun 2026 23:01:29 +0200 Subject: [PATCH] Dashboard: klikabilne stavke u kartici Poslednji servisi (link ka detaljima naloga) --- internal/db/sqlite/izvestaj.go | 4 ++-- internal/handler/dashboard.go | 1 + internal/model/izvestaj.go | 1 + internal/model/stranica.go | 1 + web/templates/stranice/dashboard.html | 4 ++-- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/internal/db/sqlite/izvestaj.go b/internal/db/sqlite/izvestaj.go index 97d3dba..b9ae6f1 100644 --- a/internal/db/sqlite/izvestaj.go +++ b/internal/db/sqlite/izvestaj.go @@ -57,7 +57,7 @@ func (r *sqliteIzvestajRepo) BrojKriticnihZaliha(ctx context.Context) (int, erro func (r *sqliteIzvestajRepo) PoslednjiServisi(ctx context.Context, limit int) ([]model.ServisRedDashboard, error) { rows, err := r.db.QueryContext(ctx, ` - SELECT uredjaj, status, datum_prijema FROM servisni_nalozi + SELECT id, uredjaj, status, datum_prijema FROM servisni_nalozi ORDER BY datum_prijema DESC LIMIT ?`, limit) if err != nil { return nil, fmt.Errorf("ntech: izvestaj.PoslednjiServisi: %w", err) @@ -66,7 +66,7 @@ func (r *sqliteIzvestajRepo) PoslednjiServisi(ctx context.Context, limit int) ([ var lista []model.ServisRedDashboard for rows.Next() { var s model.ServisRedDashboard - if err := rows.Scan(&s.Uredjaj, &s.Status, &s.DatumPrijema); err != nil { + if err := rows.Scan(&s.ID, &s.Uredjaj, &s.Status, &s.DatumPrijema); err != nil { return nil, fmt.Errorf("ntech: izvestaj.PoslednjiServisi: %w", err) } lista = append(lista, s) diff --git a/internal/handler/dashboard.go b/internal/handler/dashboard.go index 63427c5..faa5242 100644 --- a/internal/handler/dashboard.go +++ b/internal/handler/dashboard.go @@ -83,6 +83,7 @@ func (h *Handler) Dashboard(w http.ResponseWriter, r *http.Request) { } else { for _, s := range redovi { poslednjiServisi = append(poslednjiServisi, model.StavkaServisa{ + ID: s.ID, Uredjaj: s.Uredjaj, Status: s.Status, BojaTacke: bojaTackeServisa(s.Status), diff --git a/internal/model/izvestaj.go b/internal/model/izvestaj.go index d5f58ae..aced473 100644 --- a/internal/model/izvestaj.go +++ b/internal/model/izvestaj.go @@ -8,6 +8,7 @@ import "time" // ServisRedDashboard je jedan red za listu poslednjih servisa na dashboardu type ServisRedDashboard struct { + ID int64 Uredjaj string Status string DatumPrijema time.Time diff --git a/internal/model/stranica.go b/internal/model/stranica.go index d0e371b..0da0def 100644 --- a/internal/model/stranica.go +++ b/internal/model/stranica.go @@ -2,6 +2,7 @@ package model // StavkaServisa prikazuje jedan servisni nalog na dashboardu type StavkaServisa struct { + ID int64 Uredjaj string Status string BojaTacke string diff --git a/web/templates/stranice/dashboard.html b/web/templates/stranice/dashboard.html index 80ebc36..d1e8c45 100644 --- a/web/templates/stranice/dashboard.html +++ b/web/templates/stranice/dashboard.html @@ -86,11 +86,11 @@ Poslednji servisi {{ range .PoslednjiServisi }} -
+
{{ .Uredjaj }} {{ .DatumPrijema }} -
+ {{ else }}
Nema servisnih naloga.
{{ end }}