pop-camarades/controllers/members.go

34 lines
688 B
Go

package controllers
import (
"errors"
"git.readonly.ch/bouzoure/pop-camarades/helpers"
"git.readonly.ch/bouzoure/pop-camarades/models"
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
)
func Members(c *fiber.Ctx) error {
db, err := helpers.GetDatabase()
if err != nil {
return err
}
var people []models.Person
result := db.Order(
"last_name collate nocase asc, first_name collate nocase asc",
).Preload("Section").Find(
&people, "is_member = ?", true,
)
if result.Error != nil && !errors.Is(result.Error, gorm.ErrRecordNotFound) {
return err
}
return c.Render("people", fiber.Map{
"PageTitle": "Membres",
"MembersPage": true,
"People": people,
})
}