1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-12-13 22:00:27 +00:00

Merge pull request #90 from chekoopa/rename-fix

Fix redirect after renaming
This commit is contained in:
Timur Ismagilov 2021-08-23 13:28:35 +05:00 committed by GitHub
commit 02b54b5c04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -119,17 +119,26 @@ var handlerDeleteConfirm = factoryHandlerConfirmer(
}, },
) )
var handlerRenameConfirm = factoryHandlerConfirmer( // handlerRenameConfirm should redirect to the new hypha, thus it's out of factory
"rename-confirm", func handlerRenameConfirm(w http.ResponseWriter, rq *http.Request) {
func(oldHypha *hyphae.Hypha, u *user.User, rq *http.Request) (*history.HistoryOp, string) { util.PrepareRq(rq)
var ( var (
newName = util.CanonicalName(rq.PostFormValue("new-name")) u = user.FromRequest(rq)
recursive = rq.PostFormValue("recursive") == "true" hyphaName = util.HyphaNameFromRq(rq, "rename-confirm")
newHypha = hyphae.ByName(newName) oldHypha = hyphae.ByName(hyphaName)
) newName = util.CanonicalName(rq.PostFormValue("new-name"))
return shroom.RenameHypha(oldHypha, newHypha, recursive, u) newHypha = hyphae.ByName(newName)
}, recursive = rq.PostFormValue("recursive") == "true"
) )
hop, errtitle := shroom.RenameHypha(oldHypha, newHypha, recursive, u)
if hop.HasErrors() {
httpErr(w, http.StatusInternalServerError, hyphaName,
errtitle,
hop.FirstErrorText())
return
}
http.Redirect(w, rq, "/hypha/"+newName, http.StatusSeeOther)
}
// handlerEdit shows the edit form. It doesn't edit anything actually. // handlerEdit shows the edit form. It doesn't edit anything actually.
func handlerEdit(w http.ResponseWriter, rq *http.Request) { func handlerEdit(w http.ResponseWriter, rq *http.Request) {