Split endpoints that use templates

We’ll need to reuse the logic for viewing images and PDFs of templates,
so let’s have it in a shared method which the HTML endpoint then calls.
This commit is contained in:
Chris Hill-Scott
2016-12-20 11:56:22 +00:00
parent ea73936f0b
commit a159f351a8
2 changed files with 21 additions and 11 deletions

View File

@@ -213,10 +213,7 @@ def send_from_api(service_id, template_id):
)
@main.route("/services/<service_id>/<template_type>/check/<upload_id>", methods=['GET'])
@login_required
@user_has_permissions('send_texts', 'send_emails', 'send_letters')
def check_messages(service_id, template_type, upload_id):
def _check_messages(service_id, template_type, upload_id, letters_as_pdf=False):
if not session.get('upload_data'):
return redirect(url_for('main.choose_template', service_id=service_id, template_type=template_type))
@@ -275,8 +272,7 @@ def check_messages(service_id, template_type, upload_id):
session['upload_data']['notification_count'] = len(list(recipients.rows))
session['upload_data']['valid'] = not recipients.has_errors
return render_template(
'views/check.html',
return dict(
recipients=recipients,
first_recipient=first_recipient,
template=template,
@@ -298,6 +294,16 @@ def check_messages(service_id, template_type, upload_id):
)
@main.route("/services/<service_id>/<template_type>/check/<upload_id>", methods=['GET'])
@login_required
@user_has_permissions('send_texts', 'send_emails', 'send_letters')
def check_messages(service_id, template_type, upload_id):
return render_template(
'views/check.html',
**_check_messages(service_id, template_type, upload_id)
)
@main.route("/services/<service_id>/<template_type>/check/<upload_id>", methods=['POST'])
@login_required
@user_has_permissions('send_texts', 'send_emails', 'send_letters')

View File

@@ -77,6 +77,14 @@ def view_letter_template_as_image(service_id, template_id):
return send_file(output, mimetype='image/png')
def _view_template_version(service_id, template_id, version, letters_as_pdf=False):
return dict(template=get_template(
service_api_client.get_service_template(service_id, template_id, version)['data'],
current_service,
expand_emails=True,
))
@main.route("/services/<service_id>/templates/<template_id>/version/<int:version>")
@login_required
@user_has_permissions(
@@ -91,11 +99,7 @@ def view_letter_template_as_image(service_id, template_id):
def view_template_version(service_id, template_id, version):
return render_template(
'views/templates/template_history.html',
template=get_template(
service_api_client.get_service_template(service_id, template_id, version)['data'],
current_service,
expand_emails=True
)
**_view_template_version(service_id=service_id, template_id=template_id, version=version)
)