Files
GoNtech/internal/db/sqlite/utils.go
T
Dasko ccb3f9d748 Servis: garancija kao trajanje u danima + Tehničar → Serviser
- Garancija se u detaljima prikazuje kao trajanje na srpskom (npr. „1 mesec i 15 dana",
  „2 meseca", „20 dana"); helper garancijaTekst + srpska deklinacija
- Nova kolona garancija_dana (trajanje od završetka); garancija_do ostaje za fazu Završeno
- Modal: textbox „Trajanje garancije (dana)" umesto kalendara; Podrazumevano i Bez garancije
- Nova ruta/handler AzurirajGarancijaDana; forma izmene čuva trajanje (ne briše)
- Podešavanja → Servis: rok garancije prebačen iz meseci u dane (servis_garancija_dana, default 60)
- „Garancija do" uklonjena iz forme Izmeni nalog (kod arhiviran u docs/garancija-buduca-logika.md);
  SacuvajIzmenaNaloga čuva garanciju iz baze da je auto-snimanje ne pregazi
- Prikazni tekst „Tehničar" → „Serviser" svuda (identifikatori Tehnicar/tehnicar_id netaknuti)
2026-06-23 02:35:49 +02:00

49 lines
1.3 KiB
Go

package sqlite
import (
"database/sql"
"time"
)
// nullString pretvara prazan Go string u sql.NullString sa NULL vrednošću —
// koristi se pri unosu i izmeni kada polje u bazi sme biti NULL
func nullString(s string) sql.NullString {
return sql.NullString{String: s, Valid: s != ""}
}
// nullInt64 pretvara *int64 pokazivač u sql.NullInt64 —
// koristi se za opciona FK polja koja smeju biti NULL u bazi
func nullInt64(v *int64) sql.NullInt64 {
if v == nil {
return sql.NullInt64{}
}
return sql.NullInt64{Int64: *v, Valid: true}
}
// nullInt pretvara *int pokazivač u sql.NullInt64 —
// koristi se za opciona celobrojna polja (npr. trajanje garancije u danima)
func nullInt(v *int) sql.NullInt64 {
if v == nil {
return sql.NullInt64{}
}
return sql.NullInt64{Int64: int64(*v), Valid: true}
}
// nullFloat64 pretvara *float64 pokazivač u sql.NullFloat64 —
// koristi se za opciona numerička polja kao što su cene
func nullFloat64(v *float64) sql.NullFloat64 {
if v == nil {
return sql.NullFloat64{}
}
return sql.NullFloat64{Float64: *v, Valid: true}
}
// nullTime pretvara *time.Time pokazivač u sql.NullTime —
// koristi se za opciona datumska polja kao što je datum završetka
func nullTime(v *time.Time) sql.NullTime {
if v == nil {
return sql.NullTime{}
}
return sql.NullTime{Time: *v, Valid: true}
}