mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-06-22 06:03:06 -04:00
Add re-upload button and back link to the preview page
Re-upload button is only shown if file failed validation. Change wording of re-upload buttons Make test we test right buttons on letter upload preview page Also remove double backlink
This commit is contained in:
@@ -145,6 +145,8 @@ def _get_error_from_upload_form(form_errors):
|
||||
@main.route("/services/<uuid:service_id>/preview-letter/<uuid:file_id>")
|
||||
@user_has_permissions('send_messages')
|
||||
def uploaded_letter_preview(service_id, file_id):
|
||||
re_upload_form = PDFUploadForm()
|
||||
|
||||
metadata = get_letter_metadata(service_id, file_id)
|
||||
original_filename = metadata.get('filename')
|
||||
page_count = metadata.get('page_count')
|
||||
@@ -186,6 +188,7 @@ def uploaded_letter_preview(service_id, file_id):
|
||||
error_code=error_shortcode,
|
||||
form=form,
|
||||
recipient=recipient,
|
||||
re_upload_form=re_upload_form
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
{{ file_upload(
|
||||
form.file,
|
||||
action=url_for('.send_messages', service_id=current_service.id, template_id=template.id),
|
||||
button_text='Re-upload your file'
|
||||
button_text='Upload your file again'
|
||||
) }}
|
||||
</div>
|
||||
<a href="#content" class="back-to-top-link">Back to top</a>
|
||||
|
||||
@@ -3,14 +3,28 @@
|
||||
{% from "components/page-header.html" import page_header %}
|
||||
{% from "components/page-footer.html" import page_footer %}
|
||||
{% from "components/radios.html" import radios %}
|
||||
{% from "components/page-header.html" import govuk_back_link %}
|
||||
{% from "components/file-upload.html" import file_upload %}
|
||||
|
||||
{% block service_page_title %}
|
||||
{{ original_filename }}
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
{{ govuk_back_link(url_for('main.upload_letter', service_id=current_service.id)) }}
|
||||
|
||||
{% if status == 'invalid' and message %}
|
||||
{% include "partials/check/letter-validation-failed-banner.html" %}
|
||||
<div class="js-stick-at-top-when-scrolling">
|
||||
<div class="form-group">
|
||||
{{ file_upload(
|
||||
re_upload_form.file,
|
||||
action=url_for('main.upload_letter', service_id=current_service.id),
|
||||
button_text='Upload your file again'
|
||||
) }}
|
||||
</div>
|
||||
<a href="#content" class="back-to-top-link">Back to top</a>
|
||||
</div>
|
||||
{% elif current_service.trial_mode %}
|
||||
{% call banner_wrapper(type='dangerous') %}
|
||||
{% with
|
||||
@@ -21,8 +35,7 @@
|
||||
{% endcall %}
|
||||
{% else %}
|
||||
{{ page_header(
|
||||
original_filename,
|
||||
back_link=url_for('main.upload_letter', service_id=current_service.id)
|
||||
original_filename
|
||||
) }}
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@ def test_upload_csv_file_with_errors_shows_check_page_with_errors(
|
||||
assert 'There is a problem with invalid.csv' in content
|
||||
assert '+447700900986' in content
|
||||
assert 'Missing' in content
|
||||
assert 'Re-upload your file' in content
|
||||
assert 'Upload your file again' in content
|
||||
|
||||
|
||||
@pytest.mark.parametrize('file_contents, expected_error,', [
|
||||
|
||||
@@ -265,7 +265,7 @@ def test_post_upload_letter_with_invalid_file(mocker, client_request, fake_uuid)
|
||||
)
|
||||
|
||||
assert page.find('div', class_='banner-dangerous').find('h1', {"data-error-type": 'content-outside-printable-area'})
|
||||
assert not page.find('button', {'type': 'submit'})
|
||||
assert not page.find('button', {'class': 'button', 'type': 'submit'})
|
||||
|
||||
|
||||
def test_post_upload_letter_shows_letter_preview_for_invalid_file(mocker, client_request, fake_uuid):
|
||||
@@ -298,6 +298,9 @@ def test_post_upload_letter_shows_letter_preview_for_invalid_file(mocker, client
|
||||
assert 'The Queen' not in page.text
|
||||
assert len(page.select('.letter-postage')) == 0
|
||||
|
||||
assert page.find("a", {"class": "govuk-back-link"})["href"] == "/services/{}/upload-letter".format(SERVICE_ONE_ID)
|
||||
assert page.find("label", {"class": "file-upload-button"})
|
||||
|
||||
letter_images = page.select('main img')
|
||||
assert len(letter_images) == 1
|
||||
assert letter_images[0]['src'] == url_for(
|
||||
@@ -357,6 +360,8 @@ def test_uploaded_letter_preview(
|
||||
|
||||
assert page.find('h1').text == 'my_letter.pdf'
|
||||
assert page.find('div', class_='letter-sent')
|
||||
assert not page.find("label", {"class": "file-upload-button"})
|
||||
assert page.find('button', {'class': 'button', 'type': 'submit'})
|
||||
|
||||
|
||||
def test_uploaded_letter_preview_does_not_show_send_button_if_service_in_trial_mode(
|
||||
|
||||
Reference in New Issue
Block a user