diff --git a/models/login_source.go b/models/login_source.go index b481cb4db..69602b8b1 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -616,9 +616,9 @@ func ExternalUserLogin(user *User, login, password string, source *LoginSource, return nil, err } - if !user.IsActive { - return nil, ErrUserInactive{user.ID, user.Name} - } else if user.ProhibitLogin { + // WARN: DON'T check user.IsActive, that will be checked on reqSign so that + // user could be hint to resend confirm email. + if user.ProhibitLogin { return nil, ErrUserProhibitLogin{user.ID, user.Name} } @@ -658,9 +658,9 @@ func UserSignIn(username, password string) (*User, error) { switch user.LoginType { case LoginNoType, LoginPlain, LoginOAuth2: if user.IsPasswordSet() && user.ValidatePassword(password) { - if !user.IsActive { - return nil, ErrUserInactive{user.ID, user.Name} - } else if user.ProhibitLogin { + // WARN: DON'T check user.IsActive, that will be checked on reqSign so that + // user could be hint to resend confirm email. + if user.ProhibitLogin { return nil, ErrUserProhibitLogin{user.ID, user.Name} } diff --git a/routers/routes/routes.go b/routers/routes/routes.go index fafef0830..6311a41d2 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -339,7 +339,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/user", func() { // r.Get("/feeds", binding.Bind(auth.FeedsForm{}), user.Feeds) - m.Any("/activate", user.Activate) + m.Any("/activate", user.Activate, reqSignIn) m.Any("/activate_email", user.ActivateEmail) m.Get("/email2user", user.Email2User) m.Get("/forgot_password", user.ForgotPasswd)