Demo mod: ograničenje bekapa i blokada promene lozinke

- Bekap se ograničava na 2 kopije u demo modu (umesto 7)
- Promena lozinke je blokirana u demo modu — handler odbija zahtev,
  a šablon sakriva formu i prikazuje obaveštenje korisniku
This commit is contained in:
2026-06-19 01:16:24 +02:00
parent 1cfb44b9a4
commit 1ab16c9efa
3 changed files with 29 additions and 4 deletions
+11
View File
@@ -35,6 +35,7 @@ type podaciAdminProfil struct {
BrojRezervnih int // koliko neiskorišćenih rezervnih kodova je preostalo
LokalnaTema string
KoristiLokalnuTemu bool
JelDemo bool
}
type podaciProfilTema struct {
@@ -312,6 +313,7 @@ func (h *Handler) AdminProfil(w http.ResponseWriter, r *http.Request) {
BrojRezervnih: brojRezervnih,
LokalnaTema: svezi.LokalnaTema,
KoristiLokalnuTemu: svezi.KoristiLokalnuTemu,
JelDemo: h.JelDemo,
})
}
@@ -352,6 +354,7 @@ func (h *Handler) generisiIPrikaziKodove(w http.ResponseWriter, r *http.Request,
TotpAktivan: true,
RezervniKodovi: kodovi,
BrojRezervnih: len(kodovi),
JelDemo: h.JelDemo,
})
}
@@ -363,6 +366,12 @@ func (h *Handler) AdminPromeniLozinku(w http.ResponseWriter, r *http.Request) {
return
}
if h.JelDemo {
middleware.SetFlash(w, r, h.DB, "greska", "Promena lozinke nije dozvoljena u demo modu.")
http.Redirect(w, r, "/admin/profil", http.StatusSeeOther)
return
}
if err := r.ParseForm(); err != nil {
middleware.SetFlash(w, r, h.DB, "greska", "Greška. Pokušajte ponovo.")
http.Redirect(w, r, "/admin/profil", http.StatusSeeOther)
@@ -426,6 +435,7 @@ func (h *Handler) AdminTotpPokreni(w http.ResponseWriter, r *http.Request) {
TotpURI: totp.URI,
TotpTajna: totp.Tajna,
TotpQR: template.URL("data:image/png;base64," + totp.QRBase64),
JelDemo: h.JelDemo,
})
}
@@ -465,6 +475,7 @@ func (h *Handler) AdminTotpAktivacija(w http.ResponseWriter, r *http.Request) {
TotpTajna: tajna,
TotpQR: template.URL("data:image/png;base64," + qr),
Greska: "totp",
JelDemo: h.JelDemo,
})
return
}