Code-review popravke: RequireDozvola middleware, validacija backupa, dedup partiala
Bezbednost / dozvole:
- Nov RequireDozvola(proveri, akcija) middleware (po uzoru na RequireAdmin):
na odbijanje redirekt na /dashboard sa flash porukom umesto golog 403
- 10 "pregled" ruta (prodaja, servis, klijenti, dobavljači, nabavke) prešlo
na deklarativnu proveru na nivou rute
- Uklonjene inline pregled-provere iz handlera — provera je sad na jednom
mestu po ruti, vidljiva u ruteru
Backup podešavanja:
- Neispravan unos (van opsega ili ne-broj) više se ne preskače tiho;
prikazuje se jasna greška i ne prikazuje se lažno "sačuvano"
- Hvata se greška pri čuvanju u bazu (uklonjen progutani _ =)
Šabloni:
- "Premesti" dropdown izvučen u jedan {{define "premestiMeni"}} partial
(više nije dupliran u tabeli i mobilnoj kartici)
- Dodat dict helper u FuncMap saSidebar šablona radi prosleđivanja više
vrednosti partialu; standalone šabloni namerno ostaju bez izmene
This commit is contained in:
@@ -133,15 +133,7 @@
|
||||
</a>
|
||||
{{end}}
|
||||
{{if index $.Dozvole "artikal.premesti"}}{{if $.Kategorije}}
|
||||
<details class="premesti-meni" style="align-self:center;">
|
||||
<summary class="btn-primarno-malo" style="cursor:pointer;">Premesti</summary>
|
||||
<form method="POST" action="/magacin/premesti/{{.ID}}" class="premesti-panel">
|
||||
{{range $.Kategorije}}
|
||||
<button type="submit" name="kategorija_id" value="{{.ID}}" class="premesti-opcija">{{.Naziv}}</button>
|
||||
{{end}}
|
||||
<button type="submit" name="kategorija_id" value="" class="premesti-opcija premesti-opcija-prazno">Bez kategorije</button>
|
||||
</form>
|
||||
</details>
|
||||
{{template "premestiMeni" (dict "ID" .ID "Kategorije" $.Kategorije)}}
|
||||
{{end}}{{end}}
|
||||
{{if index $.Dozvole "artikal.obrisi"}}
|
||||
<a href="/magacin/obrisi/{{.ID}}" class="btn-obrisi-malo"
|
||||
@@ -180,15 +172,7 @@
|
||||
<a href="/magacin/izmeni/{{.ID}}" class="btn-primarno-malo">Izmeni</a>
|
||||
{{end}}
|
||||
{{if index $.Dozvole "artikal.premesti"}}{{if $.Kategorije}}
|
||||
<details class="premesti-meni">
|
||||
<summary class="btn-primarno-malo" style="cursor:pointer;">Premesti</summary>
|
||||
<form method="POST" action="/magacin/premesti/{{.ID}}" class="premesti-panel">
|
||||
{{range $.Kategorije}}
|
||||
<button type="submit" name="kategorija_id" value="{{.ID}}" class="premesti-opcija">{{.Naziv}}</button>
|
||||
{{end}}
|
||||
<button type="submit" name="kategorija_id" value="" class="premesti-opcija premesti-opcija-prazno">Bez kategorije</button>
|
||||
</form>
|
||||
</details>
|
||||
{{template "premestiMeni" (dict "ID" .ID "Kategorije" $.Kategorije)}}
|
||||
{{end}}{{end}}
|
||||
{{if index $.Dozvole "artikal.obrisi"}}
|
||||
<a href="/magacin/obrisi/{{.ID}}" class="btn-obrisi-malo"
|
||||
@@ -222,3 +206,16 @@
|
||||
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{/* padajući meni za premeštanje artikla — prima dict {ID, Kategorije}; koristi se i u tabeli i u mobilnoj kartici */}}
|
||||
{{define "premestiMeni"}}
|
||||
<details class="premesti-meni" style="align-self:center;">
|
||||
<summary class="btn-primarno-malo" style="cursor:pointer;">Premesti</summary>
|
||||
<form method="POST" action="/magacin/premesti/{{.ID}}" class="premesti-panel">
|
||||
{{range .Kategorije}}
|
||||
<button type="submit" name="kategorija_id" value="{{.ID}}" class="premesti-opcija">{{.Naziv}}</button>
|
||||
{{end}}
|
||||
<button type="submit" name="kategorija_id" value="" class="premesti-opcija premesti-opcija-prazno">Bez kategorije</button>
|
||||
</form>
|
||||
</details>
|
||||
{{end}}
|
||||
|
||||
Reference in New Issue
Block a user