diff --git a/app/templates/views/agreement/service-agreement.html b/app/templates/views/agreement/service-agreement.html index c35b24b34..1e6cb6e06 100644 --- a/app/templates/views/agreement/service-agreement.html +++ b/app/templates/views/agreement/service-agreement.html @@ -1,5 +1,6 @@ {% extends "withnav_template.html" %} {% from "components/page-header.html" import page_header %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Accept our data sharing and financial agreement @@ -30,7 +31,11 @@

The agreement is confidential and should not be shared outside your organisation.

- Continue + {{ govukButton({ + "element": "a", + "text": "Continue", + "href": url_for('main.service_accept_agreement', service_id=current_service.id), + }) }} diff --git a/app/templates/views/api/keys.html b/app/templates/views/api/keys.html index d27ba03a9..affe25b99 100644 --- a/app/templates/views/api/keys.html +++ b/app/templates/views/api/keys.html @@ -1,9 +1,7 @@ {% extends "withnav_template.html" %} -{% from "components/banner.html" import banner_wrapper %} {% from "components/table.html" import list_table, field, hidden_field_heading %} -{% from "components/api-key.html" import api_key %} {% from "components/page-header.html" import page_header %} -{% from "components/page-footer.html" import page_footer %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} API keys @@ -55,7 +53,12 @@
- Create an API key + {{ govukButton({ + "element": "a", + "text": "Create an API key", + "href": url_for('.create_api_key', service_id=current_service.id), + "classes": "govuk-button--secondary" + }) }}
{% endblock %} diff --git a/app/templates/views/check/ok.html b/app/templates/views/check/ok.html index 1cd0c1601..a50744189 100644 --- a/app/templates/views/check/ok.html +++ b/app/templates/views/check/ok.html @@ -2,10 +2,9 @@ {% from "components/banner.html" import banner_wrapper %} {% from "components/radios.html" import radio_select %} {% 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-header.html" import page_header %} -{% from "components/page-footer.html" import page_footer %} {% from "components/message-count-label.html" import message_count_label %} +{% from "components/button/macro.njk" import govukButton %} {% set file_contents_header_id = 'file-preview' %} {% macro skip_to_file_contents() %} @@ -45,9 +44,16 @@ ) }} {% endif %} {% if (template.template_type != 'letter' or not request.args.from_test) and not letter_too_long %} - + {% set button_text %} + Send {{ count_of_recipients|format_thousands }} {{ message_count_label(count_of_recipients, template.template_type, suffix='') }} + {% endset %} + {{ govukButton({ "text": button_text }) }} {% else %} - Download as a PDF + {{ govukButton({ + "element": "a", + "text": "Download as a PDF", + "href": url_for('no_cookie.check_messages_preview', service_id=current_service.id, template_id=template.id, upload_id=upload_id, filetype='pdf'), + }) }} {% endif %} diff --git a/app/templates/views/choose-account.html b/app/templates/views/choose-account.html index 654988510..bfde30431 100644 --- a/app/templates/views/choose-account.html +++ b/app/templates/views/choose-account.html @@ -1,4 +1,5 @@ {% extends "withoutnav_template.html" %} +{% from "components/button/macro.njk" import govukButton %} {% macro service_list( heading, @@ -39,11 +40,6 @@ {% else %} {% endif %} - {% if show_add_service_button %} -
- Add a new service -
- {% endif %}
{% endmacro %} @@ -112,7 +108,12 @@
{% endif %} - Add a new service + {{ govukButton({ + "element": "a", + "text": "Add a new service", + "href": url_for('.add_service'), + "classes": "govuk-button--secondary" + }) }} {% if current_user.has_access_to_live_and_trial_mode_services %}
diff --git a/app/templates/views/email-branding/select-branding.html b/app/templates/views/email-branding/select-branding.html index 9fc697e8c..9ffdcc341 100644 --- a/app/templates/views/email-branding/select-branding.html +++ b/app/templates/views/email-branding/select-branding.html @@ -1,6 +1,7 @@ {% extends "views/platform-admin/_base_template.html" %} {% from "components/page-header.html" import page_header %} {% from "components/live-search.html" import live_search %} +{% from "components/button/macro.njk" import govukButton %} {% block per_page_title %} Email branding @@ -22,7 +23,12 @@ {% endfor %}
- New brand + {{ govukButton({ + "element": "a", + "text": "New brand", + "href": url_for('.create_email_branding'), + "classes": "govuk-button--secondary" + }) }}
{% endblock %} diff --git a/app/templates/views/email-not-received.html b/app/templates/views/email-not-received.html index 4b5548628..98f58f802 100644 --- a/app/templates/views/email-not-received.html +++ b/app/templates/views/email-not-received.html @@ -1,5 +1,5 @@ {% extends "withoutnav_template.html" %} -{% from "components/page-footer.html" import page_footer %} +{% from "components/button/macro.njk" import govukButton %} {% block per_page_title %} Resend email link @@ -15,10 +15,14 @@

If you no longer have access to the email address you registered for this service, speak to your service manager to reset the email.

- Resend email link -

+ {{ govukButton({ + "element": "a", + "text": "Resend email link", + "href": url_for('main.resend_email_link') + }) }} +

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/app/templates/views/jobs/jobs.html b/app/templates/views/jobs/jobs.html index 7866fa541..ddeb1d5e0 100644 --- a/app/templates/views/jobs/jobs.html +++ b/app/templates/views/jobs/jobs.html @@ -1,5 +1,6 @@ {% from "components/previous-next-navigation.html" import previous_next_navigation %} {% extends "withnav_template.html" %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Uploads @@ -13,7 +14,12 @@ {{ previous_next_navigation(prev_page, next_page) }} {% if current_service.can_upload_letters and current_user.has_permissions('send_messages') %}
- Upload a letter + {{ govukButton({ + "element": "a", + "text": "Upload a letter", + "href": url_for('.upload_letter', service_id=current_service.id), + "classes": "govuk-button--secondary" + }) }}
{% endif %} diff --git a/app/templates/views/letter-branding/select-letter-branding.html b/app/templates/views/letter-branding/select-letter-branding.html index 3f9b320a4..1b717b865 100644 --- a/app/templates/views/letter-branding/select-letter-branding.html +++ b/app/templates/views/letter-branding/select-letter-branding.html @@ -1,6 +1,7 @@ {% extends "views/platform-admin/_base_template.html" %} {% from "components/page-header.html" import page_header %} {% from "components/live-search.html" import live_search %} +{% from "components/button/macro.njk" import govukButton %} {% block per_page_title %} Letter branding @@ -22,7 +23,12 @@ {% endfor %}
- New brand + {{ govukButton({ + "element": "a", + "text": "New brand", + "href": url_for('.create_letter_branding'), + "classes": "govuk-button--secondary" + }) }}
{% endblock %} diff --git a/app/templates/views/manage-users.html b/app/templates/views/manage-users.html index 5c05d672e..c87dec1b3 100644 --- a/app/templates/views/manage-users.html +++ b/app/templates/views/manage-users.html @@ -1,9 +1,7 @@ {% extends "withnav_template.html" %} -{% from "components/table.html" import list_table, row, field, hidden_field_heading %} -{% from "components/page-footer.html" import page_footer %} {% from "components/tick-cross.html" import tick_cross %} -{% from "components/textbox.html" import textbox %} {% from "components/live-search.html" import live_search %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Team members @@ -88,7 +86,12 @@ {% if current_user.has_permissions('manage_service') %}
- Invite a team member + {{ govukButton({ + "element": "a", + "text": "Invite a team member", + "href": url_for('.invite_user', service_id=current_service.id), + "classes": "govuk-button--secondary" + }) }}
{% endif %} diff --git a/app/templates/views/notifications/check.html b/app/templates/views/notifications/check.html index ce831a5bd..5988b43b4 100644 --- a/app/templates/views/notifications/check.html +++ b/app/templates/views/notifications/check.html @@ -3,6 +3,7 @@ {% from "components/message-count-label.html" import message_count_label %} {% from "components/page-header.html" import page_header %} {% from "components/back-link/macro.njk" import govukBackLink %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} {{ "Error" if error else "Preview of ‘{}’".format(template.name) }} @@ -76,7 +77,8 @@ )}}" class='page-footer'> {% if not error %} - + {% set button_text %}Send 1 {{ message_count_label(1, template.template_type, suffix='') }}{% endset %} + {{ govukButton({ "text": button_text }) }} {% endif %} {% if template.template_type == 'letter' %} Download as a PDF diff --git a/app/templates/views/organisations/index.html b/app/templates/views/organisations/index.html index 6be932260..516b430ad 100644 --- a/app/templates/views/organisations/index.html +++ b/app/templates/views/organisations/index.html @@ -1,7 +1,6 @@ {% extends "withoutnav_template.html" %} {% from "components/live-search.html" import live_search %} -{% from "components/page-footer.html" import page_footer %} -{% from "components/page-header.html" import page_header %} +{% from "components/button/macro.njk" import govukButton %} {% block per_page_title %} All organisations @@ -53,7 +52,12 @@  
- New organisation + {{ govukButton({ + "element": "a", + "text": "New organisation", + "href": url_for('main.add_organisation'), + "classes": "govuk-button--secondary" + }) }}
diff --git a/app/templates/views/organisations/organisation/settings/preview-email-branding.html b/app/templates/views/organisations/organisation/settings/preview-email-branding.html index a03b06180..b1ca415d7 100644 --- a/app/templates/views/organisations/organisation/settings/preview-email-branding.html +++ b/app/templates/views/organisations/organisation/settings/preview-email-branding.html @@ -1,5 +1,7 @@ {% extends "org_template.html" %} {% from "components/form.html" import form_wrapper %} +{% from "components/button/macro.njk" import govukButton %} + {% block org_page_title %} Preview email branding {% endblock %} @@ -14,7 +16,7 @@
{{ form.hidden_tag() }}
{% endcall %} diff --git a/app/templates/views/organisations/organisation/users/index.html b/app/templates/views/organisations/organisation/users/index.html index 418a4d7fc..4fa97bf18 100644 --- a/app/templates/views/organisations/organisation/users/index.html +++ b/app/templates/views/organisations/organisation/users/index.html @@ -4,6 +4,7 @@ {% from "components/tick-cross.html" import tick_cross %} {% from "components/textbox.html" import textbox %} {% from "components/live-search.html" import live_search %} +{% from "components/button/macro.njk" import govukButton %} {% block org_page_title %} Team members @@ -52,7 +53,12 @@
- Invite team member + {{ govukButton({ + "element": "a", + "text": "Invite team member", + "href": url_for('.invite_org_user', org_id=current_org.id), + "classes": "govuk-button--secondary" + }) }}
{% endblock %} diff --git a/app/templates/views/platform-admin/index.html b/app/templates/views/platform-admin/index.html index c404f78c3..449461b88 100644 --- a/app/templates/views/platform-admin/index.html +++ b/app/templates/views/platform-admin/index.html @@ -5,6 +5,7 @@ {% from "components/status-box.html" import status_box %} {% from "components/form.html" import form_wrapper %} {% from "components/details/macro.njk" import govukDetails %} +{% from "components/button/macro.njk" import govukButton %} {% block per_page_title %} Platform admin @@ -21,7 +22,7 @@ {{ textbox(form.start_date, hint="Enter start date in format YYYY-MM-DD") }} {{ textbox(form.end_date, hint="Enter end date in format YYYY-MM-DD") }}
- + {{ govukButton({ "text": "Filter" }) }} {% endcall %} {% endset %} diff --git a/app/templates/views/platform-admin/services.html b/app/templates/views/platform-admin/services.html index c42a76af7..e899c0a96 100644 --- a/app/templates/views/platform-admin/services.html +++ b/app/templates/views/platform-admin/services.html @@ -6,6 +6,7 @@ {% from "components/message-count-label.html" import message_count_label %} {% from "components/table.html" import mapping_table, field, stats_fields, row_group, row, right_aligned_field_heading, hidden_field_heading, text_field %} {% from "components/form.html" import form_wrapper %} +{% from "components/button/macro.njk" import govukButton %} {% from "components/details/macro.njk" import govukDetails %} {% macro stats_fields(channel, data) -%} @@ -109,7 +110,7 @@ {{ textbox(form.end_date, hint="Enter end date in format YYYY-MM-DD") }} {{ checkbox(form.include_from_test_key) }}
- + {{ govukButton({ "text": "Filter" }) }} {% endcall %} {% endset %} diff --git a/app/templates/views/service-settings/data-retention.html b/app/templates/views/service-settings/data-retention.html index 0966268fe..3a91f6101 100644 --- a/app/templates/views/service-settings/data-retention.html +++ b/app/templates/views/service-settings/data-retention.html @@ -1,7 +1,7 @@ {% extends "withnav_template.html" %} {% from "components/api-key.html" import api_key %} -{% from "components/page-footer.html" import page_footer %} {% from "components/table.html" import mapping_table, row_group, row, text_field, edit_field, field, boolean_field, list_table with context %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Data retention @@ -16,7 +16,12 @@
- Add data retention + {{ govukButton({ + "element": "a", + "text": "Add data retention", + "href": url_for('.add_data_retention', service_id=current_service.id), + "classes": "align-with-heading" + }) }}
diff --git a/app/templates/views/service-settings/email-reply-to/_verify-updates.html b/app/templates/views/service-settings/email-reply-to/_verify-updates.html index a985fb8da..ccd22dfd5 100644 --- a/app/templates/views/service-settings/email-reply-to/_verify-updates.html +++ b/app/templates/views/service-settings/email-reply-to/_verify-updates.html @@ -1,9 +1,9 @@ {% from "components/banner.html" import banner, banner_wrapper %} {% from "components/textbox.html" import textbox %} {% from "components/checkbox.html" import checkbox %} -{% from "components/page-header.html" import page_header %} {% from "components/page-footer.html" import page_footer %} {% from "components/form.html" import form_wrapper %} +{% from "components/button/macro.njk" import govukButton %}
{% if verification_status == "pending" %} @@ -20,7 +20,11 @@ {% elif verification_status == "success" %} {{ banner("‘{}’ is ready to use".format(reply_to_email_address), type='default', with_tick=True) }}
- Continue + {{ govukButton({ + "element": "a", + "text": "Continue", + "href": url_for('.service_email_reply_to', service_id=service_id) + }) }}
{% elif verification_status == "failure" %}
diff --git a/app/templates/views/service-settings/email_reply_to.html b/app/templates/views/service-settings/email_reply_to.html index 8d5c5ffd4..3c687ddd9 100644 --- a/app/templates/views/service-settings/email_reply_to.html +++ b/app/templates/views/service-settings/email_reply_to.html @@ -1,8 +1,8 @@ {% extends "withnav_template.html" %} {% from "components/api-key.html" import api_key %} {% from "components/page-header.html" import page_header %} -{% from "components/page-footer.html" import page_footer %} {% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table with context %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Reply-to email addresses @@ -43,7 +43,11 @@
{% if current_user.has_permissions('manage_service') %}
- Add reply-to email address + {{ govukButton({ + "element": "a", + "text": "Add reply-to email address", + "href": url_for('.service_add_email_reply_to', service_id=current_service.id), + }) }}
{% endif %}
diff --git a/app/templates/views/service-settings/letter-contact-details.html b/app/templates/views/service-settings/letter-contact-details.html index 874a40467..57527ec58 100644 --- a/app/templates/views/service-settings/letter-contact-details.html +++ b/app/templates/views/service-settings/letter-contact-details.html @@ -1,8 +1,8 @@ {% extends "withnav_template.html" %} {% from "components/api-key.html" import api_key %} {% from "components/page-header.html" import page_header %} -{% from "components/page-footer.html" import page_footer %} {% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table with context %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Sender addresses @@ -52,7 +52,11 @@
- Add a new address + {{ govukButton({ + "element": "a", + "text": "Add a new address", + "href": url_for('.service_add_letter_contact', service_id=current_service.id) + }) }}
diff --git a/app/templates/views/service-settings/preview-email-branding.html b/app/templates/views/service-settings/preview-email-branding.html index 6b38992b4..f9426a49a 100644 --- a/app/templates/views/service-settings/preview-email-branding.html +++ b/app/templates/views/service-settings/preview-email-branding.html @@ -1,5 +1,7 @@ {% extends "withnav_template.html" %} {% from "components/form.html" import form_wrapper %} +{% from "components/button/macro.njk" import govukButton %} + {% block service_page_title %} Preview email branding {% endblock %} @@ -14,7 +16,7 @@
{{ form.hidden_tag() }}
{% endcall %} diff --git a/app/templates/views/service-settings/sms-senders.html b/app/templates/views/service-settings/sms-senders.html index 064129625..e36003fc9 100644 --- a/app/templates/views/service-settings/sms-senders.html +++ b/app/templates/views/service-settings/sms-senders.html @@ -1,8 +1,8 @@ {% extends "withnav_template.html" %} {% from "components/api-key.html" import api_key %} {% from "components/page-header.html" import page_header %} -{% from "components/page-footer.html" import page_footer %} {% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table with context%} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} Text message senders @@ -45,7 +45,11 @@ {% if current_user.has_permissions('manage_service') %}
- Add text message sender + {{ govukButton({ + "element": "a", + "text": "Add text message sender", + "href": url_for('.service_add_sms_sender', service_id=current_service.id) + }) }}
{% endif %} diff --git a/app/templates/views/templates/choose-reply.html b/app/templates/views/templates/choose-reply.html index c9946b26e..fa1681cef 100644 --- a/app/templates/views/templates/choose-reply.html +++ b/app/templates/views/templates/choose-reply.html @@ -1,8 +1,6 @@ -{% from "components/pill.html" import pill %} -{% from "components/message-count-label.html" import message_count_label %} -{% from "components/textbox.html" import textbox %} {% from "components/live-search.html" import live_search %} {% from "components/folder-path.html" import folder_path %} +{% from "components/button/macro.njk" import govukButton %} {% extends "withnav_template.html" %} @@ -23,7 +21,11 @@

You need a template before you can send text messages.

- Add a new template + {{ govukButton({ + "element": "a", + "text": "Add a new template", + "href": url_for('.choose_template', service_id=current_service.id, initial_state='add-new-template') + }) }} {% else %}

You need to ask your service manager to add templates before you diff --git a/app/templates/views/templates/start-tour.html b/app/templates/views/templates/start-tour.html index 942d646fc..432312527 100644 --- a/app/templates/views/templates/start-tour.html +++ b/app/templates/views/templates/start-tour.html @@ -1,7 +1,6 @@ {% extends "withnav_template.html" %} -{% from "components/page-footer.html" import page_footer %} -{% from "components/textbox.html" import textbox %} {% from "components/api-key.html" import api_key %} +{% from "components/button/macro.njk" import govukButton %} {% block service_page_title %} {{ template.name }} @@ -15,7 +14,11 @@ {{ template|string }}

{% endblock %} diff --git a/app/templates/views/verification-not-received.html b/app/templates/views/verification-not-received.html index bf2fe74e6..55f507afd 100644 --- a/app/templates/views/verification-not-received.html +++ b/app/templates/views/verification-not-received.html @@ -1,4 +1,5 @@ {% extends "withoutnav_template.html" %} +{% from "components/button/macro.njk" import govukButton %} {% block per_page_title %} Resend verification code @@ -16,7 +17,11 @@

- Resend security code + {{ govukButton({ + "element": "a", + "text": "Resend security code", + "href": url_for('main.check_and_resend_verification_code') + }) }}

diff --git a/tests/app/main/views/organisations/test_organisation.py b/tests/app/main/views/organisations/test_organisation.py index 39bd5f0cb..a5ca8fe2c 100644 --- a/tests/app/main/views/organisations/test_organisation.py +++ b/tests/app/main/views/organisations/test_organisation.py @@ -50,7 +50,7 @@ def test_organisation_page_shows_all_organisations( expected_hints[index] ) assert normalize_spaces( - page.select_one('a.button-secondary').text + page.select_one('a.govuk-button--secondary').text ) == 'New organisation' get_organisations.assert_called_once_with() diff --git a/tests/app/main/views/test_agreement.py b/tests/app/main/views/test_agreement.py index 995947811..14ba04a04 100644 --- a/tests/app/main/views/test_agreement.py +++ b/tests/app/main/views/test_agreement.py @@ -45,7 +45,7 @@ class _MockS3Object(): partial(url_for, 'main.service_download_agreement', service_id=SERVICE_ONE_ID), ), ( - ['button'], + ['govuk-button'], partial(url_for, 'main.service_accept_agreement', service_id=SERVICE_ONE_ID), ), ] @@ -62,7 +62,7 @@ class _MockS3Object(): partial(url_for, 'main.service_download_agreement', service_id=SERVICE_ONE_ID), ), ( - ['button'], + ['govuk-button'], partial(url_for, 'main.service_accept_agreement', service_id=SERVICE_ONE_ID), ), ] diff --git a/tests/app/main/views/test_conversation.py b/tests/app/main/views/test_conversation.py index 84c9bf726..aa5eea5f9 100644 --- a/tests/app/main/views/test_conversation.py +++ b/tests/app/main/views/test_conversation.py @@ -1,4 +1,5 @@ import json +import re from datetime import datetime from unittest.mock import Mock @@ -265,7 +266,7 @@ def test_conversation_reply_shows_link_to_add_templates_if_service_has_no_templa notification_id=fake_uuid, ) page_text = page.find('p', class_='bottom-gutter').text - link = page.find('a', text='Add a new template')['href'] + link = page.find('a', text=re.compile('Add a new template'))['href'] assert normalize_spaces(page_text) == 'You need a template before you can send text messages.' assert link == url_for( diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 33dcaea87..1ff7eaf94 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -2029,7 +2029,7 @@ def test_should_show_template_as_first_page_of_tour( 'service one: Template content with & entity' ) - assert page.select('a.button')[0]['href'] == url_for( + assert page.select('a.govuk-button')[0]['href'] == url_for( '.send_test', service_id=SERVICE_ONE_ID, template_id=fake_uuid, help=2 ) diff --git a/tests/app/main/views/test_uploads.py b/tests/app/main/views/test_uploads.py index 73f1e282f..8d9e29efb 100644 --- a/tests/app/main/views/test_uploads.py +++ b/tests/app/main/views/test_uploads.py @@ -1,3 +1,4 @@ +import re import urllib from unittest.mock import Mock @@ -27,7 +28,7 @@ def test_no_upload_letters_button_without_permission( ): service_one['permissions'] += extra_permissions page = client_request.get('main.uploads', service_id=SERVICE_ONE_ID) - assert not page.find('a', text='Upload a letter') + assert not page.find('a', text=re.compile('Upload a letter')) def test_get_upload_hub_page( @@ -38,7 +39,7 @@ def test_get_upload_hub_page( service_one['permissions'] += ['letter', 'upload_letters'] page = client_request.get('main.uploads', service_id=SERVICE_ONE_ID) assert page.find('h1').text == 'Uploads' - assert page.find('a', text='Upload a letter').attrs['href'] == url_for( + assert page.find('a', text=re.compile('Upload a letter')).attrs['href'] == url_for( 'main.upload_letter', service_id=SERVICE_ONE_ID )