- konstantno-vremensko poređenje CSRF tokena i kartica-PIN-a
- CSRF grupa proširena na /prijava, /prijava/totp, /setup
- router-level dozvola na svim /admin/podesavanja/* i modul("fiskalizacija")
na fiskal.pazar rutama
- KlijentRepo.Pronadji razlikuje sql.ErrNoRows od stvarnih DB grešaka
- izdvojen zajednički vratiStavkeNaStanje umesto 4 duplirana bloka
(ProdajaRepo/ServisRepo Storno/Obrisi)
- datumi u KIR/KPR sada se upisuju/porede kao "2006-01-02", usklađeno sa KPO
- ArtikalRepo.DohvatiVise (batch dohvat) — ukida N+1 upite u SacuvajNabavku
- KategorijaRepo.Obrisi umesto direktnog SQL-a u handleru, sa
ErrKategorijaUUpotrebi porukom
- KolicinMin -> KolicinaMin (tipfeler), Trosak/Usluga.DatumUnosa string -> time.Time
- dedup OznakaPoreskogBroja (KIR/KPR)
- inicijali() template funkcija (rune, ne bajtovi) za avatar inicijale
24 lines
586 B
Go
24 lines
586 B
Go
package model
|
|
|
|
import "time"
|
|
|
|
// Usluga je stavka cenovnika usluga (npr. čišćenje laptopa, zamena ventilatora).
|
|
// Za razliku od artikla, usluga ne prati lager i nema nabavnu cenu ni dobavljače —
|
|
// ima samo cenu usluge i PDV stopu. Kategorija je tekstualna oznaka.
|
|
type Usluga struct {
|
|
ID int64
|
|
Sifra string
|
|
Naziv string
|
|
Kategorija string
|
|
JedinicaMere string
|
|
Cena float64
|
|
PdvStopa float64
|
|
Opis string
|
|
Arhiviran bool
|
|
DatumUnosa time.Time
|
|
}
|
|
|
|
func (u Usluga) CenaSaPdv() float64 {
|
|
return u.Cena * (1 + u.PdvStopa/100)
|
|
}
|