diff options
author | Unknwon <u@gogs.io> | 2017-01-29 18:29:53 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-01-29 18:29:53 -0500 |
commit | 207960b459d635667226d2d78f11ef3279ba9cc7 (patch) | |
tree | 64b470a150c5aead8a2c4a9bbd4f849846380ceb /models/user_mail.go | |
parent | 7b3b46c675b7b84f1aadb788078696b98cc0656c (diff) |
Fix create user can use user email which is used (#4016)
Diffstat (limited to 'models/user_mail.go')
-rw-r--r-- | models/user_mail.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/models/user_mail.go b/models/user_mail.go index b9b210f4..4c6efd42 100644 --- a/models/user_mail.go +++ b/models/user_mail.go @@ -58,7 +58,15 @@ func isEmailUsed(e Engine, email string) (bool, error) { return true, nil } - return e.Get(&EmailAddress{Email: email}) + has, err := e.Get(&EmailAddress{Email: email}) + if err != nil { + return false, err + } else if has { + return true, nil + } + + // We need to check primary email of users as well. + return e.Where("type=?", USER_TYPE_INDIVIDUAL).And("email=?", email).Get(new(User)) } // IsEmailUsed returns true if the email has been used. |