Merge branch 'main' into 976-convert-start-pages-to-generate-markdown

This commit is contained in:
Anastasia Gradova
2023-12-22 11:10:17 -07:00
125 changed files with 783 additions and 8249 deletions

View File

@@ -10,7 +10,12 @@ Error
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": back_link }) }}
<!--hide back link for one-off sends because the user never created a csv file-->
{% if recipients|length == 1 and not recipients.allowed_to_send_to and not recipients.missing_column_headers %}
<!--do nothing-->
{% else %}
{{ usaBackLink({ "href": back_link }) }}
{% endif %}
{% endblock %}
{% block maincolumn_content %}
@@ -130,7 +135,10 @@ Error
{% endcall %}
</div>
<!--hide the upload button and back to top link for one off sends-->
{% if recipients|length == 1 and not recipients.allowed_to_send_to and not recipients.missing_column_headers %}
<!-- do nothing -->
{% else %}
<div class="js-stick-at-top-when-scrolling">
<div class="form-group">
{% if not request.args.from_test %}
@@ -144,6 +152,7 @@ Error
</div>
<a href="#content" class="usa-link back-to-top-link">Back to top</a>
</div>
{% endif %}
{% if not request.args.from_test %}
@@ -210,4 +219,4 @@ recipients.column_headers %}
<h2 class="font-body-lg">Preview of {{ template.name }}</h2>
{{ template|string }}
{% endblock %}
{% endblock %}

View File

@@ -4,7 +4,6 @@
{% from "components/table.html" import mapping_table, row, field, text_field, index_field, hidden_field_heading %}
{% from "components/file-upload.html" import file_upload %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% from "components/components/alert/macro.njk" import usaAlert %}
{% block service_page_title %}
Error

View File

@@ -1,151 +0,0 @@
{% extends "withoutnav_template.html" %}
{% from "components/banner.html" import banner %}
{% block per_page_title %}
Cookies
{% endblock %}
{% block cookie_message %}{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="grid-col-8">
<div class="cookie-settings__confirmation banner banner-with-tick" data-cookie-confirmation="true" role="group" tabindex="-1">
<h2 class="banner-title">Your cookie settings were saved</h2>
<a class="govuk_link cookie-settings__prev-page" href="#" data-module="track-click" data-track-category="cookieSettings" data-track-action="Back to previous page">
Go back to the page you were looking at
</a>
</div>
<h1 class="font-body-2xl margin-bottom-3">Cookies</h1>
<p class="summary">
Cookies are small files saved on your phone, tablet, or computer when you visit a website.
</p>
<p>We use cookies to make Notify.gov work and collect information about how you use our service.</p>
<h2 class="font-body-lg" id="essential-cookies">Essential cookies</h2>
<p>
Essential cookies keep your information secure while you use Notify. We do not need to ask permission to use them.
</p>
<table>
<caption class="usa-sr-only">Essential cookies</caption>
<thead>
<tr>
<th>Name</th>
<th>Purpose</th>
<th>Expires</th>
</tr>
</thead>
<tbody>
<tr>
<td>
notify_admin_session
</td>
<td width="50%">
Used to keep you signed in
</td>
<td>
20 hours
</td>
</tr>
<tr>
<td>
cookie_policy
</td>
<td width="50%">
Saves your cookie consent settings
</td>
<td>
1 year
</td>
</tr>
</tbody>
</table>
<h2 class="font-body-lg" id="analytics-cookies">Analytics cookies (optional)</h2>
<p>
With your permission, we use Google Analytics to collect data about how you use Notify. This information helps us to improve our service.
</p>
<p>
Google is not allowed to use or share our analytics data with anyone.
</p>
<p>
Google Analytics stores anonymized information about:
</p>
<ul class="usa-list usa-list--bullet">
<li>how you got to Notify.gov</li>
<li>the pages you visit on Notify and how long you spend on them</li>
<li>any errors you see while using Notify</li>
</ul>
<table>
<caption class="usa-sr-only">Google Analytics cookies</caption>
<thead>
<tr>
<th>Name</th>
<th>Purpose</th>
<th>Expires</th>
</tr>
</thead>
<tbody>
<tr>
<td>
_ga
</td>
<td width="50%">
Checks if youve visited Notify before. This helps us count how many people visit our site.
</td>
<td>
2 years
</td>
</tr>
<tr>
<td>
_gid
</td>
<td width="50%">
Checks if youve visited Notify before. This helps us count how many people visit our site.
</td>
<td>
24 hours
</td>
</tr>
</tbody>
</table>
<div class="cookie-settings__no-js">
<h2 class="govuk-heading-s">Do you want to accept analytics cookies?</h2>
<p>We use Javascript to set our analytics cookies. Unfortunately Javascript is not running on your browser, so you cannot change your settings. You can try:</p>
<ul class="usa-list usa-list--bullet">
<li>reloading the page</li>
<li>turning on Javascript in your browser</li>
</ul>
</div>
<div class="cookie-settings__form-wrapper">
<form data-module="cookie-settings">
<div class="usa-form-group">
<fieldset class="usa-fieldset" aria-describedby="changed-name-hint">
<legend class="usa-fieldset__legend usa-fieldset__legend--s">
Do you want to accept analytics cookies?
</legend>
<div class="usa-radios usa-radios--inline">
<div class="usa-radio">
<input class="usa-radio__input" id="cookies-analytics-yes" name="cookies-analytics" type="radio" value="on">
<label class="usa-radio__label" for="cookies-analytics-yes">
Yes
</label>
</div>
<div class="usa-radio">
<input class="usa-radio__input" id="cookies-analytics-no" name="cookies-analytics" type="radio" value="off">
<label class="usa-radio__label" for="cookies-analytics-no">
No
</label>
</div>
</div>
</fieldset>
</div>
<button class="govuk-button" type="submit">Save cookie settings</button>
</form>
</div>
</div>
</div>
{% endblock %}

View File

@@ -1,5 +1,4 @@
{% from "components/table.html" import list_table, field, right_aligned_field_heading, row_heading %}
{% from "components/big-number.html" import big_number -%}
<div class='dashboard-table ajax-block-container'>
{% call(item, row_number) list_table(
@@ -36,28 +35,78 @@
{% endcall %}
{% call field() %}
{% if item.scheduled %}
{{ big_number(
item.notification_count,
smallest=True,
label=item.notification_count|message_count_label(
item.template_type,
suffix='waiting to send'
)
) }}
{% if link %}
<a class="usa-link display-flex" href="{{ link }}">
{% endif %}
<span class="big-number-smallest">
<span class="big-number-number">
{% if item.notification_count is number %}
{% if currency %}
{{ "{}{:,.2f}".format(currency, item.notification_count) }}
{% else %}
{{ "{:,}".format(item.notification_count) }}
{% endif %}
{% else %}
{{ item.notification_count }}
{% endif %}
</span>
{% if item.notification_count %}
<span class="big-number-label">{{ item.notification_count|message_count_label(item.template_type,suffix='waiting to send') }}</span>
{% endif %}
</span>
{% if link %}
</a>
{% endif %}
{% else %}
<div class="grid-row">
<div class="grid-col-4">
{{ big_number(
item.notifications_sending,
smallest=True,
label='pending',
) }}
{% if link %}
<a class="usa-link display-flex" href="{{ link }}">
{% endif %}
<span class="big-number-smallest">
<span class="big-number-number">
{{ "{:,}".format(item.notifications_sending) }}
</span>
<span class="big-number-label">pending</span>
</span>
{% if link %}
</a>
{% endif %}
</div>
<div class="grid-col-4">
{{ big_number(item.notifications_delivered, smallest=True, label='delivered') }}
<span class="big-number-smallest">
<span class="big-number-number">
{% if item.notifications_delivered is number %}
{{ "{:,}".format(item.notifications_delivered) }}
{% else %}
{{ item.notifications_delivered }}
{% endif %}
</span>
<span class="big-number-label">delivered</span>
</span>
</div>
<div class="grid-col-4">
{{ big_number(item.notifications_failed, smallest=True, label='failed') }}
{% if link %}
<a class="usa-link display-flex" href="{{ link }}">
{% endif %}
<span class="big-number-smallest">
<span class="big-number-number">
{% if item.notifications_failed is number %}
{% if currency %}
{{ "{}{:,.2f}".format(currency, item.notifications_failed) }}
{% else %}
{{ "{:,}".format(item.notifications_failed) }}
{% endif %}
{% else %}
{{ item.notifications_failed }}
{% endif %}
</span>
<span class="big-number-label">failed</span>
</span>
{% if link %}
</a>
{% endif %}
</div></div>
{% endif %}

View File

@@ -1,18 +1,32 @@
{% from "components/big-number.html" import big_number_with_status %}
<div class="ajax-block-container">
<div class="grid-row grid-gap">
<div id="total-sms" class="grid-col-12">
{{ big_number_with_status(
statistics['sms']['requested'],
statistics['sms']['requested']|message_count_label('sms', suffix='sent'),
statistics['sms']['failed'],
statistics['sms']['failed_percentage'],
statistics['sms']['show_warning'],
failure_link=url_for(".view_notifications", service_id=service_id, message_type='sms', status='failed'),
link=url_for(".view_notifications", service_id=service_id, message_type='sms', status='sending,delivered,failed'),
smaller=True,
) }}
<span class="big-number-with-status">
<a class="usa-link display-flex" href="{{ url_for('.view_notifications', service_id=service_id, message_type='sms', status='sending,delivered,failed') }}">
<span class="big-number-smaller">
<span class="big-number-number">
{% if statistics['sms']['requested'] is number %}
{{ "{:,}".format(statistics['sms']['requested']) }}
{% else %}
{{ statistics['sms']['requested'] }}
{% endif %}
</span>
<span class="big-number-label">{{ statistics['sms']['requested']|message_count_label('sms', suffix='sent') }}</span>
</span>
</a>
{% if show_failures %}
<span class="big-number-status{% if statistics['sms']['show_warning'] is sameas true %} big-number-status--failing{% endif %}">
{% if statistics['sms']['failed'] %}
<a class="usa-link" href="{{ url_for('.view_notifications', service_id=service_id, message_type='sms', status='failed') }}">
{{ "{:,}".format(statistics['sms']['failed']) }}
failed {{ statistics['sms']['failed_percentage'] }}%
</a>
{% else %}
No failures
{% endif %}
</span>
{% endif %}
</span>
</div>
<!-- <div id="total-email" class="grid-col-6">
<span class="big-number-with-status pilot-disabled">

View File

@@ -1,5 +1,4 @@
{% from "components/table.html" import list_table, field, right_aligned_field_heading, row_heading %}
{% from "components/show-more.html" import show_more %}
<div class="ajax-block-container">
{% if current_service.scheduled_job_stats.count %}

View File

@@ -1,5 +1,3 @@
{% from "components/big-number.html" import big_number %}
<div class='grid-row grid-gap ajax-block-container'>
<div class='grid-col-12'>
@@ -15,17 +13,21 @@
</thead>
<tbody>
<tr>
<td>{{ big_number(sms_sent, smaller=True) }}</td>
<td><span class="big-number-smaller big-number-number">{{ "{:,}".format(sms_sent) }}</span></td>
<td>
{% if sms_cost %}
{{ big_number(
sms_cost,
'spent on text messages',
currency="$",
smaller=True
) }}
<span class="big-number-smaller">
<span class="big-number-number">
{{ "{}{:,.2f}".format('$', sms_cost) }}
</span>
<span class="big-number-label">'spent on text messages'</span>
</span>
{% else %}
{{ big_number(sms_allowance_remaining, smaller=True) }}
<span class="big-number-smaller">
<span class="big-number-number">
{{ "{:,}".format(sms_allowance_remaining) }}
</span>
</span>
{% endif %}
</td>
</tr>

View File

@@ -1,6 +1,5 @@
{% extends "withnav_template.html" %}
{% from "components/show-more.html" import show_more %}
{% from "components/table.html" import list_table, field, right_aligned_field_heading, hidden_field_heading %}
{% from "components/ajax-block.html" import ajax_block %}
@@ -56,10 +55,10 @@
{% if current_user.has_permissions('manage_service') %}
<h3 class='margin-bottom-0' id="current-year"></h3>
{{ ajax_block(partials, updates_url, 'usage') }}
{{ show_more(
url_for(".usage", service_id=current_service['id']),
'See all usage'
) }}
<a
href="{{ url_for('.usage', service_id=current_service['id']) }}"
class="usa-link show-more"
><span>See all usage</span></a>
{% endif %}
</div>

View File

@@ -1,5 +1,4 @@
{% from "components/page-header.html" import page_header %}
{% from "components/big-number.html" import big_number_with_status, big_number %}
{% from "components/pill.html" import pill %}
{% from "components/table.html" import list_table, field, hidden_field_heading, right_aligned_field_heading, row_heading %}
@@ -44,11 +43,16 @@
(month.email_counts, 'email'),
] %}
{% call field(align='left') %}
{{ big_number(
counts.requested,
counts.requested|message_count_label(template_type, suffix=''),
smallest=True,
) }}
<span class="big-number-smallest">
<span class="big-number-number">
{% if counts.requested is number %}
{{ "{:,}".format(counts.requested) }}
{% else %}
{{ counts.requested }}
{% endif %}
</span>
<span class="big-number-label">{{ counts.requested|message_count_label(template_type, suffix='') }}</span>
</span>
{% if counts.requested %}
<span class="{{ 'failure-highlight' if counts.show_warning else '' }}">
{{ "{:,}".format(counts.failed) }} failed

View File

@@ -1,7 +1,4 @@
{% from "components/big-number.html" import big_number %}
{% from "components/big-number.html" import big_number %}
{% from "components/table.html" import list_table, field, right_aligned_field_heading, row_heading, spark_bar_field %}
{% from "components/show-more.html" import show_more %}
<div class="ajax-block-container">
{% if template_statistics|length > 1 %}
@@ -27,11 +24,10 @@
{{ spark_bar_field(item.count, most_used_template_count, id=item.template_id) }}
{% endcall %}
{{ show_more(
url_for('.template_usage', service_id=current_service.id),
'See templates used by month',
with_border=False
) }}
<a
href="{{ url_for('.template_usage', service_id=current_service.id) }}"
class="usa-link show-more-no-border"
><span>See templates used by month</span></a>
</div>
{% endif %}
</div>

View File

@@ -4,7 +4,6 @@
{% from "components/page-footer.html" import page_footer %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% from "components/components/alert/macro.njk" import usaAlert %}
{% block service_page_title %}
{{ heading_action }} text message template

View File

@@ -1,46 +0,0 @@
{% extends "views/platform-admin/_base_template.html" %}
{% from "components/file-upload.html" import file_upload %}
{% 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/components/back-link/macro.njk" import usaBackLink %}
{% block service_page_title %}
{{ '{} email branding'.format('Update' if email_branding else 'Create')}}
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.email_branding') }) }}
{% endblock %}
{% block platform_admin_content %}
{{ page_header('{} email branding'.format('Update' if email_branding else 'Add')) }}
<div class="grid-row">
<div class="grid-col-9">
{% if logo %}
<div id="logo-img">
<img src="https://{{ cdn_url }}/{{ logo }}"/>
</div>
{% endif %}
<p>
Logos should be PNG files, 108px high
</p>
{{ file_upload(form.file, allowed_file_extensions=['png'], button_text='{} logo'.format('Update' if email_branding else 'Upload')) }}
{% call form_wrapper() %}
<div class="form-group">
<div style='margin-top:15px;'>{{form.name}}</div>
<div style='margin-top:15px;'>{{form.text}}</div>
{{ form.colour }}
{{ form.brand_type }}
{{ page_footer(
'Save',
button_name='operation',
button_value='email-branding-details'
) }}
</div>
{% endcall %}
</div>
{% endblock %}

View File

@@ -1,36 +0,0 @@
{% extends "views/platform-admin/_base_template.html" %}
{% from "components/page-header.html" import page_header %}
{% from "components/live-search.html" import live_search %}
{% from "components/components/button/macro.njk" import usaButton %}
{% set page_title = "Email branding" %}
{% block per_page_title %}
{{ page_title }}
{% endblock %}
{% block platform_admin_content %}
<h1 class="font-body-2xl">{{ page_title }}</h1>
{{ live_search(target_selector='.message-name', show=True, form=search_form, autofocus=True) }}
<nav>
<ul class="email-brand">
{% for brand in email_brandings %}
<li class="message-name">
<a class="usa-link" href="{{ url_for('.update_email_branding', branding_id=brand.id) }}">
{{ brand.name or 'Unnamed' }}
</a>
</li>
{% endfor %}
</ul>
</nav>
<div class="js-stick-at-bottom-when-scrolling">
{{ usaButton({
"element": "a",
"text": "New brand",
"href": url_for('.create_email_branding'),
"classes": "govuk-button--secondary"
}) }}
</div>
{% endblock %}

View File

@@ -13,7 +13,6 @@
<p class="usa-body">If you work for the government, you can use Notify.gov to keep your users updated.</p>
<p class="usa-body">Notify makes it easy to create, customize, and send <a class="usa-link" href="{{ url_for('main.features_sms') }}">text messages</a>.</p>
<!-- <ul class="list list-bullet">
<li><a class="usa-link" href="{{ url_for('main.features_email') }}">emails</a></li>
<li><a class="usa-link" href="{{ url_for('main.features_sms') }}">text messages</a></li>
</ul> -->
<p class="usa-body">You do not need any technical knowledge to use Notify.</p>

View File

@@ -1,49 +0,0 @@
{% extends "content_template.html" %}
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %}
{% block per_page_title %}
Emails
{% endblock %}
{% block content_column_content %}
<h1 class="font-body-2xl">Emails</h1>
<p>Send an unlimited number of emails for free with Notify.gov.</p>
{% if not current_user.is_authenticated %}
<p><a class="usa-link" href="{{ url_for('main.register') }}">Create an account</a> and try Notify for yourself.</p>
{% endif %}
<h2 class="heading heading-medium">Features</h2>
<p>Notify makes it easy to:</p>
<ul class="list list-bullet">
<li>create reusable email templates</li>
<li>personalize the content of your emails</li>
<li>send and schedule bulk messages</li>
</ul>
<p>You can also <a class="usa-link" href="{{ url_for('.documentation') }}">integrate with our API</a> to send emails automatically.</p>
<h3 class="font-body-md margin-bottom-2" id="branding">Email branding</h3>
<p>Add your organizations logo and brand color to email templates.</p>
<p>See <a class="usa-link" href="{{ url_for('.branding_and_customisation', _anchor='email-branding') }}">how to change your email branding</a>.</p>
<h3 class="font-body-md margin-bottom-2" id="send-files">Send files by email</h3>
<p>Notify offers a safe and reliable way to send files by email.</p>
<p>Upload a file using our API, then send your users an email with a link to download it.</p>
<p>Notify uses encrypted links instead of email attachments because:</p>
<ul class="list list-bullet">
<li>theyre more secure</li>
<!--<li>you can track when the recipient downloads your document</li>-->
<li>email attachments are often marked as spam</li>
</ul>
<p>Read our <a class="usa-link" href="{{ url_for('.documentation') }}">API documentation</a> for more information.</p>
<h3 class="font-body-md margin-bottom-2" id="reply-to">Add a reply-to address</h3>
<p>Notify lets you choose the email address that users reply to.</p>
<p>Emails with a reply-to address seem more trustworthy and are less likely to be labelled as spam.</p>
<p>See <a class="usa-link" href="{{ url_for('.branding_and_customisation', _anchor='reply-to-address') }}">how to add a reply-to address</a>.</p>
<h2 class="heading heading-medium">Pricing</h2>
<p>Its free to send emails through Notify.</p>
<p><a class="usa-link" href="{{ url_for('.pricing') }}">See pricing</a> for more details.</p>
{% endblock %}

View File

@@ -1,55 +0,0 @@
{% extends "content_template.html" %}
{% from "components/service-link.html" import service_link %}
{% block per_page_title %}
Branding and customization
{% endblock %}
{% block content_column_content %}
<h1 class="font-body-2xl margin-bottom-3">Branding and customization</h1>
<!-- <p>This page explains how to:</p>
<ul class="list list-bullet">
<li><a class="usa-link" href="#email-branding">change your email branding</a></li>
<li><a class="usa-link" href="#reply-to-address">add a reply-to email address</a></li>
<li><a class="usa-link" href="#text-message-sender">change the text message sender</a></li>
</ul>
<h2 class="font-body-lg" id="email-branding">Change your email branding</h2>
<p>The default branding for email templates is the Notify.govlogo.</p>
<p>To change your email branding:</p>
<ol class="list list-number">
<li>Go to the <b class="bold">Email settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Change</b> on the <b class="bold">Email branding</b> row.</li>
</ol>
<h2 class="font-body-lg" id="reply-to-address">Add a reply-to email address</h2>
<p>You can choose the email address that your users reply to. You must add at least one reply-to address for your service before you can <a class="usa-link" href="{{ url_for('main.trial_mode_new') }}">request to go live</a>.</p>
<p>To add a reply-to email address:</p>
<ol class="list list-number">
<li>Go to the <b class="bold">Email settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Manage</b> on the <b class="bold">Reply-to email addresses</b> row.</li>
<li>Select <b class="bold">Add reply-to address</b>.</li>
</ol> -->
<h2 class="font-body-lg" id="text-message-sender">Change the text message sender</h2>
<p>The text message sender tells your users who the message is from.</p>
<p>To change the text message sender from the default of Notify.gov:</p>
<ol class="list list-number">
<li>Go to the <b class="bold">Text message settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Manage</b> on the <b class="bold">Text message senders</b> row.</li>
<li>Select <b class="bold">Change</b> or <b class="bold">Add text message sender</b>.</li>
</ol>
{% endblock %}

View File

@@ -17,12 +17,12 @@
<ul class="list list-bullet">
<li><a class="usa-link" href="#editandformat">edit and format messages</a></li>
<li><a class="usa-link" href="#branding">add branding and customization</a></li>
<li><a class="usa-link" href="#customization">add customization</a></li>
<!-- <li><a class="usa-link" href="{{ url_for('.send_files_by_email') }}">send files by email</a></li> -->
</ul>
<h2 class="font-body-lg" id="#formatting">Edit and format messages</h2>
<p>This section explains how to:</p>
<ul class="list list-bullet">
<li><a class="usa-link" href="#formatting">format your content</a></li>
@@ -30,42 +30,42 @@
<li><a class="usa-link" href="#personalised-content">personalize your content</a></li>
<li><a class="usa-link" href="#optional-content">add optional content</a></li>
</ul>
<h3 class="font-body-lg" id="formatting">Format your content</h3>
<p>You can see a list of formatting instructions on the edit template page:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
</ol>
<h3 class="font-body-lg" id="links">Add links</h3>
<p>When composing a text message, write URLs in full and Notify will convert them into links for you.
</p>
<p>You cannot convert text into a link.
<!-- Research shows that people like to check a URL looks genuine before clicking the link in an email. This is hard to do if the URL is hidden behind clickable link text.-->
</p>
<p>We do not recommend using a third-party link shortening service because:</p>
<ul class="list list-bullet">
<li>your users cannot see where the link will take them</li>
<li>your link might stop working if theres a service outage</li>
<li>you can no longer control where the redirect goes</li>
</ul>
<h3 class="font-body-lg" id="personalised-content">Personalize your content</h3>
<p>To personalize the content of your messages, add a placeholder to the template.</p>
<p>Placeholders are filled in with details, like a name or reference number, each time you send a
message.</p>
<p>To add a placeholder to the template:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
@@ -73,20 +73,20 @@
((ref&nbsp;number)).</li>
<li>Select <b class="bold">Save</b>.</li>
</ol>
<p>When you send a message you can either:</p>
<ul class="list list-bullet">
<li>manually fill in the placeholders yourself</li>
<li>upload a list of personal details and let Notify do it for you</li>
</ul>
<p>If you upload a list, the column names need to match the placeholders in your template.</p>
<h3 class="font-body-lg" id="optional-content">Add optional content</h3>
<p>To add optional content to your messages:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
@@ -94,25 +94,25 @@
who are under 18: ((under18??Please get your application signed by a parent or guardian.))</li>
<li>Select <b class="bold">Save</b>.</li>
</ol>
<p>For each person you send this message to, specify yes or no to show or hide this content. You
can either:</p>
<ul class="list list-bullet">
<li>do this yourself</li>
<li>upload a list of personal details and let Notify do it for you</li>
</ul>
<p>If you upload a list, the column names need to match the optional content in your template.</p>
<h2 class="font-body-lg" id="branding">Branding and customization</h2>
<h2 class="font-body-lg" id="customization">Message customization</h2>
<h3 class="font-body-lg">Change the text message sender</h3>
<p>The text message sender tells your users who the message is from.</p>
<p>To change the text message sender from the default of Notify.gov:</p>
<ol class="list list-number">
<li>Go to the <b class="bold">Text message settings</b> section of the {{
service_link(current_service, 'main.service_settings', 'settings') }} page.</li>

View File

@@ -1,6 +1,5 @@
{% extends "withnav_template.html" %}
{% from "components/banner.html" import banner %}
{% from "components/ajax-block.html" import ajax_block %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
@@ -13,9 +12,44 @@
{{ page_header(job.original_file_name) }}
{{ ajax_block(partials, updates_url, 'status', finished=job.processing_finished) }}
{{ ajax_block(partials, updates_url, 'counts', finished=job.processing_finished) }}
{{ ajax_block(partials, updates_url, 'notifications', finished=job.processing_finished) }}
{% if not job.processing_finished %}
<div
data-module="update-content"
data-resource="{{ updates_url }}"
data-key="status"
data-form=""
>
{% endif %}
{{ partials['status']|safe }}
{% if not job.processing_finished %}
</div>
{% endif %}
{% if not finished %}
<div
data-module="update-content"
data-resource="{{ updates_url }}"
data-key="counts"
data-form=""
>
{% endif %}
{{ partials['counts']|safe }}
{% if not finished %}
</div>
{% endif %}
{% if not job.processing_finished %}
<div
data-module="update-content"
data-resource="{{ updates_url }}"
data-key="notifications"
data-form=""
>
{% endif %}
{{ partials['notifications']|safe }}
{% if not job.processing_finished %}
</div>
{% endif %}
<div> </div>

View File

@@ -43,6 +43,8 @@
<span class="live-search-relevant">{{ user.email_address }}</span> (invited)
{%- elif user.status == 'cancelled' -%}
<span class="live-search-relevant">{{ user.email_address }}</span> (cancelled invite)
{%- elif user.status == 'expired' -%}
<span class="live-search-relevant">{{ user.email_address }}</span> (expired invite)
{%- elif user.id == current_user.id -%}
<span class="live-search-relevant">(you)</span>
{% else %}
@@ -84,6 +86,8 @@
{% if current_user.has_permissions('manage_service') %}
{% if user.status == 'pending' %}
<a class="user-list-edit-link usa-link" href="{{ url_for('.cancel_invited_user', service_id=current_service.id, invited_user_id=user.id)}}">Cancel invitation<span class="usa-sr-only"> for {{ user.email_address }}</span></a>
{% elif user.status == 'expired' %}
<a class="user-list-edit-link usa-link" href="{{ url_for('.resend_invite', service_id=current_service.id, invited_user_id=user.id)}}">Resend invite<span class="usa-sr-only"> for {{ user.email_address }}</span></a>
{% elif user.is_editable_by(current_user) %}
<a class="user-list-edit-link usa-link" href="{{ url_for('.edit_user_permissions', service_id=current_service.id, user_id=user.id)}}">Change details<span class="usa-sr-only"> for {{ user.name }} {{ user.email_address }}</span></a>
{% endif %}

View File

@@ -1,26 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/radios.html" import radio, conditional_radio_panel %}
{% from "components/select-input.html" import select_wrapper %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('main.request_to_go_live', service_id=current_service.id) }) }}
{% endblock %}
{% block maincolumn_content %}
{% call form_wrapper() %}
{% call select_wrapper(form.same_as_service_name) %}
{% for option in form.same_as_service_name %}
{{ radio(option, data_target='custom-organization-name' if option.data == False else '') }}
{% endfor %}
{% endcall %}
{% call conditional_radio_panel('custom-organization-name') %}
{{ form.name }}
{% endcall %}
{{ page_footer('Continue') }}
{% endcall %}
{% endblock %}

View File

@@ -1,32 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import sticky_page_footer %}
{% from "components/live-search.html" import live_search %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block per_page_title %}
{{ page_title }}
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('main.request_to_go_live', service_id=current_service.id) }) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header(page_title) }}
{% call form_wrapper() %}
<p>
{{ form.organizations.label.text }}
</p>
{{ live_search(
target_selector='.usa-radio',
show=True,
form=search_form,
label='Search by name',
autofocus=True)
}}
{{ form.organizations }}
{{ sticky_page_footer('Continue') }}
{% endcall %}
{% endblock %}

View File

@@ -1,30 +0,0 @@
{% extends "org_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/textbox.html" import textbox %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block org_page_title %}
Edit request to go live notes
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.organization_settings', org_id=current_org.id) }) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header("Edit request to go live notes") }}
<div class="grid-row">
<div class="grid-col-10">
<p>
Text entered here will be displayed in the Zendesk ticket when a service
belonging to this organization requests to go live.
</p>
{% call form_wrapper() %}
{{ textbox(form.request_to_go_live_notes, width='1-1', rows=3, autosize=True) }}
{{ page_footer('Save') }}
{% endcall %}
</div>
</div>
{% endblock %}

View File

@@ -34,16 +34,6 @@
)
}}
{% endcall %}
{% call row() %}
{{ text_field('Request to go live notes') }}
{{ optional_text_field(current_org.request_to_go_live_notes, default='None') }}
{{ edit_field(
'Change',
url_for('.edit_organization_go_live_notes', org_id=current_org.id),
suffix='go live notes for the organization'
)
}}
{% endcall %}
{% call row() %}
{{ text_field('Billing details')}}
@@ -67,16 +57,6 @@
}}
{% endcall %}
{% call row() %}
{{ text_field('Default email branding') }}
{{ text_field(current_org.email_branding_name) }}
{{ edit_field(
'Change',
url_for('.edit_organization_email_branding', org_id=current_org.id),
suffix='default email branding for the organization'
)
}}
{% endcall %}
{% call row() %}
{{ text_field('Known email domains') }}
{{ optional_text_field(current_org.domains or None, default='None') }}

View File

@@ -1,26 +0,0 @@
{% extends "org_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/button/macro.njk" import usaButton %}
{% from "components/branding-preview.html" import email_branding_preview %}
{% block org_page_title %}
Preview email branding
{% endblock %}
{% block maincolumn_content %}
<h1 class="font-body-2xl margin-bottom-3">Preview email branding</h1>
<div class="grid-row">
<div class="grid-col-12">
{{ email_branding_preview(form.branding_style.data) }}
{% call form_wrapper(action=action) %}
<div class="form-group">
{{ form.hidden_tag() }}
<div class="page-footer">
{{ usaButton({ "text": "Save" }) }}
</div>
</div>
{% endcall %}
</div>
</div>
{% endblock %}

View File

@@ -1,43 +0,0 @@
{% extends "org_template.html" %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/live-search.html" import live_search %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% set page_title = "Default email branding" %}
{% block per_page_title %}
{{ page_title }}
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.organization_settings', org_id=current_org.id) }) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header(page_title) }}
{% call form_wrapper(data_kwargs={'preview-type': 'email'}) %}
<div class="grid-row">
<div class="grid-col-12 preview-pane">
</div>
</div>
<div class="grid-row">
<div class="grid-col-12">
{{ live_search(
target_selector='.usa-radio',
show=True,
form=search_form,
label='Search branding styles by name',
autofocus=True
) }}
{{ form.branding_style }}
</div>
</div>
<div class="js-stick-at-bottom-when-scrolling">
{{ page_footer('Preview') }}
</div>
{% endcall %}
{% endblock %}

View File

@@ -26,7 +26,6 @@
('Trial mode services', ('main.trial_services')),
('Organizations', ('main.organizations')),
('Reports', ('main.platform_admin_reports')),
('Email branding', ('main.email_branding')),
('Inbound SMS numbers', ('main.inbound_sms_admin')),
('Find services by name', ('main.find_services_by_name')),
('Find users by email', ('main.find_users_by_email')),

View File

@@ -1,24 +1,64 @@
{% from "components/big-number.html" import big_number_with_status %}
<div class="grid-row bottom-gutter">
<div class="grid-col-6">
{{ big_number_with_status(
global_stats.email.delivered + global_stats.email.failed,
global_stats.email.delivered|message_count_label('email'),
global_stats.email.failed,
global_stats.email.failure_rate,
global_stats.email.failure_rate|float > 3,
smaller=True
) }}
<span class="big-number-with-status">
{% if link %}
<a class="usa-link display-flex" href="{{ link }}">
{% endif %}
<span class="big-number-smaller">
<span class="big-number-number">
{{ "{:,}".format(global_stats.email.delivered + global_stats.email.failed) }}
</span>
<span class="big-number-label">{{ global_stats.email.delivered|message_count_label('email') }}</span>
</span>
{% if link %}
</a>
{% endif %}
<span class="big-number-status{% if (global_stats.email.failure_rate|float > 3) is sameas true %} big-number-status--failing{% endif %}">
{% if global_stats.email.failed %}
{% if failure_link %}
<a class="usa-link" href="{{ failure_link }}">
{{ "{:,}".format(global_stats.email.failed) }}
failed {{ global_stats.email.failure_rate }}%
</a>
{% else %}
{{ "{:,}".format(global_stats.email.failed) }}
failed {{ global_stats.email.failure_rate }}%
{% endif %}
{% else %}
No failures
{% endif %}
</span>
</span>
</div>
<div class="grid-col-6">
{{ big_number_with_status(
global_stats.sms.delivered + global_stats.sms.failed,
global_stats.sms.delivered|message_count_label('sms'),
global_stats.sms.failed,
global_stats.sms.failure_rate,
global_stats.sms.failure_rate|float > 3,
smaller=True
) }}
<span class="big-number-with-status">
{% if link %}
<a class="usa-link display-flex" href="{{ link }}">
{% endif %}
<span class="big-number-smaller">
<span class="big-number-number">
{{ "{:,}".format( global_stats.sms.delivered + global_stats.sms.failed ) }}
</span>
<span class="big-number-label">{{ global_stats.sms.delivered|message_count_label('sms') }}</span>
</span>
{% if link %}
</a>
{% endif %}
<span class="big-number-status{% if (global_stats.sms.failure_rate|float > 3) is sameas true %} big-number-status--failing{% endif %}">
{% if global_stats.sms.failed %}
{% if failure_link %}
<a class="usa-link" href="{{ failure_link }}">
{{ "{:,}".format(global_stats.sms.failed) }}
failed {{ global_stats.sms.failure_rate }}%
</a>
{% else %}
{{ "{:,}".format(global_stats.sms.failed) }}
failed {{ global_stats.sms.failure_rate }}%
{% endif %}
{% else %}
No failures
{% endif %}
</span>
</span>
</div>
</div>

View File

@@ -1,5 +1,4 @@
{% extends "views/platform-admin/_base_template.html" %}
{% from "components/big-number.html" import big_number_simple %}
{% from "components/status-box.html" import status_box %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/details/macro.njk" import usaDetails %}
@@ -33,10 +32,14 @@
<div class="grid-row bottom-gutter">
{% for noti_type in global_stats %}
<div class="grid-col-6">
{{ big_number_simple(
noti_type.black_box.number,
noti_type.black_box.number|message_count_label(noti_type.black_box.notification_type)
) }}
<span class="big-number-dark bottom-gutter-2-3">
<span class="big-number-number">
{{ "{:,}".format(noti_type.black_box.number) }}
</span>
<span class="big-number-label">
{{ noti_type.black_box.number|message_count_label(noti_type.black_box.notification_type) }}
</span>
</span>
{% for item in noti_type.other_data %}
{{ status_box(

View File

@@ -1,6 +1,6 @@
{% extends "views/platform-admin/_base_template.html" %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/big-number.html" import big_number, big_number_with_status %}
{% from "components/big-number.html" import big_number %}
{% from "components/table.html" import mapping_table, field, stats_fields, row_group, row, right_aligned_field_heading, hidden_field_heading, text_field %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/button/macro.njk" import usaButton %}

View File

@@ -162,23 +162,6 @@
}}
{% endcall %}
{% if email_branding_options.something_else_is_only_option %}
{% set email_request_url = url_for('.email_branding_something_else', service_id=current_service.id) %}
{% else %}
{% set email_request_url = url_for('.email_branding_request', service_id=current_service.id) %}
{% endif %}
{% call settings_row(if_has_permission='email') %}
{{ text_field('Email branding') }}
{{ text_field(current_service.email_branding_name) }}
{{ edit_field(
'Change',
email_request_url,
permissions=['manage_service'],
suffix='email branding',
)}}
{% 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) }}
@@ -223,7 +206,7 @@
</p>
<p>
Problems or comments?
<a class="usa-link" href="{{ url_for('main.support') }}">Give feedback</a>.
<a class="usa-link" href="{{ url_for('main.support') }}">Contact us</a>.
</p>
{% endif %}
@@ -303,11 +286,6 @@
{{ 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('Email branding' )}}
{{ text_field(current_service.email_branding_name) }}
{{ edit_field('Change', url_for('.service_set_email_branding', service_id=current_service.id), suffix='email branding (admin view)') }}
{% endcall %}
{% call row() %}
{{ text_field('Custom data retention')}}
{% call field() %}

View File

@@ -1,36 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% block service_page_title %}
Before you request new branding
{% endblock %}
{% block backLink %}
{{ usaBackLink({
"href": url_for('.email_branding_request', service_id=current_service.id)
}) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header('Before you request new branding') }}
<p>You can only use Notify.gov branding if people go to Notify.gov to access your service.</p>
<p>
You cannot use Notify.gov branding if your organization is
<a class="usa-link"
href="https://www.gov.uk/government/publications/govuk-proposition/govuk-proposition#organizations-independent-from-government">independent
from government</a>.
</p>
<p>Well email you once your brandings ready to use, or if we need any more information.</p>
{% call form_wrapper() %}
{{ page_footer('Request new branding') }}
{% endcall %}
{% endblock %}

View File

@@ -1,43 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/branding-preview.html" import email_branding_preview %}
{% block service_page_title %}
Check your new branding
{% endblock %}
{% block backLink %}
{{ usaBackLink({
"href": url_for('.email_branding_request', service_id=current_service.id)
}) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header('Check your new branding') }}
<p>
Emails from {{ current_service.name }} will look like this.
</p>
{{ email_branding_preview('__NONE__') }}
<h2 class="font-body-lg">Before you continue</h2>
<p>You can only use Notify.gov branding if people go to Notify.gov to access your service.</p>
<p>
You cannot use Notify.gov branding if your organization is
<a class="usa-link"
href="https://www.gov.uk/government/publications/govuk-proposition/govuk-proposition#organizations-independent-from-government">independent
from government</a>.
</p>
{% call form_wrapper() %}
{{ page_footer('Use this branding') }}
{% endcall %}
{% endblock %}

View File

@@ -1,48 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/radios.html" import radio %}
{% from "components/select-input.html" import select_wrapper %}
{% from "components/textbox.html" import textbox %}
{% 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/components/back-link/macro.njk" import usaBackLink %}
{% from "components/branding-preview.html" import email_branding_preview %}
{% block service_page_title %}
Change email branding
{% endblock %}
{% block backLink %}
{{ usaBackLink({
"href": url_for('.service_settings', service_id=current_service.id)
}) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header('Change email branding') }}
<p>
Your emails currently have {{ branding_name }} branding.
</p>
{{ email_branding_preview(
current_service.email_branding_id if current_service.email_branding else '__NONE__'
) }}
{% if current_service.needs_to_change_email_branding %}
<p>
You should be using your own branding instead.
</p>
{% endif %}
{% call form_wrapper() %}
{% call select_wrapper(form.options) %}
{% for option in form.options %}
{{ radio(option) }}
{% endfor %}
{% endcall %}
{{ page_footer('Continue') }}
{% endcall %}
{% endblock %}

View File

@@ -1,31 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% block service_page_title %}
When you request new branding
{% endblock %}
{% block backLink %}
{{ usaBackLink({
"href": url_for('.email_branding_request', service_id=current_service.id)
}) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header('When you request new branding') }}
<p>Well check if we already have the {{organization}} logo.</p>
<p>If we do, well let you know when your new branding is ready to use.</p>
<p>If we dont, well email you to ask for more information.</p>
{% call form_wrapper() %}
{{ page_footer('Request new branding') }}
{% endcall %}
{% endblock %}

View File

@@ -1,30 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/textbox.html" import textbox %}
{% from "components/components/textarea/macro.njk" import govukTextarea %}
{% block service_page_title %}
Describe the branding you want
{% endblock %}
{% if branding_options.something_else_is_only_option %}
{% set back_url = url_for('.service_settings', service_id=current_service.id) %}
{% else %}
{% set back_url = url_for('.email_branding_request', service_id=current_service.id) %}
{% endif %}
{% block backLink %}
{{ usaBackLink({"href": back_url}) }}
{% endblock %}
{% block maincolumn_content %}
{% call form_wrapper() %}
{{ form.something_else }}
<p class="form-group">Well email you when your branding is ready, or if we need any more information.</p>
{{ page_footer('Request new branding') }}
{% endcall %}
{% endblock %}

View File

@@ -1,42 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/banner.html" import banner_wrapper %}
{% from "components/form.html" import form_wrapper %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block service_page_title %}
Tell us how many messages you expect to send
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('main.request_to_go_live', service_id=current_service.id) }) }}
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="grid-col-12">
{% if not form.at_least_one_volume_filled %}
{% call banner_wrapper(type='dangerous') %}
<h1 class='banner-title'>
Enter the number of messages you expect to send in the next year
</h1>
{% endcall %}
{% else %}
{{ page_header('Tell us how many messages you expect to send') }}
{% endif %}
{% call form_wrapper() %}
<div class="form-group">
{{ form.volume_email(param_extensions={
"hint": {"text": "For example, 50,000"},
}) }}
{{ form.volume_sms(param_extensions={
"hint": {"text": "For example, 50,000"},
}) }}
</div>
{{ form.consent_to_research }}
{{ page_footer('Continue') }}
{% endcall %}
</div>
</div>
{% endblock %}

View File

@@ -1,26 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/button/macro.njk" import usaButton %}
{% from "components/branding-preview.html" import email_branding_preview %}
{% block service_page_title %}
Preview email branding
{% endblock %}
{% block maincolumn_content %}
<h1 class="font-body-2xl margin-bottom-3">Preview email branding</h1>
<div class="grid-row">
<div class="grid-col-12">
{{ email_branding_preview(form.branding_style.data) }}
{% call form_wrapper(action=action) %}
<div class="form-group">
{{ form.hidden_tag() }}
<div class="page-footer">
{{ usaButton({ "text": "Save" }) }}
</div>
</div>
{% endcall %}
</div>
</div>
{% endblock %}

View File

@@ -1,75 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/form.html" import form_wrapper %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/task-list.html" import task_list_wrapper, task_list_item %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block service_page_title %}
Before you request to go live
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('main.service_settings', service_id=current_service.id) }) }}
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="grid-col-12">
{{ page_header('Before you request to go live') }}
{% call task_list_wrapper() %}
{{ task_list_item(
current_service.has_estimated_usage,
'Tell us how many messages you expect to send',
url_for('main.estimate_usage', service_id=current_service.id),
) }}
{{ task_list_item(
current_service.has_team_members,
'Add a team member who can manage settings, team and usage',
url_for('main.manage_users', service_id=current_service.id),
) }}
{{ task_list_item(
current_service.has_templates,
'Add templates with examples of the content you plan to send',
url_for('main.choose_template', service_id=current_service.id),
) }}
{% if current_service.intending_to_send_email %}
{{ task_list_item(
current_service.has_email_reply_to_address,
'Add a reply-to email address',
url_for('main.service_email_reply_to', service_id=current_service.id),
) }}
{% endif %}
{% if (
current_service.intending_to_send_sms
and current_service.shouldnt_use_govuk_as_sms_sender
) %}
{{ task_list_item(
not current_service.sms_sender_is_govuk,
'Change your text message sender name',
url_for('main.service_sms_senders', service_id=current_service.id),
) }}
{% endif %}
{% endcall %}
{% if not current_user.is_gov_user %}
<p>
Only team members with a government email address can request to go live.
</p>
{% elif (not current_service.go_live_checklist_completed) %}
<p>
You must complete these steps before you can request to go live.
</p>
{% else %}
<p>
When we receive your request well get back to you within one working day.
</p>
<p class="bottom-gutter">
By requesting to go live youre agreeing to our <a class="usa-link" href="{{ url_for('.terms') }}">terms of use</a>.
</p>
{% call form_wrapper() %}
{{ page_footer('Request to go live') }}
{% endcall %}
{% endif %}
</div>
</div>
{% endblock %}

View File

@@ -1,28 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/page-header.html" import page_header %}
{% block service_page_title %}
Your service is already live
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="grid-col-12">
{{ page_header('Your service is already live') }}
<p>
{% if current_service.go_live_at %}
{{ current_service.name }} went live on {{ current_service.go_live_at | format_date_normal }}.
{% else %}
{{ current_service.name }} is already live.
{% endif %}
</p>
<p>
<a class="usa-link" href="{{ url_for('.choose_account') }}">Switch service</a>
if you want to make a different service live.
</p>
</div>
</div>
{% endblock %}

View File

@@ -1,41 +0,0 @@
{% extends "withnav_template.html" %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import page_footer, sticky_page_footer %}
{% from "components/live-search.html" import live_search %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% set page_title = "Set email branding" %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.service_settings', service_id=current_service.id) }) }}
{% endblock %}
{% block service_page_title %}
{{ page_title }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header(page_title) }}
{% call form_wrapper(data_kwargs={'preview-type': 'email'}) %}
<div class="grid-row">
<div class="grid-col-12 preview-pane">
</div>
</div>
<div class="grid-row">
<div class="grid-col-12">
{{ live_search(
target_selector='.usa-radio',
show=True,
form=search_form,
label='Search branding styles by name',
autofocus=True
) }}
{{ form.branding_style }}
</div>
</div>
{{ sticky_page_footer('Preview') }}
{% endcall %}
{% endblock %}

View File

@@ -1,46 +0,0 @@
{% extends "withoutnav_template.html" %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block per_page_title %}
Out of hours emergencies
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.support') }) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header('Out of hours emergencies')}}
<div class="grid-row">
<div class="grid-col-8">
<p>
First, check the
<a class="usa-link" href="https://status.notifications.service.gov.uk">system status page</a>.
You do not need to contact us if
the problem youre having is listed on that page.
</p>
<p>
Otherwise, contact us using the emergency email address we
gave you or your service manager when we made your service live.
</p>
<p>
Well reply within 30 minutes and give you hourly updates
until the problems fixed.
</p>
<p>
We do not offer out of hours support if your service is in
trial mode.
</p>
<h2 class="font-body-lg">Any other problems</h2>
<p class="bottom-gutter-2">
<a class="usa-link" href="{{ url_for('main.feedback', ticket_type='report-problem', severe='no') }}">Fill in this form</a>
and well get back to you by the next working day.
</p>
</div>
</div>
{% endblock %}

View File

@@ -1,42 +0,0 @@
{% extends "withoutnav_template.html" %}
{% from "components/textbox.html" import textbox %}
{% from "components/page-footer.html" import sticky_page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block per_page_title %}
{{ page_title }}
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": back_link }) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header(page_title) }}
<div class="grid-row">
<div class="grid-col-8">
{% if show_status_page_banner %}
<div class="panel panel-border-wide">
<p>
Check our <a class="usa-link" href="https://status.notifications.service.gov.uk">system status</a>
page to see if there are any known issues with Notify.gov.
</p>
</div>
{% endif %}
{% call form_wrapper() %}
{{ textbox(form.feedback, width='1-1', hint='', rows=10, autosize=True) }}
{% if not current_user.is_authenticated %}
{{ form.name(param_extensions={"classes": ""}) }}
{{ form.email_address(param_extensions={"classes": ""}) }}
{% else %}
<p>Well reply to {{ current_user.email_address }}</p>
{% endif %}
{{ sticky_page_footer('Send') }}
{% endcall %}
</div>
</div>
{% endblock %}

View File

@@ -1,50 +0,0 @@
{% extends "withoutnav_template.html" %}
{% from "components/page-header.html" import page_header %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block per_page_title %}
The Notify.gov service is for people who work in the government
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.support') }) }}
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="grid-col-8">
{{ page_header('The Notify.gov service is for people who work in the government') }}
<p>
We cannot give advice to the public. We do not have access to information about you held by government departments.
</p>
<p>
There are other pages on Notify.gov where you can get help:
</p>
<h2 class="govuk-heading-m">
<a class="usa-link" href="https://www.gov.uk/coronavirus">Coronavirus (COVID-19)</a>
</h2>
<p>
Find guidance and support.
</p>
<h2 class="govuk-heading-m">
<a class="usa-link" href="https://www.gov.uk/contact">Contact the government</a>
</h2>
<p>
Ask about benefits, driving, transport, tax, and more.
</p>
<h2 class="govuk-heading-m">
<a class="usa-link" href="https://www.gov.uk/report-suspicious-emails-websites-phishing">Report internet scams and phishing</a>
</h2>
<p>
Advice on suspicious emails and text messages.
</p>
</div>
</div>
{% endblock %}

View File

@@ -1,38 +0,0 @@
{% extends "withoutnav_template.html" %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block per_page_title %}
Thanks for contacting us
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.support') }) }}
{% endblock %}
{% block maincolumn_content %}
{{ page_header('Thanks for contacting us') }}
<p>
{% if out_of_hours_emergency %}
Well reply in the next 30 minutes.
{% else %}
{% if email_address_provided %}
{% if out_of_hours %}
Well reply within one working day.
{% else %}
Well aim to read your message in the next 30 minutes and well reply within one
working day.
{% endif %}
{% else %}
{% if out_of_hours %}
Well read your message when were back in the office.
{% else %}
Well aim to read your message in the next 30 minutes.
{% endif %}
{% endif %}
{% endif %}
</p>
{% endblock %}

View File

@@ -1,62 +0,0 @@
{% extends "withoutnav_template.html" %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/page-header.html" import page_header %}
{% from "components/form.html" import form_wrapper %}
{% from "components/components/back-link/macro.njk" import usaBackLink %}
{% block per_page_title %}
{{ page_title }}
{% endblock %}
{% block backLink %}
{{ usaBackLink({ "href": url_for('.support') }) }}
{% endblock %}
{% block maincolumn_content %}
<div class="grid-row">
<div class="grid-col-8">
{{ page_header(page_title) }}
{% call form_wrapper() %}
{{ form.severe }}
{{ page_footer('Continue') }}
{% endcall %}
<h2 class="heading-small">
Its only an emergency if:
</h2>
<ul class="list list-bullet">
<li>
no one in your team can log in
</li>
<li>
you get a technical difficulties error message when you try
to upload a file
</li>
<li>
you get a 500 response code when you try to send messages
using the API
</li>
</ul>
<h2 class="heading-small">
Its not an emergency if:
</h2>
<ul class="list list-bullet bottom-gutter">
<li>
all your messages stay in sending for a few hours
</li>
<li>
you send the wrong message by accident
</li>
<li>
a team member uses Notify.gov to send an
inappropriate message
</li>
<li>
your system is telling the Notify.gov API to send the wrong
message
</li>
</ul>
</div>
</div>
{% endblock %}

View File

@@ -4,7 +4,6 @@
{% from "components/form.html" import form_wrapper %}
{% from "components/page-header.html" import page_header %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/components/alert/macro.njk" import usaAlert %}
{% extends "withnav_template.html" %}
@@ -23,7 +22,7 @@
<p>
Every message starts with a template. You can change it later.
{% if current_user.has_permissions('manage_templates') %}
You need a template before you can
{% else %}
@@ -36,11 +35,13 @@
<div class="grid-row">
<div class="{% if current_user.has_permissions('manage_templates') %} grid-col-10 {% else %} grid-col-12 {% endif %}">
{{ usaAlert({
"text": "Every message starts with a template. To send, choose or create a template.",
"slim": true,
"type": "info",
}) }}
<div class="usa-alert usa-alert--slim usa-alert--info">
<div class="usa-alert__body">
<p class="usa-alert__text">
Every message starts with a template. To send, choose or create a template.
</p>
</div>
</div>
{{ folder_path(
folders=template_folder_path,
service_id=current_service.id,

View File

@@ -17,7 +17,7 @@
{% if current_service and current_service.trial_mode %}
<p>
To remove these restrictions, you can <a class="usa-link" href="{{ url_for('.request_to_go_live', service_id=current_service.id) }}">request to go live</a>.</p>
To remove these restrictions, you can <a class="usa-link" href="{{ url_for('.support') }}">request to go live</a>.</p>
{% else %}
<p>
To remove these restrictions:
@@ -38,6 +38,6 @@
<li>update your settings so youre ready to send and receive messages</li>
<li>accept our terms of use</li>
</ul>
{% endblock %}

View File

@@ -21,7 +21,6 @@
<ul class="list list-bullet">
<li><a class="usa-link" href="{{ url_for('main.trial_mode_new') }}">trial mode</a></li>
<li><a class="usa-link" href="{{ url_for('main.message_status') }}">message status types</a></li>
<li><a class="usa-link" href="{{ url_for('main.features_email') }}">email replies</a></li>
<li><a class="usa-link" href="{{ url_for('main.features_sms') }}">text message replies</a></li>
</ul>