package controllers import ( "errors" "fmt" "git.readonly.ch/bouzoure/popvaud-people/helpers" "git.readonly.ch/bouzoure/popvaud-people/models" "github.com/gofiber/fiber/v2" "gorm.io/gorm" ) func Lists(c *fiber.Ctx) error { db, err := helpers.GetDatabase() if err != nil { return err } var lists []models.List result := db.Find(&lists) if result.Error != nil && !errors.Is(result.Error, gorm.ErrRecordNotFound) { return err } return c.Render("lists", fiber.Map{ "PageTitle": "Listes", "Lists": lists, }) } func ListShow(c *fiber.Ctx) error { return c.SendString("ListShow") } func ListAdd(c *fiber.Ctx) error { var list models.List var errors []string db, err := helpers.GetDatabase() if err != nil { return err } if c.Method() == "POST" { name := c.FormValue("name") multi := c.FormValue("multi") if len(name) > 100 || len(name) < 1 { errors = append(errors, "Le nom doit avoir entre 1 et 100 caractères") } list.Name = name list.Multi = false if multi == "on" { list.Multi = true } if len(errors) == 0 { result := db.Create(&list) if result.Error != nil { return result.Error } else { c.Redirect(fmt.Sprintf( "/admin/lists/%d", list.ID, )) } } } return c.Render("list_form", fiber.Map{ "PageTitle": "Ajouter une liste", "List": list, "Errors": errors, }) } func ListEdit(c *fiber.Ctx) error { return c.SendString("ListEdit") } func ListDelete(c *fiber.Ctx) error { return c.SendString("ListDelete") } func ListItemAdd(c *fiber.Ctx) error { return c.SendString("ListItemAdd") } func ListItemEdit(c *fiber.Ctx) error { return c.SendString("ListItemEdit") } func ListItemDelete(c *fiber.Ctx) error { return c.SendString("ListItemDelete") }