Merge pull request #2448 from alphagov/alphabetical-sort-letter-brandings

Make letter brandings easier to find with sorting and filtering
This commit is contained in:
Chris Hill-Scott
2018-11-07 13:50:05 +00:00
committed by GitHub
5 changed files with 51 additions and 19 deletions

View File

@@ -785,7 +785,14 @@ class LetterBranding(StripWhitespaceForm):
def __init__(self, choices=[], *args, **kwargs):
super().__init__(*args, **kwargs)
self.dvla_org_id.choices = choices
self.dvla_org_id.choices = list(sorted(
choices,
key=lambda choice: (
choice[0] != kwargs.get('dvla_org_id'),
choice[0] != '001',
choice[1],
),
))
dvla_org_id = RadioField(
'Which logo should this services letter have?',

View File

@@ -832,7 +832,10 @@ def service_preview_email_branding(service_id):
@user_is_platform_admin
def set_letter_branding(service_id):
form = LetterBranding(choices=email_branding_client.get_letter_email_branding().items())
form = LetterBranding(
choices=email_branding_client.get_letter_email_branding().items(),
dvla_org_id=current_service.dvla_organisation,
)
if form.validate_on_submit():
current_service.update(
@@ -840,11 +843,10 @@ def set_letter_branding(service_id):
)
return redirect(url_for('.service_settings', service_id=service_id))
form.dvla_org_id.data = current_service.dvla_organisation
return render_template(
'views/service-settings/set-letter-branding.html',
form=form,
search_form=SearchTemplatesForm(),
)

View File

@@ -1,5 +1,6 @@
{% extends "withnav_template.html" %}
{% from "components/radios.html" import radios %}
{% from "components/live-search.html" import live_search %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/form.html" import form_wrapper %}
@@ -10,17 +11,14 @@
{% block maincolumn_content %}
<h1 class="heading-large">Set letter branding</h1>
<div class="grid-row">
<div class="column-three-quarters">
{% call form_wrapper() %}
{{ radios(form.dvla_org_id) }}
{{ page_footer(
'Save',
back_link=url_for('.service_settings', service_id=current_service.id),
back_link_text='Back to settings'
) }}
{% endcall %}
</div>
</div>
{% call form_wrapper() %}
{{ live_search(target_selector='.multiple-choice', show=True, form=search_form, label='Search by name') }}
{{ radios(form.dvla_org_id, hide_legend=True) }}
{{ page_footer(
'Save',
back_link=url_for('.service_settings', service_id=current_service.id),
back_link_text='Back to settings'
) }}
{% endcall %}
{% endblock %}