Compare commits

...

2 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 04e66d7888
sklad: redirect to GET on successful DB changes 2019-04-22 10:14:28 +02:00
Přemysl Eric Janouch 7d2ca09d1b
sklad: show the context when deleting containers
Do not try to show the deleted container.
2019-04-22 10:09:08 +02:00
1 changed files with 20 additions and 8 deletions

View File

@ -107,14 +107,23 @@ func handleContainerPost(r *http.Request) error {
} }
func handleContainer(w http.ResponseWriter, r *http.Request) { func handleContainer(w http.ResponseWriter, r *http.Request) {
// When deleting, do not try to show the deleted entry but the context.
shownId := r.FormValue("context")
if shownId == "" {
shownId = r.FormValue("id")
}
var err error var err error
if r.Method == http.MethodPost { if r.Method == http.MethodPost {
err = handleContainerPost(r) if err = handleContainerPost(r); err == nil {
// FIXME: This is rather ugly. When removing, we want to keep redirect := "container"
// the context id, in addition to the id being changed. if shownId != "" {
// TODO: If there were no errors, redirect the user to GET, redirect += "?id=" + url.QueryEscape(shownId)
// which is related to the previous comment. }
// TODO: If there were errors, use the last data as a prefill. http.Redirect(w, r, redirect, http.StatusSeeOther)
return
}
// TODO: Use the last data as a prefill.
} else if r.Method != http.MethodGet { } else if r.Method != http.MethodGet {
w.WriteHeader(http.StatusMethodNotAllowed) w.WriteHeader(http.StatusMethodNotAllowed)
return return
@ -128,7 +137,7 @@ func handleContainer(w http.ResponseWriter, r *http.Request) {
var container *Container var container *Container
children := indexChildren[""] children := indexChildren[""]
if c, ok := indexContainer[ContainerId(r.FormValue("id"))]; ok { if c, ok := indexContainer[ContainerId(shownId)]; ok {
children = c.Children() children = c.Children()
container = c container = c
} }
@ -188,7 +197,10 @@ func handleSeriesPost(r *http.Request) error {
func handleSeries(w http.ResponseWriter, r *http.Request) { func handleSeries(w http.ResponseWriter, r *http.Request) {
var err error var err error
if r.Method == http.MethodPost { 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. // XXX: This is rather ugly.
r.Form = url.Values{} r.Form = url.Values{}
} else if r.Method != http.MethodGet { } else if r.Method != http.MethodGet {