aboutsummaryrefslogtreecommitdiff
path: root/models/user_mail.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-01-29 18:29:53 -0500
committerUnknwon <u@gogs.io>2017-01-29 18:29:53 -0500
commit207960b459d635667226d2d78f11ef3279ba9cc7 (patch)
tree64b470a150c5aead8a2c4a9bbd4f849846380ceb /models/user_mail.go
parent7b3b46c675b7b84f1aadb788078696b98cc0656c (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.go10
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.