Browse Source

Merge branch 'V202108' into web

tags/v1.21.8^2
avadesian 4 years ago
parent
commit
074deed70d
2 changed files with 16 additions and 0 deletions
  1. +10
    -0
      models/user_mail.go
  2. +6
    -0
      routers/user/setting/account.go

+ 10
- 0
models/user_mail.go View File

@@ -293,6 +293,16 @@ func MakeEmailPrimary(email *EmailAddress) error {
}

user.Email = email.Email

has, err = sess.Where("id!=?", user.ID).
And("type=?", user.Type).
And("email=?", strings.ToLower(user.Email)).
Get(new(User))
if err != nil {
return err
} else if has {
return ErrEmailAlreadyUsed{user.Email}
}
if _, err = sess.ID(user.ID).Cols("email").Update(user); err != nil {
return err
}


+ 6
- 0
routers/user/setting/account.go View File

@@ -80,6 +80,12 @@ func EmailPost(ctx *context.Context, form auth.AddEmailForm) {
// Make emailaddress primary.
if ctx.Query("_method") == "PRIMARY" {
if err := models.MakeEmailPrimary(&models.EmailAddress{ID: ctx.QueryInt64("id")}); err != nil {
if _, ok := err.(models.ErrEmailAlreadyUsed); ok {
ctx.Flash.Error(ctx.Tr("form.email_been_used"))
ctx.Redirect(setting.AppSubURL + "/user/settings/account")
return
}

ctx.ServerError("MakeEmailPrimary", err)
return
}


Loading…
Cancel
Save