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:
Rebecca Law
2016-03-21 11:48:16 +00:00
parent c40b9872a5
commit 461b374f68
3 changed files with 12 additions and 16 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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'