Fix incorrect/Improve error handle in edit user page (#23805)

Changes:
- `RenderWithErr` should render `tplUserEdit` not `tplUserNew` in edit
page
- If error occurred in `HandleUsernameChange` redirect to original edit
page instead of user list page
This commit is contained in:
yp05327 2023-03-31 02:27:00 +09:00 committed by GitHub
parent ffd22697ba
commit 06d9d9e407
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -316,13 +316,13 @@ func EditUserPost(ctx *context.Context) {
log.Error(err.Error())
errMsg = ctx.Tr("auth.password_pwned_err")
}
ctx.RenderWithErr(errMsg, tplUserNew, &form)
ctx.RenderWithErr(errMsg, tplUserEdit, &form)
return
}
if err := user_model.ValidateEmail(form.Email); err != nil {
ctx.Data["Err_Email"] = true
ctx.RenderWithErr(ctx.Tr("form.email_error"), tplUserNew, &form)
ctx.RenderWithErr(ctx.Tr("form.email_error"), tplUserEdit, &form)
return
}
@ -338,7 +338,10 @@ func EditUserPost(ctx *context.Context) {
if len(form.UserName) != 0 && u.Name != form.UserName {
if err := user_setting.HandleUsernameChange(ctx, u, form.UserName); err != nil {
ctx.Redirect(setting.AppSubURL + "/admin/users")
if ctx.Written() {
return
}
ctx.RenderWithErr(ctx.Flash.ErrorMsg, tplUserEdit, &form)
return
}
u.Name = form.UserName