mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-25 16:54:03 -04:00
Add Jinja macro for a row on the settings page
Often we show/hide these rows based on what permissions a service has. This commits refactors that check into a reusable macro, rather than having to write the same `if` statements all the time.
This commit is contained in:
@@ -56,6 +56,15 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{% macro settings_row(if_has_permission='') -%}
|
||||||
|
{% set parent_caller = caller %}
|
||||||
|
{% if if_has_permission in current_service.permissions %}
|
||||||
|
{% call row() %}
|
||||||
|
{{ parent_caller() }}
|
||||||
|
{% endcall %}
|
||||||
|
{% endif %}
|
||||||
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro field(align='left', status='', border=True) -%}
|
{% macro field(align='left', status='', border=True) -%}
|
||||||
|
|
||||||
{% set field_alignment = 'table-field-right-aligned' if align == 'right' else 'table-field-center-aligned' %}
|
{% set field_alignment = 'table-field-right-aligned' if align == 'right' else 'table-field-center-aligned' %}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/banner.html" import banner_wrapper %}
|
{% from "components/banner.html" import banner_wrapper %}
|
||||||
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
|
{% from "components/table.html" import mapping_table, row, settings_row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
Settings
|
Settings
|
||||||
@@ -46,8 +46,7 @@
|
|||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'upload_document' in current_service.permissions %}
|
{% call settings_row(if_has_permission='upload_document') %}
|
||||||
{% call row() %}
|
|
||||||
{{ text_field('Contact link') }}
|
{{ text_field('Contact link') }}
|
||||||
{{ text_field(current_service.contact_link, truncate=true) }}
|
{{ text_field(current_service.contact_link, truncate=true) }}
|
||||||
{{ edit_field(
|
{{ edit_field(
|
||||||
@@ -58,7 +57,6 @@
|
|||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
@@ -81,40 +79,36 @@
|
|||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'email' in current_service.permissions %}
|
{% call settings_row(if_has_permission='email') %}
|
||||||
|
{{ text_field('Email reply to addresses') }}
|
||||||
|
{% call field(status='default' if default_reply_to_email_address == "Not set" else '') %}
|
||||||
|
|
||||||
{% call row() %}
|
{{ default_reply_to_email_address }}
|
||||||
{{ text_field('Email reply to addresses') }}
|
{% if reply_to_email_address_count > 1 %}
|
||||||
{% call field(status='default' if default_reply_to_email_address == "Not set" else '') %}
|
<div class="hint">
|
||||||
|
{{ '…and %d more' | format(reply_to_email_address_count - 1) }}
|
||||||
{{ default_reply_to_email_address }}
|
</div>
|
||||||
{% if reply_to_email_address_count > 1 %}
|
{% endif %}
|
||||||
<div class="hint">
|
|
||||||
{{ '…and %d more' | format(reply_to_email_address_count - 1) }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% endcall %}
|
|
||||||
{{ edit_field(
|
|
||||||
'Manage' if reply_to_email_address_count else 'Change',
|
|
||||||
url_for('.service_email_reply_to',
|
|
||||||
service_id=current_service.id),
|
|
||||||
permissions=['manage_service','manage_api_keys']
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
{{ edit_field(
|
||||||
|
'Manage' if reply_to_email_address_count else 'Change',
|
||||||
|
url_for('.service_email_reply_to',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_service','manage_api_keys']
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call settings_row(if_has_permission='email') %}
|
||||||
{{ text_field('Email branding') }}
|
{{ text_field('Email branding') }}
|
||||||
{{ text_field(
|
{{ text_field(
|
||||||
'GOV.UK' if current_service.branding == 'govuk' else 'Your branding'
|
'GOV.UK' if current_service.branding == 'govuk' else 'Your branding'
|
||||||
) }}
|
) }}
|
||||||
{{ edit_field(
|
{{ edit_field(
|
||||||
'Change',
|
'Change',
|
||||||
url_for('.branding_request', service_id=current_service.id),
|
url_for('.branding_request', service_id=current_service.id),
|
||||||
)}}
|
)}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
@@ -137,64 +131,60 @@
|
|||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'sms' in current_service.permissions %}
|
{% call settings_row(if_has_permission='sms') %}
|
||||||
|
{{ text_field('Text message sender') }}
|
||||||
{% call row() %}
|
{% call field(status='default' if default_sms_sender == "None" else '') %}
|
||||||
{{ text_field('Text message sender') }}
|
{{ default_sms_sender | string | nl2br | safe if default_sms_sender else 'None'}}
|
||||||
{% call field(status='default' if default_sms_sender == "None" else '') %}
|
{% if sms_sender_count > 1 %}
|
||||||
{{ default_sms_sender | string | nl2br | safe if default_sms_sender else 'None'}}
|
<div class="hint">
|
||||||
{% if sms_sender_count > 1 %}
|
{{ '…and %d more' | format(sms_sender_count - 1) }}
|
||||||
<div class="hint">
|
</div>
|
||||||
{{ '…and %d more' | format(sms_sender_count - 1) }}
|
{% endif %}
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% endcall %}
|
|
||||||
{{ edit_field(
|
|
||||||
'Manage' if sms_sender_count else 'Change',
|
|
||||||
url_for('.service_sms_senders',
|
|
||||||
service_id=current_service.id),
|
|
||||||
permissions=['manage_service','manage_api_keys']
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
{{ edit_field(
|
||||||
|
'Manage' if sms_sender_count else 'Change',
|
||||||
|
url_for('.service_sms_senders',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_service','manage_api_keys']
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call settings_row(if_has_permission='sms') %}
|
||||||
{{ text_field('Text messages start with service name') }}
|
{{ text_field('Text messages start with service name') }}
|
||||||
{{ boolean_field(prefix_sms) }}
|
{{ boolean_field(prefix_sms) }}
|
||||||
{{ edit_field(
|
{{ edit_field(
|
||||||
'Change',
|
'Change',
|
||||||
url_for('.service_set_sms_prefix',
|
url_for('.service_set_sms_prefix',
|
||||||
service_id=current_service.id),
|
service_id=current_service.id),
|
||||||
permissions=['manage_service']
|
permissions=['manage_service']
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call settings_row(if_has_permission='sms') %}
|
||||||
{{ text_field('International text messages') }}
|
{{ text_field('International text messages') }}
|
||||||
{{ boolean_field('international_sms' in current_service.permissions) }}
|
{{ boolean_field('international_sms' in current_service.permissions) }}
|
||||||
{{ edit_field(
|
{{ edit_field(
|
||||||
'Change',
|
'Change',
|
||||||
url_for('.service_set_international_sms',
|
url_for('.service_set_international_sms',
|
||||||
service_id=current_service.id),
|
service_id=current_service.id),
|
||||||
permissions=['manage_service']
|
permissions=['manage_service']
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call settings_row(if_has_permission='sms') %}
|
||||||
{{ text_field('Receive text messages') }}
|
{{ text_field('Receive text messages') }}
|
||||||
{{ boolean_field('inbound_sms' in current_service.permissions) }}
|
{{ boolean_field('inbound_sms' in current_service.permissions) }}
|
||||||
{{ edit_field(
|
{{ edit_field(
|
||||||
'Change',
|
'Change',
|
||||||
url_for('.service_set_inbound_sms',
|
url_for('.service_set_inbound_sms',
|
||||||
service_id=current_service.id),
|
service_id=current_service.id),
|
||||||
permissions=['manage_service']
|
permissions=['manage_service']
|
||||||
)
|
)
|
||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
@@ -217,26 +207,24 @@
|
|||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'letter' in current_service.permissions %}
|
{% call settings_row(if_has_permission='letter') %}
|
||||||
{% call row() %}
|
{{ text_field('Sender addresses') }}
|
||||||
{{ text_field('Sender addresses') }}
|
{% call field(status='default' if default_letter_contact_block == "Not set" else '') %}
|
||||||
{% call field(status='default' if default_letter_contact_block == "Not set" else '') %}
|
{{ default_letter_contact_block | string | nl2br | safe if default_letter_contact_block else 'Not set'}}
|
||||||
{{ default_letter_contact_block | string | nl2br | safe if default_letter_contact_block else 'Not set'}}
|
{% if letter_contact_details_count > 1 %}
|
||||||
{% if letter_contact_details_count > 1 %}
|
<div class="hint">
|
||||||
<div class="hint">
|
{{ '…and %d more' | format(letter_contact_details_count - 1) }}
|
||||||
{{ '…and %d more' | format(letter_contact_details_count - 1) }}
|
</div>
|
||||||
</div>
|
{% endif %}
|
||||||
{% endif %}
|
|
||||||
{% endcall %}
|
|
||||||
{{ edit_field(
|
|
||||||
'Manage' if letter_contact_details_count else 'Change',
|
|
||||||
url_for('.service_letter_contact_details',
|
|
||||||
service_id=current_service.id),
|
|
||||||
permissions=['manage_service','manage_api_keys']
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% endif %}
|
{{ edit_field(
|
||||||
|
'Manage' if letter_contact_details_count else 'Change',
|
||||||
|
url_for('.service_letter_contact_details',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_service','manage_api_keys']
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user