34 lines
692 B
Go
34 lines
692 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 Contacts(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_contact = ?", true,
|
|
)
|
|
|
|
if result.Error != nil && !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
|
return err
|
|
}
|
|
|
|
return c.Render("people", fiber.Map{
|
|
"PageTitle": "Contacts",
|
|
"MembersPage": false,
|
|
"People": people,
|
|
})
|
|
}
|