Add support for multiple authors and contributors

This commit is contained in:
2024-12-27 10:30:15 +01:00
parent 0a14545a19
commit ca43ec1a81
10 changed files with 436 additions and 61 deletions

View File

@@ -5,6 +5,7 @@ import (
"html/template"
"log"
"net/http"
"sort"
"strconv"
b "streifling.com/jason/cpolis/cmd/backend"
@@ -33,6 +34,15 @@ func checkUserStrings(user *b.User) (string, int, bool) {
}
}
func sortUsersByName(users []*b.User) {
sort.SliceStable(users, func(i, j int) bool {
if users[i].LastName == users[j].LastName {
return users[i].FirstName < users[j].FirstName
}
return users[i].LastName < users[j].LastName
})
}
func CreateUser(c *b.Config, s *b.CookieStore) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
if _, err := GetSession(w, r, c, s); err != nil {
@@ -332,14 +342,14 @@ func ShowAllUsers(c *b.Config, db *b.DB, s *b.CookieStore, action string) http.H
})
data.Action = action
data.Users, err = db.GetAllUsers(c)
data.Users, err = db.GetAllUsersMap(c)
if err != nil {
log.Println(err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
delete(data.Users, session.Values["id"].(int64))
tmpl, err := template.ParseFiles(c.WebDir + "/templates/show-all-users.html")
if err = template.Must(tmpl, err).ExecuteTemplate(w, "page-content", data); err != nil {
log.Println(err)