aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/sklad/main.go20
1 files 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 {