Don’t 500 when searching with bad email address

In the future we might want to validate email addresses before
attempting to search by them. But for a first pass we can just return
no results when a user types in something that isn’t an email address
or phone number.

It definitely better than returning a 500.
This commit is contained in:
Chris Hill-Scott
2017-05-30 14:40:27 +01:00
parent f7e1ccea8b
commit 9ada8b2753
2 changed files with 20 additions and 2 deletions

View File

@@ -9,7 +9,8 @@ from flask import current_app
from notifications_utils.recipients import (
validate_and_format_phone_number,
validate_and_format_email_address,
InvalidPhoneError
InvalidPhoneError,
InvalidEmailError,
)
from werkzeug.datastructures import MultiDict
from sqlalchemy import (desc, func, or_, and_, asc)
@@ -477,7 +478,10 @@ def dao_get_notifications_by_to_field(service_id, search_term, statuses=None):
try:
normalised = validate_and_format_phone_number(search_term)
except InvalidPhoneError:
normalised = validate_and_format_email_address(search_term)
try:
normalised = validate_and_format_email_address(search_term)
except InvalidEmailError:
normalised = search_term
filters = [
Notification.service_id == service_id,