mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-04 18:32:33 -05:00
Do not throw 404 if email address is not found on sign in.
https://www.pivotaltracker.com/story/show/115947639
This commit is contained in:
@@ -36,12 +36,7 @@ def accept_invite(token):
|
||||
|
||||
session['invited_user'] = invited_user.serialize()
|
||||
|
||||
try:
|
||||
existing_user = user_api_client.get_user_by_email(invited_user.email_address)
|
||||
except HTTPError as ex:
|
||||
if ex.status_code == 404:
|
||||
existing_user = False
|
||||
|
||||
existing_user = user_api_client.get_user_by_email_or_none(invited_user.email_address)
|
||||
service_users = user_api_client.get_users_for_service(invited_user.service)
|
||||
|
||||
if existing_user:
|
||||
|
||||
@@ -29,7 +29,7 @@ def sign_in():
|
||||
|
||||
form = LoginForm()
|
||||
if form.validate_on_submit():
|
||||
user = user_api_client.get_user_by_email(form.email_address.data)
|
||||
user = user_api_client.get_user_by_email_or_none(form.email_address.data)
|
||||
user = _get_and_verify_user(user, form.password.data)
|
||||
if user:
|
||||
# Remember me login
|
||||
|
||||
@@ -35,6 +35,13 @@ class UserApiClient(BaseAPIClient):
|
||||
user_data = self.get('/user/email', params={'email': email_address})
|
||||
return User(user_data['data'], max_failed_login_count=self.max_failed_login_count)
|
||||
|
||||
def get_user_by_email_or_none(self, email_address):
|
||||
try:
|
||||
return self.get_user_by_email(email_address)
|
||||
except HTTPError as e:
|
||||
if HTTPError.status_code == 404:
|
||||
return None
|
||||
|
||||
def get_users(self):
|
||||
users_data = self.get("/user")['data']
|
||||
users = []
|
||||
@@ -106,15 +113,9 @@ class UserApiClient(BaseAPIClient):
|
||||
self.post(endpoint, data=data)
|
||||
|
||||
def is_email_unique(self, email_address):
|
||||
try:
|
||||
if self.get_user_by_email(email_address):
|
||||
return False
|
||||
return True
|
||||
except HTTPError as ex:
|
||||
if ex.status_code == 404:
|
||||
return True
|
||||
else:
|
||||
raise ex
|
||||
if self.get_user_by_email_or_none(email_address):
|
||||
return False
|
||||
return True
|
||||
|
||||
def activate_user(self, user):
|
||||
user.state = 'active'
|
||||
|
||||
Reference in New Issue
Block a user