mirror of
https://github.com/gogs/gogs.git
synced 2025-05-25 00:40:40 +00:00
user/setting: check for IsErrEmailAlreadyUsed when updating user (#5900)
Check for email collisions when updating the entire user information, not when the username is being changed. Fixes #5899
This commit is contained in:
parent
6bd08a0b6f
commit
873966aa86
@ -75,8 +75,6 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) {
|
||||
switch {
|
||||
case db.IsErrUserAlreadyExist(err):
|
||||
msg = c.Tr("form.username_been_taken")
|
||||
case db.IsErrEmailAlreadyUsed(err):
|
||||
msg = c.Tr("form.email_been_used")
|
||||
case db.IsErrNameReserved(err):
|
||||
msg = c.Tr("form.name_reserved")
|
||||
case db.IsErrNamePatternNotAllowed(err):
|
||||
@ -103,6 +101,11 @@ func SettingsPost(c *context.Context, f form.UpdateProfile) {
|
||||
c.User.Website = f.Website
|
||||
c.User.Location = f.Location
|
||||
if err := db.UpdateUser(c.User); err != nil {
|
||||
if db.IsErrEmailAlreadyUsed(err) {
|
||||
msg := c.Tr("form.email_been_used")
|
||||
c.RenderWithErr(msg, SETTINGS_PROFILE, &f)
|
||||
return
|
||||
}
|
||||
c.ServerError("UpdateUser", err)
|
||||
return
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user