diff --git a/app/main/forms.py b/app/main/forms.py index c86005f39..bc81a82cc 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -2021,7 +2021,7 @@ class SetTemplateSenderForm(StripWhitespaceForm): self.sender.choices = kwargs['sender_choices'] self.sender.label.text = 'Select your sender' - sender = RadioField() + sender = GovukRadiosField() class LinkOrganisationsForm(StripWhitespaceForm): diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 384e49a5f..c44fc8867 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -829,7 +829,14 @@ def set_template_sender(service_id, template_id): sender=sender_details['current_choice'], sender_choices=sender_details['value_and_label'], ) - option_hints = {sender_details['default_sender']: '(Default)'} + form.sender.param_extensions = {'items': []} + for item_value, _item_label in sender_details['value_and_label']: + if item_value == sender_details['default_sender']: + extensions = {'hint': {'text': '(Default)'}} + else: + extensions = {} # if no extensions needed, send an empty dict to preserve order of items + + form.sender.param_extensions['items'].append(extensions) if form.validate_on_submit(): service_api_client.update_service_template_sender( @@ -843,8 +850,7 @@ def set_template_sender(service_id, template_id): 'views/templates/set-template-sender.html', form=form, template_id=template_id, - no_senders=no_senders, - option_hints=option_hints + no_senders=no_senders ) diff --git a/app/templates/views/templates/set-sender.html b/app/templates/views/templates/set-sender.html index 8988ef6f3..4739a6a50 100644 --- a/app/templates/views/templates/set-sender.html +++ b/app/templates/views/templates/set-sender.html @@ -1,6 +1,4 @@ {% extends "withnav_template.html" %} -{% from "components/radios.html" import radios %} -{% 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/back-link/macro.njk" import govukBackLink %} diff --git a/app/templates/views/templates/set-template-sender.html b/app/templates/views/templates/set-template-sender.html index 912e9a7b7..697bdb67f 100644 --- a/app/templates/views/templates/set-template-sender.html +++ b/app/templates/views/templates/set-template-sender.html @@ -1,31 +1,35 @@ {% extends "withnav_template.html" %} -{% from "components/radios.html" import radios %} -{% 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/back-link/macro.njk" import govukBackLink %} + +{% set page_title = 'Set letter contact block' %} {% block service_page_title %} - Set letter contact block + {{ page_title }} {% endblock %} {% block maincolumn_content %} - {{ page_header( - 'Set letter contact block', - back_link=url_for('.view_template', service_id=current_service.id, template_id=template_id) - ) }} -
-
- {% call form_wrapper() %} - {{ radios( - form.sender, - option_hints=option_hints, - hide_legend=True - ) }} + {{ govukBackLink({ "href": url_for('.view_template', service_id=current_service.id, template_id=template_id) }) }} + +
+ {% call form_wrapper() %} + {{ form.sender(param_extensions={ + 'fieldset': { + 'legend': { + 'isPageHeading': True, + 'text': page_title, + 'classes': 'govuk-fieldset__legend--l govuk-grid-column-full' + } + }, + 'classes': 'govuk-grid-column-three-quarters' + }) }} +
{{ page_footer('Continue') }} Add new sender - {% endcall %}
+ {% endcall %}
{% endblock %} diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 2ea3c4692..fbcb227ae 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -2527,7 +2527,7 @@ def test_add_sender_link_only_appears_on_services_with_no_senders( template_id=fake_uuid, ) - assert page.select_one('.govuk-grid-column-three-quarters form > a')['href'] == url_for( + assert page.select_one('form .page-footer + a')['href'] == url_for( 'main.service_add_letter_contact', service_id=SERVICE_ONE_ID, from_template=fake_uuid,