This repository has been archived on 2025-05-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
shop/app/controllers/category_controller.go

93 lines
2.1 KiB
Go

package controllers
import (
"github.com/google/uuid"
"github.com/gorilla/mux"
"github.com/unrolled/render"
"moretcgshop/app/models"
"net/http"
)
func (server *Server) Categories(w http.ResponseWriter, r *http.Request) {
renderer := render.New(render.Options{
Layout: "layout",
Extensions: []string{".html", ".tmpl"},
})
vars := mux.Vars(r)
if vars["id"] == "" {
return
}
categoryModel := models.Category{}
categories, err := categoryModel.GetCategory(server.DB, vars["id"])
if err != nil {
println(err.Error())
return
}
_ = renderer.HTML(w, http.StatusOK, "categories", map[string]interface{}{
"categories": categories,
})
}
func (server *Server) AdminCategoryList(w http.ResponseWriter, r *http.Request) {
renderer := render.New(render.Options{
Layout: "layout",
Extensions: []string{".html", ".tmpl"},
})
vars := mux.Vars(r)
if vars["spielid"] == "" {
println("spielid is leer")
return
}
section, err := models.GetSectionByID(server.DB, vars["spielid"])
categoryModel := models.Category{}
categories, err := categoryModel.GetCategory(server.DB, vars["spielid"])
if err != nil {
println(err.Error())
return
}
_ = renderer.HTML(w, http.StatusOK, "admin_categoryList", map[string]interface{}{
"categories": categories,
"spiel": section,
})
}
func (server *Server) AdminCategoryPost(w http.ResponseWriter, r *http.Request) {
kategorieName := r.FormValue("katname")
spielID := r.FormValue("spielid")
if kategorieName == "" {
SetFlash(w, r, "error", "Kategoriename wurde nicht eingetragen")
http.Redirect(w, r, "/admin/category/"+spielID, http.StatusSeeOther)
return
}
kategorieModel := &models.Category{}
params := &models.Category{
ID: uuid.New().String(),
Name: kategorieName,
SectionID: spielID,
}
_, err := kategorieModel.CreateCategory(server.DB, params)
if err != nil {
SetFlash(w, r, "error", "Sorry das war nicht erfolgreich")
http.Redirect(w, r, "/admin/category/"+spielID, http.StatusSeeOther)
return
}
http.Redirect(w, r, "/admin/category/"+spielID, http.StatusSeeOther)
}