Lists: list & add
This commit is contained in:
parent
fe71c07e17
commit
c54cad7738
6 changed files with 173 additions and 3 deletions
|
|
@ -1,9 +1,32 @@
|
|||
package controllers
|
||||
|
||||
import "github.com/gofiber/fiber/v2"
|
||||
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 {
|
||||
return c.SendString("Lists")
|
||||
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 {
|
||||
|
|
@ -11,7 +34,46 @@ func ListShow(c *fiber.Ctx) error {
|
|||
}
|
||||
|
||||
func ListAdd(c *fiber.Ctx) error {
|
||||
return c.SendString("ListAdd")
|
||||
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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue