diff --git a/app/main/dao/users_dao.py b/app/main/dao/users_dao.py index 0a6e3e891..d2fca9d32 100644 --- a/app/main/dao/users_dao.py +++ b/app/main/dao/users_dao.py @@ -1,4 +1,5 @@ from datetime import datetime +from notifications_python_client import HTTPError from sqlalchemy.orm import load_only @@ -47,9 +48,15 @@ def activate_user(user): def is_email_unique(email_address): - if user_api_client.get_user_by_email(email_address): - return False - return True + try: + if user_api_client.get_user_by_email(email_address): + return False + return True + except HTTPError as ex: + if ex.status_code == 404: + return True + else: + raise ex def request_password_reset(user): diff --git a/app/main/views/register.py b/app/main/views/register.py index 1e9d488bf..33e71b7fa 100644 --- a/app/main/views/register.py +++ b/app/main/views/register.py @@ -26,7 +26,6 @@ def register(): return redirect(url_for('main.choose_service')) form = RegisterUserForm() - if form.validate_on_submit(): if users_dao.is_email_unique(form.email_address.data): try: diff --git a/app/notify_client/api_client.py b/app/notify_client/api_client.py index 7f9f34b52..f5f72298a 100644 --- a/app/notify_client/api_client.py +++ b/app/notify_client/api_client.py @@ -24,7 +24,7 @@ class NotificationsAdminAPIClient(NotificationsAPIClient): "name": service_name, "active": active, "limit": limit, - "users": [user_id], + "user_id": user_id, "restricted": restricted } return self.post("/service", data)