diff --git a/app/main/__init__.py b/app/main/__init__.py index a7134aef1..7b77dcc48 100644 --- a/app/main/__init__.py +++ b/app/main/__init__.py @@ -4,5 +4,5 @@ main = Blueprint('main', __name__) from app.main.views import ( - index, sign_in, register, two_factor, verify, sms, add_service, code_not_received, jobs, dashboard + index, sign_in, register, two_factor, verify, sms, add_service, code_not_received, jobs, dashboard, templates ) diff --git a/app/main/views/index.py b/app/main/views/index.py index 446d52dec..9c9ef1f6c 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -9,12 +9,6 @@ def index(): return render_template('views/signedout.html') -@main.route("/dashboard") -@login_required -def dashboard(): - return render_template('views/dashboard.html') - - @main.route("/govuk") def govuk(): return render_template('views/govuk_template.html') @@ -70,11 +64,6 @@ def apikeys(): return render_template('views/api-keys.html') -@main.route("/manage-templates") -def managetemplates(): - return render_template('views/manage-templates.html') - - -@main.route("/edit-template") -def edittemplate(): - return render_template('views/edit-template.html') +@main.route("/verification-not-received") +def verificationnotreceived(): + return render_template('views/verification-not-received.html') diff --git a/app/main/views/templates.py b/app/main/views/templates.py new file mode 100644 index 000000000..ff80cb353 --- /dev/null +++ b/app/main/views/templates.py @@ -0,0 +1,32 @@ +from flask import request, render_template, redirect, url_for + +from app.main import main + + +@main.route("/templates") +def manage_templates(): + return render_template('views/manage-templates.html') + + +@main.route("/templates/template", methods=['GET', 'POST']) +def add_template(): + if request.method == 'GET': + return render_template( + 'views/edit-template.html', + template_name='Reminder', + template_body='Vehicle tax: Your vehicle tax for ((registration number)) expires on ((date)). Tax your vehicle at www.gov.uk/vehicle-tax', # noqa + h1='Edit template' + ) + elif request.method == 'POST': + return redirect(url_for('.manage_templates')) + + +@main.route("/templates/template/add", methods=['GET', 'POST']) +def edit_template(): + if request.method == 'GET': + return render_template( + 'views/edit-template.html', + h1='Add template' + ) + elif request.method == 'POST': + return redirect(url_for('.manage_templates')) diff --git a/app/templates/components/submit-form.html b/app/templates/components/submit-form.html index cd879a238..012d0a580 100644 --- a/app/templates/components/submit-form.html +++ b/app/templates/components/submit-form.html @@ -1,11 +1,9 @@ -{% macro submit_form(button_text, back_link) %} +{% macro submit_form(button_text, back_link=False) %}
-
- - - {% if back_link %} - Back - {% endif %} -
+ + + {% if back_link %} + Back + {% endif %}
{% endmacro %} diff --git a/app/templates/components/textbox.html b/app/templates/components/textbox.html new file mode 100644 index 000000000..7d5e640bd --- /dev/null +++ b/app/templates/components/textbox.html @@ -0,0 +1,10 @@ +{% macro textbox(name, label, value='', small=True) %} +
+ + {% if small %} + + {% else %} + + {% endif %} +
+{% endmacro %} diff --git a/app/templates/views/check-sms.html b/app/templates/views/check-sms.html index 104d1d075..b3277f09e 100644 --- a/app/templates/views/check-sms.html +++ b/app/templates/views/check-sms.html @@ -15,50 +15,54 @@

Check and confirm

- {{ submit_form( - "Send {} text messages".format(number_of_recipients), - url_for(".sendsms") - ) }} +
-

First 3 messages

+ {{ submit_form( + "Send {} text messages".format(number_of_recipients), + url_for(".sendsms") + ) }} - {% if recipients.first_three and recipients.last_three %} +

First 3 messages

- {% for recipient in recipients.first_three %} - {{ sms_message( - message_template|replace_placeholders(recipient), - "{}".format(recipient['phone']) - ) }} - {% endfor %} + {% if recipients.first_three and recipients.last_three %} -

Last 3 messages

+ {% for recipient in recipients.first_three %} + {{ sms_message( + message_template|replace_placeholders(recipient), + "{}".format(recipient['phone']) + ) }} + {% endfor %} - {% for recipient in recipients.last_three %} - {{ sms_message( - message_template|replace_placeholders(recipient), - "{}".format(recipient['phone']) - ) }} - {% endfor %} +

Last 3 messages

- {% else %} + {% for recipient in recipients.last_three %} + {{ sms_message( + message_template|replace_placeholders(recipient), + "{}".format(recipient['phone']) + ) }} + {% endfor %} - {% for recipient in recipients.all %} - {{ sms_message( - message_template|replace_placeholders(recipient), - "{}".format(recipient['phone']) - ) }} - {% endfor %} + {% else %} - {% endif %} + {% for recipient in recipients.all %} + {{ sms_message( + message_template|replace_placeholders(recipient), + "{}".format(recipient['phone']) + ) }} + {% endfor %} -

- See all -

+ {% endif %} - {{ submit_form( - "Send {} text messages".format(number_of_recipients), - url_for(".sendsms") - ) }} +

+ See all +

+ + {{ submit_form( + "Send {} text messages".format(number_of_recipients), + url_for(".sendsms") + ) }} + +
diff --git a/app/templates/views/edit-template.html b/app/templates/views/edit-template.html index ed29b8074..4570b3e61 100644 --- a/app/templates/views/edit-template.html +++ b/app/templates/views/edit-template.html @@ -1,4 +1,6 @@ {% extends "withnav_template.html" %} +{% from "components/textbox.html" import textbox %} +{% from "components/submit-form.html" import submit_form %} {% block page_title %} GOV.UK Notify | Edit template @@ -6,13 +8,14 @@ GOV.UK Notify | Edit template {% block maincolumn_content %} +

{{ h1 }}

-

Edit template

- -

Here's where you can edit an exiting template (including delete) or add a new one

+
+ {{ textbox(name='template_name', label='Template name', value=template_name) }} + {{ textbox(name='template_body', label='Message', small=False, value=template_body) }} + {{ submit_form('Save and continue') }} +

Back to manage templates

- - {% endblock %} diff --git a/app/templates/views/manage-templates.html b/app/templates/views/manage-templates.html index 1554f3b09..4c4fa8d88 100644 --- a/app/templates/views/manage-templates.html +++ b/app/templates/views/manage-templates.html @@ -7,15 +7,17 @@ GOV.UK Notify | Manage templates {% block maincolumn_content %} -

Manage templates

+

Manage templates

-

Here's where you can view templates, choose to add one, or edit/delete one.

+

Here's where you can view templates, choose to add one, or edit/delete one.

-

Here is my first template

+

+ Here is my first template +

-

- Add a new message template -

+

+ Add a new message template +

{% endblock %} diff --git a/app/templates/views/send-sms.html b/app/templates/views/send-sms.html index ce07dc69e..75d81ffeb 100644 --- a/app/templates/views/send-sms.html +++ b/app/templates/views/send-sms.html @@ -24,7 +24,7 @@ {% endfor %}

- or create a new template + or create a new template

2. Add recipients

diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py new file mode 100644 index 000000000..219c3ad41 --- /dev/null +++ b/tests/app/main/views/test_templates.py @@ -0,0 +1,17 @@ +def test_should_return_list_of_all_templates(notifications_admin): + response = notifications_admin.test_client().get('/templates') + + assert response.status_code == 200 + + +def test_should_show_page_for_one_templates(notifications_admin): + response = notifications_admin.test_client().get('/templates/template') + + assert response.status_code == 200 + + +def test_should_redirect_when_saving_a_template(notifications_admin): + response = notifications_admin.test_client().post('/templates/template') + + assert response.status_code == 302 + assert response.location == 'http://localhost/templates'