mirror of
https://github.com/GSA/notifications-admin.git
synced 2025-12-10 07:03:12 -05:00
* First commit * Removed govuk for webpack. Modernized javascript importing. Removed dead js * Fixed tests, a few styling bugs * Fixed some table errors and regenerated backstop ref images * Updated tests for coverage * Changes from carlo suggestions
361 lines
14 KiB
HTML
361 lines
14 KiB
HTML
{% extends "withnav_template.html" %}
|
||
{% from "components/banner.html" import banner_wrapper %}
|
||
{% 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 %}
|
||
Settings
|
||
{% endblock %}
|
||
|
||
{% block serviceNavigation %}{% endblock %}
|
||
|
||
{% block sideNavigation %}
|
||
{% include "components/settings_nav.html" %}
|
||
{% endblock %}
|
||
|
||
{% block maincolumn_content %}
|
||
|
||
<h1 class="font-body-lg">Settings</h1>
|
||
|
||
<div class="margin-bottom-3 settings-table body-copy-table table-overflow-x-auto">
|
||
|
||
{% call mapping_table(
|
||
caption='General',
|
||
field_headings_visible=False,
|
||
caption_visible=False
|
||
) %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Service name') }}
|
||
{{ text_field(current_service.name) }}
|
||
{{ edit_field(
|
||
'Change',
|
||
url_for('.service_name_change', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE],
|
||
suffix='service name',
|
||
)
|
||
}}
|
||
{% endcall %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Send text messages') }}
|
||
{{ boolean_field('sms' in current_service.permissions) }}
|
||
{% call field(align='right') %}
|
||
<span class="table-field-status-default">Set automatically</span>
|
||
{% endcall %}
|
||
{% endcall %}
|
||
|
||
{% if current_user.platform_admin %}
|
||
{% call settings_row(if_has_permission='sms') %}
|
||
{{ text_field('Text message senders\n(Only visible to Platform Admins)') }}
|
||
{% call field(status='default' if current_service.default_sms_sender == "None" else '') %}
|
||
{{ current_service.default_sms_sender | nl2br if current_service.default_sms_sender else 'None'}}
|
||
{% if current_service.count_sms_senders > 1 %}
|
||
<div class="usa-hint">
|
||
{{ '…and %d more' | format(current_service.count_sms_senders - 1) }}
|
||
</div>
|
||
{% endif %}
|
||
{% endcall %}
|
||
{{ edit_field(
|
||
'Manage',
|
||
url_for('.service_sms_senders', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE,'manage_api_keys'],
|
||
suffix='text message senders',
|
||
)
|
||
}}
|
||
{% endcall %}
|
||
{% endif %}
|
||
|
||
{% call settings_row(if_has_permission='sms') %}
|
||
{{ text_field('Start text messages with service name') }}
|
||
{{ boolean_field(current_service.prefix_sms) }}
|
||
{{ edit_field(
|
||
'Change',
|
||
url_for('.service_set_sms_prefix', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE],
|
||
suffix='your settings for starting text messages with service name',
|
||
)
|
||
}}
|
||
{% endcall %}
|
||
|
||
{% if current_user.platform_admin %}
|
||
{% call settings_row(if_has_permission='sms') %}
|
||
{{ text_field('Send international text messages') }}
|
||
{{ boolean_field('international_sms' in current_service.permissions) }}
|
||
{{ edit_field(
|
||
'Change',
|
||
url_for('.service_set_international_sms', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE],
|
||
suffix='your settings for sending international text messages',
|
||
)
|
||
}}
|
||
{% endcall %}
|
||
{% endif %}
|
||
|
||
<!-- {% call settings_row(if_has_permission='sms') %}
|
||
{{ text_field('Receive text messages') }}
|
||
{{ boolean_field('inbound_sms' in current_service.permissions) }}
|
||
{{ edit_field(
|
||
'Change',
|
||
url_for('.service_set_inbound_sms', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE],
|
||
suffix='your settings for receiving text messages',
|
||
)
|
||
}}
|
||
{% endcall %} -->
|
||
{% endcall %}
|
||
|
||
<!-- {% call mapping_table(
|
||
caption='Email settings',
|
||
field_headings=['Label', 'Value', 'Action'],
|
||
field_headings_visible=False,
|
||
caption_visible=True
|
||
) %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Send emails') }}
|
||
{{ boolean_field('email' in current_service.permissions) }}
|
||
{{ edit_field(
|
||
'Change',
|
||
url_for(
|
||
'.service_set_channel',
|
||
channel='email',
|
||
service_id=current_service.id
|
||
),
|
||
permissions=[ServicePermission.MANAGE_SERVICE],
|
||
suffix='your settings for sending emails',
|
||
)}}
|
||
{% endcall %}
|
||
|
||
{% call settings_row(if_has_permission='email') %}
|
||
{{ text_field('Reply-to email addresses') }}
|
||
{% call field(status='default' if current_service.count_email_reply_to_addresses == 0 else '') %}
|
||
{{ current_service.default_email_reply_to_address or 'Not set' }}
|
||
{% if current_service.count_email_reply_to_addresses > 1 %}
|
||
<div class="usa-hint">
|
||
{{ '…and %d more' | format(current_service.count_email_reply_to_addresses - 1) }}
|
||
</div>
|
||
{% endif %}
|
||
{% endcall %}
|
||
{{ edit_field(
|
||
'Manage',
|
||
url_for('.service_email_reply_to', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE,'manage_api_keys'],
|
||
suffix='reply-to email addresses',
|
||
)
|
||
}}
|
||
{% endcall %}
|
||
|
||
{% call settings_row(if_has_permission='email') %}
|
||
{{ text_field('Send files by email') }}
|
||
{{ optional_text_field(current_service.contact_link, default="Not set up", truncate=true) }}
|
||
{{ edit_field(
|
||
'Manage',
|
||
url_for('.send_files_by_email_contact_details', service_id=current_service.id),
|
||
permissions=[ServicePermission.MANAGE_SERVICE],
|
||
suffix='sending files by email',
|
||
)}}
|
||
{% endcall %}
|
||
|
||
{% endcall %} -->
|
||
|
||
</div>
|
||
|
||
{% if current_service.trial_mode %}
|
||
<h2 class="font-body-lg top-gutter-0">Your service is in trial mode</h2>
|
||
|
||
<p>You can only:</p>
|
||
|
||
<ul class='list list-bullet'>
|
||
<li>send {{ current_service.message_limit }} text messages per day</li>
|
||
<li>send messages to yourself and other people in your team</li>
|
||
</ul>
|
||
|
||
<p>
|
||
{% if current_user.has_permissions(ServicePermission.MANAGE_SERVICE) %}
|
||
To remove these restrictions, you can send us a
|
||
<a class="usa-link" href="mailto:notify-support@gsa.gov">request to go live</a>.
|
||
{% else %}
|
||
Your service manager can ask to have these restrictions removed.
|
||
{% endif %}
|
||
</p>
|
||
|
||
{% else %}
|
||
<h2 class="font-heading-lg top-gutter-0">Your service is live</h2>
|
||
|
||
<p>
|
||
You can send up to
|
||
{{ "{:,}".format(current_service.message_limit) }} messages
|
||
per year.
|
||
</p>
|
||
<p>
|
||
Problems or comments?
|
||
<a class="usa-link" href="{{ url_for('main.support') }}">Contact us</a>.
|
||
</p>
|
||
|
||
{% endif %}
|
||
|
||
{% if current_user.platform_admin %}
|
||
|
||
<div class="settings-table body-copy-table top-gutter-4-3">
|
||
|
||
<h2 class="font-body-lg">Platform admin settings</h2>
|
||
|
||
{% call mapping_table(
|
||
caption='Settings',
|
||
field_headings=['Label', 'Value', 'Action'],
|
||
field_headings_visible=False,
|
||
caption_visible=False
|
||
) %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Live')}}
|
||
{% if current_service.trial_mode and not current_service.organization_id %}
|
||
{{ text_field('No (organization must be set first)') }}
|
||
{% call field(align='right') %}
|
||
<span class="table-field-status-default">Set automatically</span>
|
||
{% endcall %}
|
||
{% else %}
|
||
{{ boolean_field(not current_service.trial_mode) }}
|
||
{{ edit_field('Change', url_for('.service_switch_live', service_id=current_service.id), suffix='service status') }}
|
||
{% endif %}
|
||
{% endcall %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Count in list of live services')}}
|
||
{{ text_field(current_service.count_as_live|format_yes_no) }}
|
||
{{ edit_field('Change', url_for('.service_switch_count_as_live', service_id=current_service.id), suffix='if service is counted in list of live services') }}
|
||
{% endcall %}
|
||
{% call row() %}
|
||
{{ text_field('Billing details')}}
|
||
{{ optional_text_field(current_service.billing_details, default="None", wrap=True) }}
|
||
{{ edit_field('Change', url_for('.edit_service_billing_details', service_id=current_service.id), suffix='billing details for service') }}
|
||
{% endcall %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Notes')}}
|
||
{{ optional_text_field(current_service.notes, default="None", wrap=True) }}
|
||
{{ edit_field('Change', url_for('.edit_service_notes', service_id=current_service.id), suffix='the notes for the service') }}
|
||
{% endcall %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Organization')}}
|
||
{% call field() %}
|
||
{% if current_service.organization_id %}
|
||
<a class="usa-link" href="{{ url_for('main.organization_dashboard', org_id=current_service.organization_id) }}">
|
||
{{ current_service.organization_name }}
|
||
</a>
|
||
{% else %}
|
||
<span class="table-field-status-default">Not set</span>
|
||
{% endif %}
|
||
{% if current_service.organization_type %}
|
||
<div class="usa-hint">
|
||
{{ current_service.organization_type_label }}
|
||
</div>
|
||
{% endif %}
|
||
{% endcall %}
|
||
{{ edit_field('Change', url_for('.link_service_to_organization', service_id=current_service.id), suffix='organization for service') }}
|
||
{% endcall %}
|
||
|
||
{% call row() %}
|
||
{{ text_field('Rate limit')}}
|
||
{{ text_field('{:,} per minute'.format(current_service.rate_limit)) }}
|
||
{{ edit_field('Change', url_for('.set_rate_limit', service_id=current_service.id), suffix='rate limit') }}
|
||
{% endcall %}
|
||
{% call row() %}
|
||
{{ text_field('Message batch limit')}}
|
||
{{ text_field('{:,} per send'.format(current_service.message_limit)) }}
|
||
{{ edit_field('Change', url_for('.set_message_limit', service_id=current_service.id), suffix='message batch limit') }}
|
||
{% endcall %}
|
||
{% call row() %}
|
||
{{ text_field('Free text message allowance')}}
|
||
{{ text_field('{:,} per year'.format(current_service.free_sms_fragment_limit)) }}
|
||
{{ edit_field('Change', url_for('.set_free_sms_allowance', service_id=current_service.id), suffix='free text message allowance') }}
|
||
{% endcall %}
|
||
{% call row() %}
|
||
{{ text_field('Custom data retention')}}
|
||
{% call field() %}
|
||
{% for channel in current_service.data_retention %}
|
||
{% if loop.first %}
|
||
<ul>
|
||
{% endif %}
|
||
<li>{{ channel.notification_type|format_notification_type }} – {{ channel.days_of_retention }} days</li>
|
||
{% if loop.last %}
|
||
</ul>
|
||
{% endif %}
|
||
{% else %}
|
||
<div class="table-field-status-default">Not set</div>
|
||
{% endfor %}
|
||
{% endcall %}
|
||
{{ edit_field('Change', url_for('.data_retention', service_id=current_service.id), suffix='data retention') }}
|
||
{% endcall %}
|
||
|
||
{% for permission in service_permissions %}
|
||
{% if not service_permissions[permission].requires or current_service.has_permission(service_permissions[permission].requires) %}
|
||
{% call row() %}
|
||
{{ text_field(service_permissions[permission].title)}}
|
||
{{ boolean_field(current_service.has_permission(permission)) }}
|
||
{{ edit_field(
|
||
'Change',
|
||
url_for(
|
||
service_permissions[permission].endpoint or '.service_set_permission',
|
||
service_id=current_service.id,
|
||
permission=permission if not service_permissions[permission].endpoint else None
|
||
),
|
||
suffix='your settings for ' + service_permissions[permission].title,
|
||
) }}
|
||
{% endcall %}
|
||
{% endif %}
|
||
{% endfor %}
|
||
|
||
{% endcall %}
|
||
|
||
</div>
|
||
|
||
{% endif %}
|
||
|
||
{% if current_service.active and (current_service.trial_mode or current_user.platform_admin) %}
|
||
<p class="top-gutter-1-2">
|
||
<span class="page-footer-link page-footer-delete-link-without-button">
|
||
<a class="usa-button usa-button--secondary" href="{{ url_for('.archive_service', service_id=current_service.id) }}">
|
||
Delete this service
|
||
</a>
|
||
</span>
|
||
{% if current_user.platform_admin %}
|
||
<span class="page-footer-link">
|
||
<a href="{{ url_for('.suspend_service', service_id=current_service.id) }}" class="usa-button usa-button--outline">
|
||
Suspend service
|
||
</a>
|
||
</span>
|
||
|
||
<span class="page-footer-link">
|
||
<a href="{{ url_for('.history', service_id=current_service.id) }}" class="usa-link">
|
||
Service history
|
||
</a>
|
||
</span>
|
||
{% endif %}
|
||
</p>
|
||
{% endif %}
|
||
{% if (not current_service.active) and current_user.platform_admin %}
|
||
<p>
|
||
<div class="usa-hint ">
|
||
Service suspended
|
||
</div>
|
||
|
||
<span class="page-footer-link page-footer-delete-link-without-button">
|
||
<a class="usa-link usa-link--destructive" href="{{ url_for('.resume_service', service_id=current_service.id) }}">
|
||
Resume service
|
||
</a>
|
||
</span>
|
||
|
||
<span class="page-footer-link">
|
||
<a href="{{ url_for('.history', service_id=current_service.id) }}" class="usa-link">
|
||
Service history
|
||
</a>
|
||
</span>
|
||
</p>
|
||
{% endif %}
|
||
|
||
|
||
{% endblock %}
|
||
}
|