diff --git a/app/main/views/uploads.py b/app/main/views/uploads.py index 2ed2ae114..c97919062 100644 --- a/app/main/views/uploads.py +++ b/app/main/views/uploads.py @@ -145,13 +145,13 @@ def uploaded_letter_preview(service_id, file_id): original_filename = metadata.get('filename') page_count = metadata.get('page_count') status = metadata.get('status') - error_message = metadata.get('message') + error_shortcode = metadata.get('message') invalid_pages = metadata.get('invalid_pages') if invalid_pages: invalid_pages = json.loads(invalid_pages) - error = get_letter_validation_error(error_message, invalid_pages, page_count) + error_message = get_letter_validation_error(error_shortcode, invalid_pages, page_count) template_dict = service_api_client.get_precompiled_template(service_id) # Override pre compiled letter template postage to none as it has not yet been picked even though # the pre compiled letter template has its postage set as second class as the DB currently requires @@ -177,7 +177,8 @@ def uploaded_letter_preview(service_id, file_id): template=template, status=status, file_id=file_id, - error=error, + message=error_message, + error_code=error_shortcode, form=form, ) diff --git a/app/templates/partials/check/letter-too-long.html b/app/templates/partials/check/letter-too-long.html index 578759bc7..540ddb9fe 100644 --- a/app/templates/partials/check/letter-too-long.html +++ b/app/templates/partials/check/letter-too-long.html @@ -1,4 +1,4 @@ -

+

Your letter is too long

diff --git a/app/templates/partials/check/letter-validation-failed-banner.html b/app/templates/partials/check/letter-validation-failed-banner.html index 96aee08fc..b85720cf1 100644 --- a/app/templates/partials/check/letter-validation-failed-banner.html +++ b/app/templates/partials/check/letter-validation-failed-banner.html @@ -2,9 +2,13 @@ {% call banner_wrapper(type='dangerous') %} {% if message is string %} -

{{ message }}

+

+ {{ message }} +

{% else %} -

{{ message.title }}

+

+ {{ message.title }} +

{% if message.detail %}

{{ message.detail | safe }} diff --git a/app/templates/views/uploads/preview.html b/app/templates/views/uploads/preview.html index f088cee0f..55f65e055 100644 --- a/app/templates/views/uploads/preview.html +++ b/app/templates/views/uploads/preview.html @@ -9,13 +9,8 @@ {% endblock %} {% block maincolumn_content %} - {% if status == 'invalid' and error %} - {% call banner_wrapper(type='dangerous') %} -

{{ error.title }}

- {% if error.detail %} -

{{ error.detail | safe }}

- {% endif %} - {% endcall %} + {% if status == 'invalid' and message %} + {% include "partials/check/letter-validation-failed-banner.html" %} {% elif current_service.trial_mode %} {% call banner_wrapper(type='dangerous') %} {% with diff --git a/tests/app/main/views/test_uploads.py b/tests/app/main/views/test_uploads.py index 23d481f85..6882c0f43 100644 --- a/tests/app/main/views/test_uploads.py +++ b/tests/app/main/views/test_uploads.py @@ -249,11 +249,7 @@ def test_post_upload_letter_with_invalid_file(mocker, client_request): message='content-outside-printable-area' ) - assert page.find('div', class_='banner-dangerous').find('h1').text == 'We cannot print your letter' - assert page.find( - 'div', class_='banner-dangerous').find('p').text == ( - 'The content appears outside the printable area on page 1 Files must meet our letter specification.' - ) + assert page.find('div', class_='banner-dangerous').find('h1', {"data-error-type": 'content-outside-printable-area'}) assert not page.find('button', {'type': 'submit'})