From dc988eae0c5a81b1228677667c7c940905626110 Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Mon, 21 Feb 2022 22:20:34 +0800
Subject: [PATCH] Fix bug for get user by email (#18833)

Co-authored-by: zeripath <art27@cantab.net>
---
 models/user/user.go | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/models/user/user.go b/models/user/user.go
index bd55249448..b61ffd7072 100644
--- a/models/user/user.go
+++ b/models/user/user.go
@@ -1117,19 +1117,9 @@ func GetUserByEmailContext(ctx context.Context, email string) (*User, error) {
 	}
 
 	email = strings.ToLower(email)
-	// First try to find the user by primary email
-	user := &User{Email: email}
-	has, err := db.GetEngine(ctx).Get(user)
-	if err != nil {
-		return nil, err
-	}
-	if has {
-		return user, nil
-	}
-
 	// Otherwise, check in alternative list for activated email addresses
-	emailAddress := &EmailAddress{Email: email, IsActivated: true}
-	has, err = db.GetEngine(ctx).Get(emailAddress)
+	emailAddress := &EmailAddress{LowerEmail: email, IsActivated: true}
+	has, err := db.GetEngine(ctx).Get(emailAddress)
 	if err != nil {
 		return nil, err
 	}