From 9a8e9a00cf3b638b2fb7b408af6649a6bbb634bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dalibor=20Markovi=C4=87?= Date: Sun, 21 Jun 2026 23:35:14 +0200 Subject: [PATCH] =?UTF-8?q?Magacin:=20rezervisani=20prefiksi=20USL-=20i=20?= =?UTF-8?q?TRO-=20za=20=C5=A1ifre=20Artikal=20ne=20sme=20imati=20=C5=A1ifr?= =?UTF-8?q?u=20sa=20prefiksom=20USL-/TRO-=20(provera=20u=20parseFormuArtik?= =?UTF-8?q?la,=20va=C5=BEi=20za=20nov=20i=20izmenu);=20k=C3=B4d=20kategori?= =?UTF-8?q?je=20ne=20sme=20biti=20USL/TRO=20da=20auto-=C5=A1ifra=20ne=20pa?= =?UTF-8?q?dne=20u=20rezervisani=20prostor=20usluga=20i=20tro=C5=A1kova.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/handler/kategorija.go | 8 +++++++- internal/handler/magacin_forma.go | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/internal/handler/kategorija.go b/internal/handler/kategorija.go index 5216d09..f86809d 100644 --- a/internal/handler/kategorija.go +++ b/internal/handler/kategorija.go @@ -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 diff --git a/internal/handler/magacin_forma.go b/internal/handler/magacin_forma.go index e4cab5b..32dd6c5 100644 --- a/internal/handler/magacin_forma.go +++ b/internal/handler/magacin_forma.go @@ -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")