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
+3 -3
View File
@@ -38,7 +38,7 @@
{{if eq .Uloga "superadmin"}}
<span class="pomocni-tekst">Superadmin</span>
{{else if eq $.KorisnikUloga "superadmin"}}
<form method="POST" action="/admin/korisnici/{{.ID}}/uloga" style="display:inline;">
<form method="POST" action="/admin/korisnici/{{.ID}}/uloga" data-refresh="#lista-korisnika-kartica" style="display:inline;">
<select name="uloga" onchange="this.form.submit()"
style="padding:4px 8px;border:0.5px solid var(--ivica);border-radius:6px;background:var(--pozadina);color:var(--tekst-glavni);font-size:12px;">
<option value="admin" {{if eq .Uloga "admin"}}selected{{end}}>Admin</option>
@@ -74,14 +74,14 @@
Istorija prijava
</a>
{{if ne .KorisnickoIme $.KorisnikIme}}
<form method="POST" action="/admin/korisnici/{{.ID}}/aktivan" style="display:inline;">
<form method="POST" action="/admin/korisnici/{{.ID}}/aktivan" data-refresh="#lista-korisnika-kartica" style="display:inline;">
<button type="submit"
style="padding:5px 12px;border:0.5px solid var(--ivica);border-radius:6px;background:transparent;color:var(--tekst-sporedni);font-size:12px;cursor:pointer;">
{{if .Aktivan}}Deaktiviraj{{else}}Aktiviraj{{end}}
</button>
</form>
{{if eq .Uloga "radnik"}}
<form method="POST" action="/admin/korisnici/{{.ID}}/obrisi" style="display:inline;">
<form method="POST" action="/admin/korisnici/{{.ID}}/obrisi" data-refresh="#lista-korisnika-kartica" style="display:inline;">
<button type="submit"
class="btn-obrisi-ghost"
data-potvrda="Obrisati korisnika {{.KorisnickoIme}}? Ova radnja je trajna.">