package controllers import ( "fmt" "net/http" "strconv" "github.com/gin-gonic/gin" "git.dynamicdiscord.de/malobeo/portal/services" ) type GroupController struct{} func (gc *GroupController) GroupView(c *gin.Context) { groups, err := services.Groups.GetAll(c) if err != nil { c.HTML(http.StatusBadRequest, "groups.html", gin.H{"data": gin.H{"error": err}}) } data := CreateSessionData(c, gin.H{ "groups": groups, }) if err != nil { c.HTML(http.StatusBadRequest, "groups.html", data) } c.HTML(http.StatusOK, "groups.html", data) } func (gc *GroupController) AddGroupHandler(c *gin.Context) { name := c.PostForm("name") if len(name) == 0 { fmt.Println("Adding group with empty name is forbidden") c.HTML(http.StatusBadRequest, "groups.html", gin.H{"error": "Cant create group without name"}) return } err := services.Groups.Create(c, name) if err != nil { fmt.Println(err) c.HTML(http.StatusBadRequest, "groups.html", gin.H{"error": err}) return } gc.GroupView(c) } func (gc *GroupController) GroupHandler(c *gin.Context) { action := c.PostForm("action") idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { fmt.Println(err) c.HTML(http.StatusBadRequest, "accessauths.html", gin.H{"error": err}) return } if action == "addCard" { cardName := c.PostForm("name") _, err := services.Cards.Create(c, cardName, int32(id)) if err != nil { fmt.Println(err) c.HTML(http.StatusBadRequest, "accessauths.html", gin.H{"error": err}) return } } if action == "deleteCard" { err := services.Cards.Delete(c) if err != nil { fmt.Println(err) c.HTML(http.StatusBadRequest, "accessauths.html", gin.H{"error": err}) return } } if action == "delete" { err := services.Groups.Delete(c, int32(id)) if err != nil { fmt.Println(err) c.HTML(http.StatusBadRequest, "accessauths.html", gin.H{"error": err}) return } } gc.GroupView(c) }