From d1cd74daa811cf012b327e9f3b1ccbd57ee6e56c Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Fri, 28 Apr 2017 16:04:52 +0100 Subject: [PATCH 1/2] Update utils with to make letters unclickable Brings in: - [ ] https://github.com/alphagov/notifications-utils/pull/159 Means: - renaming a bunch of things - removing any CSS that targeted the link, and making it target the containing element too --- app/assets/stylesheets/components/letter.scss | 12 +---------- app/main/views/send.py | 19 ++++++++++++++---- app/main/views/templates.py | 20 +++++++++++++++---- app/utils.py | 6 +++--- requirements.txt | 2 +- 5 files changed, 36 insertions(+), 23 deletions(-) diff --git a/app/assets/stylesheets/components/letter.scss b/app/assets/stylesheets/components/letter.scss index 62882c912..bfe193fa4 100644 --- a/app/assets/stylesheets/components/letter.scss +++ b/app/assets/stylesheets/components/letter.scss @@ -8,7 +8,7 @@ $iso-paper-ratio: 141.42135624%; .letter { - padding: 0; + padding: $iso-paper-ratio 0 0 0; margin: 0 0 $gutter 0; position: relative; background: $panel-colour; @@ -28,16 +28,6 @@ $iso-paper-ratio: 141.42135624%; width: 0px; } - a { - display: block; - overflow: hidden; - width: 100%; - height: 0; - padding: $iso-paper-ratio 0 0 0; - position: relative; - z-index: 20; - } - img { display: block; width: 100%; diff --git a/app/main/views/send.py b/app/main/views/send.py index 1ea5e8bf6..adb6ee3fd 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -87,7 +87,12 @@ def send_messages(service_id, template_id): service_api_client.get_service_template(service_id, template_id)['data'], current_service, show_recipient=True, - letter_preview_url=url_for('.view_template', service_id=service_id, template_id=template_id), + letter_preview_url=url_for( + '.view_letter_template_preview', + service_id=service_id, + template_id=template_id, + filetype='png', + ), ) form = CsvUploadForm() @@ -149,7 +154,12 @@ def send_test(service_id, template_id): service_api_client.get_service_template(service_id, template_id)['data'], current_service, show_recipient=True, - letter_preview_url=url_for('.view_template', service_id=service_id, template_id=template_id), + letter_preview_url=url_for( + '.view_letter_template_preview', + service_id=service_id, + template_id=template_id, + filetype='png', + ), ) if len(template.placeholders) == 0 or request.method == 'POST': @@ -212,10 +222,11 @@ def _check_messages(service_id, template_type, upload_id, letters_as_pdf=False): current_service, show_recipient=True, letter_preview_url=url_for( - '.check_messages', + '.check_messages_preview', service_id=service_id, template_type=template_type, - upload_id=upload_id + upload_id=upload_id, + filetype='png', ) if not letters_as_pdf else None ) recipients = RecipientCSV( diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 034e1c6de..9ccf46312 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -84,7 +84,12 @@ def view_template(service_id, template_id): template, current_service, expand_emails=True, - letter_preview_url=url_for('.view_template', service_id=service_id, template_id=template_id), + letter_preview_url=url_for( + '.view_letter_template_preview', + service_id=service_id, + template_id=template_id, + filetype='png', + ), show_recipient=True, page_count=page_count, ), @@ -108,10 +113,11 @@ def _view_template_version(service_id, template_id, version, letters_as_pdf=Fals current_service, expand_emails=True, letter_preview_url=url_for( - '.view_template_version', + '.view_template_version_preview', service_id=service_id, template_id=template_id, version=version, + filetype='png', ) if not letters_as_pdf else None )) @@ -344,7 +350,12 @@ def delete_service_template(service_id, template_id): template, current_service, expand_emails=True, - letter_preview_url=url_for('.view_template', service_id=service_id, template_id=template['id']), + letter_preview_url=url_for( + '.view_letter_template_preview', + service_id=service_id, + template_id=template['id'], + filetype='png', + ), show_recipient=True, ) ) @@ -370,10 +381,11 @@ def view_template_versions(service_id, template_id): current_service, expand_emails=True, letter_preview_url=url_for( - '.view_template_version', + '.view_template_version_preview', service_id=service_id, template_id=template_id, version=template['version'], + filetype='png', ) ) for template in service_api_client.get_service_template_versions(service_id, template_id)['data'] diff --git a/app/utils.py b/app/utils.py index df5a96cff..c345643f0 100644 --- a/app/utils.py +++ b/app/utils.py @@ -19,7 +19,7 @@ from flask_login import current_user from notifications_utils.template import ( SMSPreviewTemplate, EmailPreviewTemplate, - LetterPDFLinkTemplate, + LetterImageTemplate, LetterPreviewTemplate, ) @@ -274,9 +274,9 @@ def get_template( ) if 'letter' == template['template_type']: if letter_preview_url: - return LetterPDFLinkTemplate( + return LetterImageTemplate( template, - preview_url=letter_preview_url, + image_url=letter_preview_url, page_count=int(page_count), ) else: diff --git a/requirements.txt b/requirements.txt index b0ac7ce73..738e5f12f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,4 +28,4 @@ notifications-python-client>=3.1,<3.2 awscli>=1.11,<1.12 awscli-cwlogs>=1.4,<1.5 -git+https://github.com/alphagov/notifications-utils.git@16.2.0#egg=notifications-utils==16.2.0 +git+https://github.com/alphagov/notifications-utils.git@17.0.1#egg=notifications-utils==17.0.1 From 91ccd6a7bd2d93b8bcd0c29c245b4abfc263d656 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Fri, 28 Apr 2017 16:08:47 +0100 Subject: [PATCH 2/2] Make letter preview show up on job page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It wasn’t being called with the URL, so the contents of the letter were just showing up as plain text on the page. --- app/main/views/jobs.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/main/views/jobs.py b/app/main/views/jobs.py index 133ea38cb..a44c41581 100644 --- a/app/main/views/jobs.py +++ b/app/main/views/jobs.py @@ -118,6 +118,13 @@ def view_job(service_id, job_id): version=job['template_version'] )['data'], current_service, + letter_preview_url=url_for( + '.view_template_version_preview', + service_id=service_id, + template_id=job['template'], + version=job['template_version'], + filetype='png', + ), ), status=request.args.get('status', ''), updates_url=url_for(