Erzeuge Templates zentral und nicht pro Aufruf

This commit is contained in:
Gonne 2022-09-13 07:28:13 +02:00
parent 886ccc0dcb
commit 43b3631da2
7 changed files with 32 additions and 45 deletions

View file

@ -2,7 +2,6 @@ package controllers
import (
"fmt"
"html/template"
"net/http"
"net/mail"
"sprechstundentool/models"
@ -146,35 +145,23 @@ func (b *BaseHandler) AddOfficeHourHandler(w http.ResponseWriter, req *http.Requ
id, err := b.officeHourRepo.Add(officeHour)
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
failureTemplate, parseErr := template.ParseFiles("templates/addFailure.html")
if parseErr != nil {
w.Write([]byte(fmt.Sprintf("Template konnte nicht geparst werden : %s", err.Error())))
return
}
failureTemplate.Execute(w, err)
Templates.ExecuteTemplate(w, "addFailure.html", err)
return
}
officeHour, _ = b.officeHourRepo.FindById(id)
b.requestRepo.Add(officeHour, models.RequestActivate)
tmpl, err := template.ParseFiles("templates/addSuccess.html")
tmpl.Execute(w, struct{}{})
Templates.ExecuteTemplate(w, "addSuccess.html", struct{}{})
}
}
func (b *BaseHandler) writeAddOfficeHourMask(w http.ResponseWriter, req *http.Request, data maskData) {
tmpl, err := template.ParseFiles("templates/addMask.html")
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Template konnte nicht geparst werden : %s", err.Error())))
return
}
if len(data.Errors) != 0 {
w.WriteHeader(http.StatusBadRequest)
}
if req.Method == http.MethodGet {
data.Errors = []string{}
}
err = tmpl.Execute(w, data)
err := Templates.ExecuteTemplate(w, "addMask.html", data)
if err != nil {
w.Write([]byte(fmt.Sprintf("Template konnte nicht geparst werden : %s", err.Error())))
return