Files
GoNtech/internal/model/klijent.go
T
Dasko 7f0abc5ed1 Klijent: izbor JMBG/Br. lične karte i kontakt osoba za pravno lice
- Nova kolona tip_identifikacije ('jmbg'/'licna_karta'), migracija 062; postojeći klijenti podrazumevano 'jmbg'
- model.Klijent: polje TipIdentifikacije + helper OznakaIdentifikacije za prikaz
- sqlite/klijent.go: kolona u svim upitima (Lista, DohvatiID, ListaFilter, Kreiraj, Izmeni)
- parseFormuKlijenta i mozdaKreirajKlijenta čitaju tip_identifikacije (fallback 'jmbg')
- Forme klijenta i servisnog naloga: selektor vrste dokumenta + polje vrednosti
- Servisni nalog: kontakt osoba (ime/prezime) za pravno lice
- Validnost broja (JMBG 13 cifara, broj lične karte) ostavljena za kasnije
2026-06-21 12:28:39 +02:00

42 lines
1.1 KiB
Go

package model
import (
"strings"
"time"
)
// Klijent predstavlja jednog klijenta — fizičko lice ili firmu
type Klijent struct {
ID int64
Tip string
Ime string
Prezime string
JMBG string // vrednost identifikacionog broja (JMBG ili broj lične karte)
// TipIdentifikacije govori šta je u polju JMBG: "jmbg" ili "licna_karta".
// Validnost vrednosti (JMBG = 13 cifara, format broja lične karte) proverava se kasnije.
TipIdentifikacije string
NazivFirme string
PIB string
Telefon string
Email string
Mesto string
Napomena string
DatumUnosa time.Time
}
// PunoIme vraća ime i prezime za fizičko lice, ili naziv firme za pravno
func (k Klijent) PunoIme() string {
if k.Tip == "pravno" {
return k.NazivFirme
}
return strings.TrimSpace(k.Ime + " " + k.Prezime)
}
// OznakaIdentifikacije vraća labelu za prikaz: „Br. lične karte" ili „JMBG" (podrazumevano)
func (k Klijent) OznakaIdentifikacije() string {
if k.TipIdentifikacije == "licna_karta" {
return "Br. lične karte"
}
return "JMBG"
}