diff --git a/_content/rappresentanti.json b/_content/rappresentanti.json
new file mode 100644
index 0000000..9485fd1
--- /dev/null
+++ b/_content/rappresentanti.json
@@ -0,0 +1 @@
+["berni", "budacuferrari", "delucreziis", "butori", "cecchi", "diprisa", "gambicchia", "lamanna", "morganti", "numero", "piazza", "pignatelli", "pratali", "talluri", "tanzini"]
diff --git a/_views/utenti.html b/_views/utenti.html
index a56aba3..bad4a87 100644
--- a/_views/utenti.html
+++ b/_views/utenti.html
@@ -1,4 +1,4 @@
-{{template "base" .}}
+{{template "base" .}}
{{define "title"}}Utenti • PHC{{end}}
{{define "body"}}
@@ -37,8 +37,8 @@
+
+
+
+
+
diff --git a/lista_utenti/json.go b/lista_utenti/json.go
index e233806..6e8f14f 100644
--- a/lista_utenti/json.go
+++ b/lista_utenti/json.go
@@ -12,7 +12,8 @@ import (
type jsonListaUtenti struct {
Path string
- Macchinisti util.Set[string]
+ Macchinisti util.Set[string]
+ Rappresentanti util.Set[string]
}
func newJsonListaUtenti(path string) (Service, error) {
@@ -20,8 +21,12 @@ func newJsonListaUtenti(path string) (Service, error) {
if err != nil {
return nil, err
}
+ rappresentanti, err := loadRappresentanti()
+ if err != nil {
+ return nil, err
+ }
- return &jsonListaUtenti{path, macchinisti}, nil
+ return &jsonListaUtenti{path, macchinisti, rappresentanti}, nil
}
func (j *jsonListaUtenti) GetUtenti() ([]*model.ListUser, error) {
@@ -37,6 +42,7 @@ func (j *jsonListaUtenti) GetUtenti() ([]*model.ListUser, error) {
}
mergeMacchinisti(users, j.Macchinisti)
+ mergeRappresentanti(users, j.Rappresentanti)
log.Printf("Caricata lista di %d utenti", len(users))
diff --git a/lista_utenti/lista_utenti.go b/lista_utenti/lista_utenti.go
index ada229d..c285f59 100644
--- a/lista_utenti/lista_utenti.go
+++ b/lista_utenti/lista_utenti.go
@@ -44,3 +44,26 @@ func mergeMacchinisti(users []*model.ListUser, macchinisti util.Set[string]) {
}
}
}
+
+func loadRappresentanti() (util.Set[string], error) {
+ f, err := os.Open("_content/rappresentanti.json")
+ if err != nil {
+ return nil, err
+ }
+
+ rappresentanti := []string{}
+
+ if err := json.NewDecoder(f).Decode(&rappresentanti); err != nil {
+ return nil, err
+ }
+
+ return util.NewSet(rappresentanti...), nil
+}
+
+func mergeRappresentanti(users []*model.ListUser, rappresentanti util.Set[string]) {
+ for _, user := range users {
+ if _, found := rappresentanti[user.Uid]; found {
+ user.Tags = append(user.Tags, "rappresentante")
+ }
+ }
+}