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
@@ -441,6 +441,23 @@
});
}
});
// flash poruka (SetFlash, npr. greška validacije) možda NIJE postojala
// u trenutnom DOM-u pre ovog zahteva — replaceWith gore je ne bi ubacio
// (menja samo postojeće elemente), pa je ovde dodajemo posebno ako se
// pojavila u svežem odgovoru.
var flashNovi = doc.getElementById('flash-toast');
if (flashNovi) {
var flashStari = document.getElementById('flash-toast');
if (flashStari) flashStari.remove();
var glavni = document.getElementById('sadrzaj');
if (glavni) {
glavni.insertBefore(flashNovi, glavni.firstChild);
setTimeout(function () {
flashNovi.classList.add('flash-izlaz');
setTimeout(function () { if (flashNovi.parentElement) flashNovi.remove(); }, 350);
}, 4000);
}
}
if (sc) sc.scrollTop = syDoc;
var gsNovi = document.getElementById('sadrzaj');
if (gsNovi) gsNovi.scrollTop = syGs;