Sprečeno dupliranje prodaje/servisa, alat za usklađivanje šifri artikla, ispravke osvežavanja stranica, zaštita od duplikata kategorije/artikla/usluge/troška

- Prodaja i servis: broj naloga se generiše unutar transakcije upisa umesto unapred u handleru, čime se otklanja duplo kreiranje naloga pri dvostrukom slanju forme
- Servis izmena: uklonjen sudar generičkog i sopstvenog auto-snimanja forme (dva paralelna POST-a)
- Magacin: novi alat 'Uskladi šifre sa kategorijama' za masovnu ispravku šifri artikala posle uvođenja šifarnika po kategoriji
- Ispravljeno da forme na 9 stranica (kategorije, admin korisnici/dozvole, profil, podešavanja) posle akcije osveže prikaz umesto da ostanu zastarele do F5
- Kategorija, artikal, usluga i trošak: sprečeno dupliranje naziva/šifre/koda (UNIQUE indeksi + razumljive poruke grešaka)
This commit is contained in:
2026-07-07 03:50:31 +02:00
parent 1ff572dd77
commit bc60288a0d
28 changed files with 682 additions and 110 deletions
+6
View File
@@ -0,0 +1,6 @@
-- Sprečava dupliranje kategorije: isti naziv (bez obzira na velika/mala slova)
-- ili isti kôd (prefiks šifre artikla) ne sme postojati kod dve kategorije.
-- Kôd je NULL kad nije postavljen (fallback prefiks ART), pa ga izuzimamo iz
-- provere jedinstvenosti — više kategorija sme biti bez koda.
CREATE UNIQUE INDEX IF NOT EXISTS idx_kategorije_naziv ON kategorije(naziv COLLATE NOCASE);
CREATE UNIQUE INDEX IF NOT EXISTS idx_kategorije_kod ON kategorije(kod) WHERE kod IS NOT NULL;
@@ -0,0 +1,6 @@
-- Šifra usluge/troška treba da bude jedinstvena, isti obrazac kao artikal
-- šifra/barkod (migracija 055_artikal_sifra_barkod.sql). Prazna šifra ('') se
-- ne čuva (handler šalje NULL kad je polje prazno), pa je izuzimamo da više
-- usluga/troškova bez šifre ne bi sudarilo proveru.
CREATE UNIQUE INDEX IF NOT EXISTS idx_usluge_sifra ON usluge(sifra) WHERE sifra IS NOT NULL;
CREATE UNIQUE INDEX IF NOT EXISTS idx_troskovi_sifra ON troskovi(sifra) WHERE sifra IS NOT NULL;