feat(moduli): mehanizam uključenih modula — Moduli mapa i RequireModul (Faza 0)

config.SviModuli + PodaciStranice.Moduli (uslovni meni, analogno Dozvole)
i middleware.RequireModul (zaštita ruta, analogno RequireDozvola). Sloj
iznad RBAC-a: zahtev mora proći i „modul uključen" i „korisnik sme".
Dopunjen test (TestSviModuli). Time je Faza 0 kompletna.
This commit is contained in:
2026-06-13 20:23:24 +02:00
parent 3817ba4cbd
commit 6d066f6704
5 changed files with 71 additions and 1 deletions
+11
View File
@@ -54,3 +54,14 @@ func ModulUkljucen(podesavanja map[string]string, modul string) bool {
return false
}
}
// SviModuli vraća mapu svih poznatih modula → da li su uključeni za dati profil firme.
// Koristi se da šabloni uslovno prikazuju stavke menija (analogno mapi Dozvole).
func SviModuli(podesavanja map[string]string) map[string]bool {
moduli := []string{ModulPdv, ModulFiskalizacija, ModulKpo, ModulDvojno}
m := make(map[string]bool, len(moduli))
for _, modul := range moduli {
m[modul] = ModulUkljucen(podesavanja, modul)
}
return m
}