Convert radios on set-template-sender page

Includes making the legend the h1 for the page to
follow design system guidance:

https://design-system.service.gov.uk/get-started/labels-legends-headings/
This commit is contained in:
Tom Byers
2021-01-27 10:52:24 +00:00
parent ece956e324
commit 513fbff6e0
5 changed files with 31 additions and 23 deletions
+1 -1
View File
@@ -2021,7 +2021,7 @@ class SetTemplateSenderForm(StripWhitespaceForm):
self.sender.choices = kwargs['sender_choices'] self.sender.choices = kwargs['sender_choices']
self.sender.label.text = 'Select your sender' self.sender.label.text = 'Select your sender'
sender = RadioField() sender = GovukRadiosField()
class LinkOrganisationsForm(StripWhitespaceForm): class LinkOrganisationsForm(StripWhitespaceForm):
+9 -3
View File
@@ -829,7 +829,14 @@ def set_template_sender(service_id, template_id):
sender=sender_details['current_choice'], sender=sender_details['current_choice'],
sender_choices=sender_details['value_and_label'], 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(): if form.validate_on_submit():
service_api_client.update_service_template_sender( 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', 'views/templates/set-template-sender.html',
form=form, form=form,
template_id=template_id, template_id=template_id,
no_senders=no_senders, no_senders=no_senders
option_hints=option_hints
) )
@@ -1,6 +1,4 @@
{% extends "withnav_template.html" %} {% 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/page-footer.html" import page_footer %}
{% from "components/form.html" import form_wrapper %} {% from "components/form.html" import form_wrapper %}
{% from "components/back-link/macro.njk" import govukBackLink %} {% from "components/back-link/macro.njk" import govukBackLink %}
@@ -1,31 +1,35 @@
{% extends "withnav_template.html" %} {% 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/page-footer.html" import page_footer %}
{% from "components/form.html" import form_wrapper %} {% 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 %} {% block service_page_title %}
Set letter contact block {{ page_title }}
{% endblock %} {% endblock %}
{% block maincolumn_content %} {% block maincolumn_content %}
{{ page_header( {{ govukBackLink({ "href": url_for('.view_template', service_id=current_service.id, template_id=template_id) }) }}
'Set letter contact block',
back_link=url_for('.view_template', service_id=current_service.id, template_id=template_id) <div class="govuk-grid-row govuk-!-margin-top-3">
) }} {% call form_wrapper() %}
<div class="govuk-grid-row"> {{ form.sender(param_extensions={
<div class="govuk-grid-column-three-quarters"> 'fieldset': {
{% call form_wrapper() %} 'legend': {
{{ radios( 'isPageHeading': True,
form.sender, 'text': page_title,
option_hints=option_hints, 'classes': 'govuk-fieldset__legend--l govuk-grid-column-full'
hide_legend=True }
) }} },
'classes': 'govuk-grid-column-three-quarters'
}) }}
<div class="govuk-grid-column-three-quarters">
{{ page_footer('Continue') }} {{ page_footer('Continue') }}
<a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('.service_add_letter_contact', service_id=current_service.id, from_template=template_id) }}">Add new sender</a> <a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('.service_add_letter_contact', service_id=current_service.id, from_template=template_id) }}">Add new sender</a>
{% endcall %}
</div> </div>
{% endcall %}
</div> </div>
{% endblock %} {% endblock %}
+1 -1
View File
@@ -2527,7 +2527,7 @@ def test_add_sender_link_only_appears_on_services_with_no_senders(
template_id=fake_uuid, 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', 'main.service_add_letter_contact',
service_id=SERVICE_ONE_ID, service_id=SERVICE_ONE_ID,
from_template=fake_uuid, from_template=fake_uuid,