diff --git a/app/main/views/jobs.py b/app/main/views/jobs.py index dd5e45e04..15c21e65c 100644 --- a/app/main/views/jobs.py +++ b/app/main/views/jobs.py @@ -13,6 +13,7 @@ from utils.template import Template from app import job_api_client from app.main import main from app.main.dao import templates_dao +from app.main.dao import services_dao now = time.strftime('%H:%M') @@ -37,6 +38,7 @@ def view_jobs(service_id): @main.route("/services//jobs/") @login_required def view_job(service_id, job_id): + service = services_dao.get_service_by_id_or_404(service_id) try: job = job_api_client.get_job(service_id, job_id)['data'] messages = [] @@ -58,7 +60,8 @@ def view_job(service_id, job_id): template=Template( templates_dao.get_service_template_or_404(service_id, job['template'])['data'] ), - service_id=service_id + service_id=service_id, + service=service ) except HTTPError as e: if e.status_code == 404: diff --git a/app/main/views/send.py b/app/main/views/send.py index e9dfeea44..67947df2b 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -28,11 +28,16 @@ from app.main.dao import services_dao from app import job_api_client from app.utils import validate_recipient, InvalidPhoneError, InvalidEmailError +page_headings = { + 'email': 'Send emails', + 'sms': 'Send text messages' +} + @main.route("/services//send/", methods=['GET']) def choose_template(service_id, template_type): - services_dao.get_service_by_id_or_404(service_id) + service = services_dao.get_service_by_id_or_404(service_id) if template_type not in ['email', 'sms']: abort(404) @@ -44,11 +49,14 @@ def choose_template(service_id, template_type): else: raise e return render_template( - 'views/choose-{}-template.html'.format(template_type), + 'views/choose-template.html', templates=[ Template(template) for template in templates_dao.get_service_templates(service_id)['data'] if template['template_type'] == template_type ], + template_type=template_type, + page_heading=page_headings[template_type], + service=service, has_jobs=len(jobs), service_id=service_id ) @@ -130,6 +138,7 @@ def check_messages(service_id, upload_id): upload_data = session['upload_data'] template_id = upload_data.get('template_id') + service = services_dao.get_service_by_id_or_404(service_id) if request.method == 'GET': contents = s3download(service_id, upload_id) @@ -144,14 +153,16 @@ def check_messages(service_id, upload_id): drop_values={'to'} ) return render_template( - 'views/check-sms.html', + 'views/check.html', upload_result=upload_result, template=template, + page_heading=page_headings[template.template_type], column_headers=['to'] + list( template.placeholders if upload_result['valid'] else template.placeholders_as_markup ), original_file_name=upload_data.get('original_file_name'), service_id=service_id, + service=service, form=CsvUploadForm() ) elif request.method == 'POST': @@ -193,7 +204,7 @@ def _get_rows(contents, raw_template): rows.append(row) try: validate_recipient( - row['to'], + row.get('to', ''), template_type=raw_template['template_type'] ) Template(raw_template, values=row, drop_values={'to'}).replaced diff --git a/app/templates/views/check-email.html b/app/templates/views/check-email.html deleted file mode 100644 index 3ca4830bf..000000000 --- a/app/templates/views/check-email.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "withnav_template.html" %} - -{% block page_title %} - Send email – GOV.UK Notify -{% endblock %} - -{% block maincolumn_content %} - -

Send email

- -

This page will be where we check the email messages we're about to send

- -

- Send email messages -

- - -{% endblock %} diff --git a/app/templates/views/check-sms.html b/app/templates/views/check.html similarity index 74% rename from app/templates/views/check-sms.html rename to app/templates/views/check.html index 38c793639..48967ca7a 100644 --- a/app/templates/views/check-sms.html +++ b/app/templates/views/check.html @@ -1,4 +1,5 @@ {% extends "withnav_template.html" %} +{% from "components/email-message.html" import email_message %} {% from "components/sms-message.html" import sms_message %} {% from "components/table.html" import list_table, field %} {% from "components/placeholder.html" import placeholder %} @@ -6,7 +7,7 @@ {% from "components/page-footer.html" import page_footer %} {% block page_title %} - Check and confirm – GOV.UK Notify + {{ "Check and confirm" if upload_result.valid else page_heading }} – GOV.UK Notify {% endblock %} {% block maincolumn_content %} @@ -25,18 +26,23 @@ {% endif %}

- {{ "Check and confirm" if upload_result.valid else "Send text messages" }} + {{ "Check and confirm" if upload_result.valid else page_heading }}

-
-
- {% if template.missing_data or template.additional_data %} - {{ sms_message(template.formatted_as_markup)}} - {% else %} - {{ sms_message(template.replaced)}} - {% endif %} + {% if 'email' == template.template_type %} + {{ email_message( + template.subject, + template, + from_address='{}@notifications.service.gov.uk'.format(service.email_from), + from_name=service.name + )}} + {% elif 'sms' == template.template_type %} +
+
+ {{ sms_message(template)}} +
-
+ {% endif %} {% if upload_result.valid %}
@@ -53,7 +59,7 @@ caption=original_file_name, field_headings=column_headers ) %} - {% if item.to|valid_phone_number %} + {% if item.to or ''|valid_phone_number %} {% call field() %} {{ item.to }} {% endcall %} diff --git a/app/templates/views/choose-email-template.html b/app/templates/views/choose-email-template.html deleted file mode 100644 index 5452a5da8..000000000 --- a/app/templates/views/choose-email-template.html +++ /dev/null @@ -1,36 +0,0 @@ -{% extends "withnav_template.html" %} -{% from "components/email-message.html" import email_message %} -{% from "components/page-footer.html" import page_footer %} -{% from "components/textbox.html" import textbox %} - -{% block page_title %} - Send emails – GOV.UK Notify -{% endblock %} - -{% block maincolumn_content %} - -

Send emails

- - - - {% if templates %} -
- {% for template in templates %} -
- {{ email_message(template.subject, template.formatted_as_markup, name=template.name) }} -
-
- -
- {% endfor %} -
- {% endif %} - -

- Add a new template -

- -
-{% endblock %} diff --git a/app/templates/views/choose-sms-template.html b/app/templates/views/choose-template.html similarity index 69% rename from app/templates/views/choose-sms-template.html rename to app/templates/views/choose-template.html index 5508ca4fb..7fb87b827 100644 --- a/app/templates/views/choose-sms-template.html +++ b/app/templates/views/choose-template.html @@ -1,15 +1,16 @@ {% extends "withnav_template.html" %} +{% from "components/email-message.html" import email_message %} {% from "components/sms-message.html" import sms_message %} {% from "components/page-footer.html" import page_footer %} {% from "components/textbox.html" import textbox %} {% block page_title %} - Send text messages – GOV.UK Notify + {{ page_heading }} – GOV.UK Notify {% endblock %} {% block maincolumn_content %} -

Send text messages

+

{{ page_heading }}

@@ -26,7 +27,15 @@
{% for template in templates %}
- {{ sms_message(template.formatted_as_markup, name=template.name) }} + {% if 'email' == template_type %} + {{ email_message( + template.subject, + template.formatted_as_markup, + name=template.name + ) }} + {% elif 'sms' == template_type %} + {{ sms_message(template.formatted_as_markup, name=template.name) }} + {% endif %}