From 207960b459d635667226d2d78f11ef3279ba9cc7 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 29 Jan 2017 18:29:53 -0500 Subject: Fix create user can use user email which is used (#4016) --- models/user_mail.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'models/user_mail.go') 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. -- cgit v1.2.3