userpage: fix redirect on contact method change

root userpage paths ("") would mess up the redirect, wrapper function
returns "/" if thats the case. For #455.
This commit is contained in:
Harvey Tindall
2025-12-16 18:32:37 +00:00
parent e4e9369d54
commit 315d74eb2d
2 changed files with 9 additions and 2 deletions

View File

@@ -199,7 +199,7 @@ func (app *appContext) confirmMyAction(gc *gin.Context, key string) {
// Perform an Action
if target == NoOp {
gc.Redirect(http.StatusSeeOther, PAGES.MyAccount)
gc.Redirect(http.StatusSeeOther, MustGetNonEmptyURL(PAGES.MyAccount))
return
} else if target == UserEmailChange {
app.modifyEmail(id, claims["email"].(string))
@@ -214,7 +214,7 @@ func (app *appContext) confirmMyAction(gc *gin.Context, key string) {
}, gc, true)
app.info.Printf(lm.UserEmailAdjusted, gc.GetString("jfId"))
gc.Redirect(http.StatusSeeOther, PAGES.MyAccount)
gc.Redirect(http.StatusSeeOther, MustGetNonEmptyURL(PAGES.MyAccount))
return
}
}

View File

@@ -66,6 +66,13 @@ func FixFullURL(v string) string {
return v
}
func MustGetNonEmptyURL(path string) string {
if !strings.HasPrefix(path, "/") {
return "/" + path
}
return path
}
func FormatSubpath(path string, removeSingleSlash bool) string {
if path == "/" {
if removeSingleSlash {