93 lines
2.1 KiB
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)
|
|
|
|
}
|