diff --git a/internal/handler/admin.go b/internal/handler/admin.go index 8efec75..1cb120a 100644 --- a/internal/handler/admin.go +++ b/internal/handler/admin.go @@ -250,7 +250,7 @@ func (h *Handler) AdminPromeniUlogu(w http.ResponseWriter, r *http.Request) { // AdminObrisiKorisnika briše korisnika sa ulogom radnik func (h *Handler) AdminObrisiKorisnika(w http.ResponseWriter, r *http.Request) { k := middleware.KorisnikIzKonteksta(r.Context()) - if k == nil || k.Uloga != "superadmin" { + if !middleware.JeAdmin(k) { http.Error(w, "Pristup odbijen", http.StatusForbidden) return } diff --git a/web/templates/teme/podrazumevana/base.html b/web/templates/teme/podrazumevana/base.html index bc0581e..6ddf3e2 100644 --- a/web/templates/teme/podrazumevana/base.html +++ b/web/templates/teme/podrazumevana/base.html @@ -511,6 +511,11 @@ } // promena teme zahteva reload (menja se ceo CSS fajl) if (f.querySelector('[name="lokalna_tema"]')) location.reload(); + } else if (!res.ok) { + // greška bez redirekta (http.Error — 403/404/500/...) — obavesti korisnika, + // ne navigiraj na POST-only rutu (izaziva 405 kod GET-a) + window.ntechToast('Došlo je do greške. Pokušajte ponovo.', 'greska'); + if (btn) btn.disabled = false; } else { // redirect na drugu stranicu ili bez sacuvano — navigiraj normalno location.href = res.url;