From ae1a31f226de5701683231afaabf0f66503ca17d Mon Sep 17 00:00:00 2001 From: xengineering Date: Mon, 8 Jan 2024 19:36:01 +0100 Subject: Implement recipe editing --- controller/common.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 controller/common.go (limited to 'controller') diff --git a/controller/common.go b/controller/common.go new file mode 100644 index 0000000..014c001 --- /dev/null +++ b/controller/common.go @@ -0,0 +1,37 @@ +package controller + +import ( + "net/http" + + "xengineering.eu/ceres/model" + + "github.com/gorilla/mux" +) + +func RecipePost(w http.ResponseWriter, r *http.Request) { + var data model.Recipe + var err error + + vars := mux.Vars(r) + data.Id = vars[`id`] + + err = r.ParseForm() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // TODO error handling and generic implementation + data.Title = r.PostForm[`title`][0] + data.Portions = r.PostForm[`portions`][0] + data.URL = r.PostForm[`url`][0] + data.Notes = r.PostForm[`notes`][0] + + err = data.ToDB() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + http.Redirect(w, r, r.URL.Path, http.StatusSeeOther) +} -- cgit v1.2.3-70-g09d2