From 0bb3dc76de88fb2a395b320b7b22c493e3a2436a 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?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- 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")