From 4b5e4d2864c2dd6a0efd321cada9bab82636927a Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 7 Dec 2016 14:00:03 +0000 Subject: [PATCH 1/2] Added a new 400.html error page, this error page will only be used when we get an HTTPError from the api. This was done to solve the problem of invitations expiring and the user getting a 500 error message, which says to try again. --- app/__init__.py | 9 +++++++-- app/templates/error/400.html | 11 +++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 app/templates/error/400.html diff --git a/app/__init__.py b/app/__init__.py index 77a471f95..4e084ee73 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -5,6 +5,7 @@ from datetime import datetime, timedelta, timezone from time import monotonic import dateutil +import itertools import pytz import ago from flask import ( @@ -37,7 +38,7 @@ from werkzeug.local import LocalProxy import app.proxy_fix from app.asset_fingerprinter import AssetFingerprinter from app.its_dangerous_session import ItsdangerousSessionInterface -from app.notify_client.service_api_client import ServiceAPIClient +from app.notify_client.service_api_client import ServiceAPIClient, ServicesBrowsableItem from app.notify_client.api_key_api_client import ApiKeyApiClient from app.notify_client.invite_api_client import InviteApiClient from app.notify_client.job_api_client import JobApiClient @@ -405,7 +406,11 @@ def register_errorhandlers(application): error.message )) error_code = error.status_code - if error_code not in [401, 404, 403, 410, 500]: + if error_code == 400: + msg = list(itertools.chain(*[error.message[x] for x in error.message.keys()])) + resp = make_response(render_template("error/400.html", message=msg)) + return useful_headers_after_request(resp) + elif error_code not in [401, 404, 403, 410, 500]: error_code = 500 return _error_response(error_code) diff --git a/app/templates/error/400.html b/app/templates/error/400.html new file mode 100644 index 000000000..8b4ea5842 --- /dev/null +++ b/app/templates/error/400.html @@ -0,0 +1,11 @@ +{% extends "withoutnav_template.html" %} +{% block page_title %}Bad Request{% endblock %} +{% block maincolumn_content %} +
+
+

+ {{ message|join(",")}} +

+
+
+{% endblock %} From 0417fa3534cff57037cb8674e44c327e0eff73c2 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 7 Dec 2016 14:12:12 +0000 Subject: [PATCH 2/2] Remove unused import --- app/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/__init__.py b/app/__init__.py index 4e084ee73..d7d53ae73 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -38,7 +38,7 @@ from werkzeug.local import LocalProxy import app.proxy_fix from app.asset_fingerprinter import AssetFingerprinter from app.its_dangerous_session import ItsdangerousSessionInterface -from app.notify_client.service_api_client import ServiceAPIClient, ServicesBrowsableItem +from app.notify_client.service_api_client import ServiceAPIClient from app.notify_client.api_key_api_client import ApiKeyApiClient from app.notify_client.invite_api_client import InviteApiClient from app.notify_client.job_api_client import JobApiClient