Added area deletion

This commit is contained in:
Magnus Åhall 2024-06-02 09:17:50 +02:00
parent 72f23b9c4d
commit b83adad7c8
10 changed files with 379 additions and 21 deletions

38
main.go
View file

@ -122,9 +122,11 @@ func main() { // {{{
service.Register("/area/new/{name}", false, false, areaNew)
service.Register("/area/rename/{id}/{name}", false, false, areaRename)
service.Register("/area/delete/{id}", false, false, areaDelete)
service.Register("/section/new/{areaID}/{name}", false, false, sectionNew)
service.Register("/section/rename/{id}/{name}", false, false, sectionRename)
service.Register("/section/delete/{id}", false, false, sectionDelete)
service.Register("/problems", false, false, pageProblems)
service.Register("/problem/acknowledge/{id}", false, false, pageProblemAcknowledge)
@ -399,6 +401,24 @@ func areaRename(w http.ResponseWriter, r *http.Request, _ *session.T) { // {{{
w.WriteHeader(302)
return
} // }}}
func areaDelete(w http.ResponseWriter, r *http.Request, _ *session.T) { // {{{
idStr := r.PathValue("id")
id, err := strconv.Atoi(idStr)
if err != nil {
httpError(w, werr.Wrap(err).WithData(idStr).Log())
return
}
err = AreaDelete(id)
if err != nil {
httpError(w, werr.Wrap(err).WithData(id).Log())
return
}
w.Header().Add("Location", "/configuration")
w.WriteHeader(302)
return
} // }}}
func sectionNew(w http.ResponseWriter, r *http.Request, _ *session.T) { // {{{
idStr := r.PathValue("areaID")
@ -438,6 +458,24 @@ func sectionRename(w http.ResponseWriter, r *http.Request, _ *session.T) { // {{
w.WriteHeader(302)
return
} // }}}
func sectionDelete(w http.ResponseWriter, r *http.Request, _ *session.T) { // {{{
idStr := r.PathValue("id")
id, err := strconv.Atoi(idStr)
if err != nil {
httpError(w, werr.Wrap(err).WithData(idStr).Log())
return
}
err = SectionDelete(id)
if err != nil {
httpError(w, werr.Wrap(err).WithData(id).Log())
return
}
w.Header().Add("Location", "/configuration")
w.WriteHeader(302)
return
} // }}}
func pageProblems(w http.ResponseWriter, _ *http.Request, _ *session.T) { // {{{
page := Page{