Merge pull request #1635 from alphagov/pdf-of-sent-letter

Add a link to download a PDF of a sent letter
This commit is contained in:
Chris Hill-Scott
2017-11-16 11:44:43 +00:00
committed by GitHub
3 changed files with 79 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from flask import (
abort,
render_template,
jsonify,
request,
@@ -34,9 +35,10 @@ def view_notification(service_id, notification_id):
notification['template'],
current_service,
letter_preview_url=url_for(
'.view_letter_notification_as_image',
'.view_letter_notification_as_preview',
service_id=service_id,
notification_id=notification_id,
filetype='png',
),
show_recipient=True,
redact_missing_personalisation=True,
@@ -70,10 +72,13 @@ def view_notification(service_id, notification_id):
)
@main.route("/services/<service_id>/notification/<uuid:notification_id>.png")
@main.route("/services/<service_id>/notification/<uuid:notification_id>.<filetype>")
@login_required
@user_has_permissions('view_activity', admin_override=True)
def view_letter_notification_as_image(service_id, notification_id):
def view_letter_notification_as_preview(service_id, notification_id, filetype):
if filetype not in ('pdf', 'png'):
abort(404)
notification = notification_api_client.get_notification(service_id, notification_id)
@@ -81,15 +86,16 @@ def view_letter_notification_as_image(service_id, notification_id):
notification['template'],
current_service,
letter_preview_url=url_for(
'.view_letter_notification_as_image',
'.view_letter_notification_as_preview',
service_id=service_id,
notification_id=notification_id,
filetype='png',
),
)
template.values = notification['personalisation']
return TemplatePreview.from_utils_template(template, 'png', page=request.args.get('page'))
return TemplatePreview.from_utils_template(template, filetype, page=request.args.get('page'))
@main.route("/services/<service_id>/notification/<notification_id>.json")