Magacin: rezervisani prefiksi USL- i TRO- za šifre

Artikal ne sme imati šifru sa prefiksom USL-/TRO- (provera u parseFormuArtikla,
važi za nov i izmenu); kôd kategorije ne sme biti USL/TRO da auto-šifra ne padne
u rezervisani prostor usluga i troškova.
This commit is contained in:
2026-06-21 23:35:14 +02:00
parent 1b508f816b
commit 0bb3dc76de
2 changed files with 15 additions and 2 deletions
+7 -1
View File
@@ -138,7 +138,13 @@ func normalizujKod(s string) string {
b.WriteRune(r)
}
}
return b.String()
kod := b.String()
// USL i TRO su rezervisani prefiksi (usluge i troškovi) — ne dozvoljavamo ih
// kao kôd kategorije da auto-šifra artikla ne bi pala u rezervisani prostor
if kod == "USL" || kod == "TRO" {
return ""
}
return kod
}
// ObrisiKategoriju briše kategoriju po ID-u
+8 -1
View File
@@ -306,7 +306,14 @@ func parseFormuArtikla(r *http.Request) (model.Artikal, string) {
var artikal model.Artikal
artikal.Naziv = naziv
artikal.Sifra = r.FormValue("sifra")
artikal.Sifra = strings.TrimSpace(r.FormValue("sifra"))
// prefiksi USL- i TRO- su rezervisani za šifre usluga i troškova
if artikal.Sifra != "" {
velika := strings.ToUpper(artikal.Sifra)
if strings.HasPrefix(velika, "USL-") || strings.HasPrefix(velika, "TRO-") {
return artikal, "Šifre sa prefiksom USL- i TRO- su rezervisane za usluge i troškove."
}
}
artikal.Barkod = r.FormValue("barkod")
artikal.Opis = r.FormValue("opis")
artikal.Lokacija = r.FormValue("lokacija")