* 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 checktags/v1.1.0
@@ -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 |