|
|
|
|
@ -161,14 +161,23 @@ func GetUserByLogin(query *m.GetUserByLoginQuery) error { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
user := new(m.User) |
|
|
|
|
if strings.Contains(query.LoginOrEmail, "@") { |
|
|
|
|
user = &m.User{Email: query.LoginOrEmail} |
|
|
|
|
} else { |
|
|
|
|
user = &m.User{Login: query.LoginOrEmail} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Try and find the user by login first.
|
|
|
|
|
// It's not sufficient to assume that a LoginOrEmail with an "@" is an email.
|
|
|
|
|
user = &m.User{Login: query.LoginOrEmail} |
|
|
|
|
has, err := x.Get(user) |
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if has == false && strings.Contains(query.LoginOrEmail, "@") { |
|
|
|
|
// If the user wasn't found, and it contains an "@" fallback to finding the
|
|
|
|
|
// user by email.
|
|
|
|
|
user = &m.User{Email: query.LoginOrEmail} |
|
|
|
|
has, err = x.Get(user) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
return err |
|
|
|
|
} else if has == false { |
|
|
|
|
|