Check primary email address fields on CreateUser (#556)

* Check primary email address fields on CreateUser

As this check wasn't available, uid=1 (and possibly guests too, if registration is open) is able to register new users with existing email addresses. This leads to numerous 500 errors.

* Update user.go

* Lower the email first. Then check
pull/585/head
Berk Demirkır 8 years ago committed by Lunny Xiao
parent 1207bda94b
commit bdad3b259a
  1. 9
      models/user.go

@ -600,6 +600,15 @@ func CreateUser(u *User) (err error) {
}
u.Email = strings.ToLower(u.Email)
has, err := x.
Where("email=?", u.Email).
Get(new(User))
if err != nil {
return err
} else if has {
return ErrEmailAlreadyUsed{u.Email}
}
isExist, err = IsEmailUsed(u.Email)
if err != nil {
return err

Loading…
Cancel
Save