Ispravke: ugnježdena forma, greška čitanja fajla, mrtvi flag, refaktor struct

- podesavanja_opste.html: forma za uklanjanje loga premešena van forme za
  otpremanje — ugnježdene forme su nevažeći HTML
- ProfilOtpremiAvatar: greška iz fajl.Read(buf) se sada proverava (dozvoljava
  io.EOF, odbacuje pravi problem čitanja)
- TopbarLogoTekst uklonjen: iz modela, oba handlera i struct-a u podesavanja.go
  (podešavanje nije korišćeno ni u jednom šablonu)
- korisnici.go: dodeliOpcijeKorisnika prima korisnikOpcije struct umesto dugačke
  liste parametara; skeniraiKorisnika i Lista ažurirani
This commit is contained in:
2026-06-16 03:00:38 +02:00
parent 85cb1e25c7
commit 4fe6d53bf9
6 changed files with 70 additions and 74 deletions
-1
View File
@@ -166,7 +166,6 @@ func (h *Handler) popuniPodaciStranice(r *http.Request, podesavanja map[string]s
Podnazlov: podesavanja["podnazlov"],
LogoPutanja: podesavanja["logo_putanja"],
TopbarLogoSlika: podesavanja["topbar_logo_slika"] == "1",
TopbarLogoTekst: podesavanja["topbar_logo_tekst"] == "1",
Korisnik: "Admin",
}
var korisnik *model.Korisnik
-8
View File
@@ -30,7 +30,6 @@ type PodaciPodesavanja struct {
PIB string
LogoPutanja string
TopbarLogoSlika bool
TopbarLogoTekst bool
// profil firme — pravni/poreski status (Faza 0); određuje koji se zakonski moduli pale
FirmaPravniOblik string
FirmaPdvObveznik string
@@ -84,7 +83,6 @@ func (h *Handler) Podesavanja(w http.ResponseWriter, r *http.Request) {
PIB: podesavanja["pib"],
LogoPutanja: podesavanja["logo_putanja"],
TopbarLogoSlika: podesavanja["topbar_logo_slika"] == "1",
TopbarLogoTekst: podesavanja["topbar_logo_tekst"] == "1",
Sacuvano: r.URL.Query().Get("sacuvano") == "1",
BackupVracen: r.URL.Query().Get("sacuvano") == "vraceno",
Verzija: h.Verzija,
@@ -240,10 +238,6 @@ func (h *Handler) SacuvajPodesavanja(w http.ResponseWriter, r *http.Request) {
if r.FormValue("topbar_logo_slika") == "1" {
topbarLogoSlika = "1"
}
topbarLogoTekst := "0"
if r.FormValue("topbar_logo_tekst") == "1" {
topbarLogoTekst = "1"
}
polja := map[string]string{
"naziv_firme": r.FormValue("naziv_firme"),
@@ -252,7 +246,6 @@ func (h *Handler) SacuvajPodesavanja(w http.ResponseWriter, r *http.Request) {
"telefon": r.FormValue("telefon"),
"pib": r.FormValue("pib"),
"topbar_logo_slika": topbarLogoSlika,
"topbar_logo_tekst": topbarLogoTekst,
// profil firme (Faza 0) — radio dugmad uvek šalju vrednost, pa se uredno čuvaju
"firma_pravni_oblik": r.FormValue("firma_pravni_oblik"),
"firma_pdv_obveznik": r.FormValue("firma_pdv_obveznik"),
@@ -654,7 +647,6 @@ func (h *Handler) napuniPodaciPodesavanja(r *http.Request, naslov string) (Podac
PIB: podesavanja["pib"],
LogoPutanja: podesavanja["logo_putanja"],
TopbarLogoSlika: podesavanja["topbar_logo_slika"] == "1",
TopbarLogoTekst: podesavanja["topbar_logo_tekst"] == "1",
FirmaPravniOblik: vrednostIliDefault(podesavanja, "firma_pravni_oblik", "pausalac"),
FirmaPdvObveznik: vrednostIliDefault(podesavanja, "firma_pdv_obveznik", "ne"),
FirmaFiskalizacija: vrednostIliDefault(podesavanja, "firma_fiskalizacija", "ne"),
+6 -1
View File
@@ -328,7 +328,12 @@ func (h *Handler) ProfilOtpremiAvatar(w http.ResponseWriter, r *http.Request) {
}
buf := make([]byte, 512)
n, _ := fajl.Read(buf)
n, err := fajl.Read(buf)
if err != nil && err != io.EOF {
middleware.SetFlash(w, r, h.DB, "greska", "Greška pri čitanju fajla.")
http.Redirect(w, r, "/profil/tema", http.StatusSeeOther)
return
}
stvarniMime := http.DetectContentType(buf[:n])
if !strings.HasPrefix(stvarniMime, ocekivaniMime) {
middleware.SetFlash(w, r, h.DB, "greska", "Sadržaj fajla ne odgovara odabranoj ekstenziji.")