Sprinkle letter throughout the app

Let users create/edit/delete letter templates.

Let them upload a CSV file or send a test against a letter template.

Big assumption at the moment is that addresses only have one line, and
therefore one column in the CSV file.
This commit is contained in:
Chris Hill-Scott
2016-11-08 13:12:07 +00:00
parent 4a0c860a04
commit 88631a680c
12 changed files with 97 additions and 12 deletions

View File

@@ -11,5 +11,11 @@
{%- else -%}
emails
{%- endif -%}
{%- elif template_type == 'letter' -%}
{%- if count == 1 -%}
letter
{%- else -%}
letters
{%- endif -%}
{%- endif %} {{ suffix }}
{%- endmacro %}

View File

@@ -3,6 +3,7 @@
{% from "components/email-message.html" import email_message %}
{% from "components/radios.html" import radio_select %}
{% from "components/sms-message.html" import sms_message %}
{% from "components/letter.html" import letter %}
{% from "components/table.html" import list_table, field, text_field, index_field, hidden_field_heading %}
{% from "components/file-upload.html" import file_upload %}
{% from "components/page-footer.html" import page_footer %}
@@ -148,7 +149,9 @@
)}}
</div>
</div>
{% endif %}
{% elif 'letter' == template.template_type %}
{{ letter(template.formatted_as_markup if errors else template.replaced|safe) }}
{% endif %}
{% if errors %}
{% if request.args.from_test %}

View File

@@ -0,0 +1,36 @@
{% extends "withnav_template.html" %}
{% from "components/textbox.html" import textbox %}
{% from "components/page-footer.html" import page_footer %}
{% block page_title %}
{{ heading_action }} letter template GOV.UK Notify
{% endblock %}
{% block maincolumn_content %}
<h1 class="heading-large">
{{ heading_action }} letter template
</h1>
<form method="post">
<div class="grid-row">
<div class="column-three-quarters">
{{ textbox(form.name, width='1-1', hint='Your recipients wont see this', rows=10) }}
{{ textbox(form.subject, width='1-1', highlight_tags=True, rows=2) }}
</div>
<div class="column-three-quarters">
{{ textbox(form.template_content, highlight_tags=True, width='1-1', rows=8) }}
{{ page_footer(
'Save',
delete_link=url_for('.delete_service_template', service_id=current_service.id, template_id=template_id) if template_id or None,
delete_link_text='Delete this template'
) }}
</div>
<aside class="column-whole">
{% include "partials/templates/guidance-formatting.html" %}
{% include "partials/templates/guidance-personalisation.html" %}
</aside>
</div>
</form>
{% endblock %}

View File

@@ -1,6 +1,7 @@
{% extends "withnav_template.html" %}
{% from "components/sms-message.html" import sms_message %}
{% from "components/email-message.html" import email_message %}
{% from "components/letter.html" import letter %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/file-upload.html" import file_upload %}
{% from "components/table.html" import list_table, field, text_field, index_field, index_field_heading %}
@@ -38,6 +39,8 @@
recipient='',
show_placeholder_for_recipient=True
) }}
{% elif 'letter' == template.template_type %}
{{ letter(template.formatted_as_markup) }}
{% endif %}
<form method="post">

View File

@@ -1,6 +1,7 @@
{% extends "withnav_template.html" %}
{% from "components/sms-message.html" import sms_message %}
{% from "components/email-message.html" import email_message %}
{% from "components/letter.html" import letter %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/file-upload.html" import file_upload %}
{% from "components/table.html" import list_table, text_field, index_field, index_field_heading %}
@@ -30,6 +31,8 @@
recipient='',
show_placeholder_for_recipient=True
) }}
{% elif 'letter' == template.template_type %}
{{ letter(template.formatted_as_markup) }}
{% endif %}
<div class="page-footer bottom-gutter">

View File

@@ -1,5 +1,6 @@
{% from "components/email-message.html" import email_message %}
{% from "components/sms-message.html" import sms_message %}
{% from "components/letter.html" import letter %}
<div class="column-two-thirds">
{% if 'email' == template.template_type %}
@@ -14,6 +15,8 @@
template.formatted_as_markup,
id=template.id
) }}
{% elif 'letter' == template.template_type %}
{{ letter(template.formatted_as_markup) }}
{% endif %}
</div>
<div class="column-one-third">

View File

@@ -21,7 +21,9 @@
{{ page_footer(
secondary_link=url_for('.choose_template', service_id=current_service.id, template_type=template.template_type),
secondary_link_text='All {} templates'.format('email' if 'email' == template.template_type else 'text message')
secondary_link_text='All {} templates'.format(
'email' if 'email' == template.template_type else 'text message' if 'sms' == template.template_type else 'letter'
)
) }}
{% endblock %}