From 04e66d7888f4567e004e4a6cf76765e8451c6a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Mon, 22 Apr 2019 10:10:12 +0200 Subject: sklad: redirect to GET on successful DB changes --- cmd/sklad/main.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/cmd/sklad/main.go b/cmd/sklad/main.go index 8a7e939..58aa8ef 100644 --- a/cmd/sklad/main.go +++ b/cmd/sklad/main.go @@ -115,12 +115,15 @@ func handleContainer(w http.ResponseWriter, r *http.Request) { var err error if r.Method == http.MethodPost { - err = handleContainerPost(r) - // FIXME: This is rather ugly. When removing, we want to keep - // the context id, in addition to the id being changed. - // TODO: If there were no errors, redirect the user to GET, - // which is related to the previous comment. - // TODO: If there were errors, use the last data as a prefill. + if err = handleContainerPost(r); err == nil { + redirect := "container" + if shownId != "" { + redirect += "?id=" + url.QueryEscape(shownId) + } + http.Redirect(w, r, redirect, http.StatusSeeOther) + return + } + // TODO: Use the last data as a prefill. } else if r.Method != http.MethodGet { w.WriteHeader(http.StatusMethodNotAllowed) return @@ -194,7 +197,10 @@ func handleSeriesPost(r *http.Request) error { func handleSeries(w http.ResponseWriter, r *http.Request) { var err error if r.Method == http.MethodPost { - err = handleSeriesPost(r) + if err = handleSeriesPost(r); err == nil { + http.Redirect(w, r, "series", http.StatusSeeOther) + return + } // XXX: This is rather ugly. r.Form = url.Values{} } else if r.Method != http.MethodGet { -- cgit v1.2.3