diff --git a/app/main/validators.py b/app/main/validators.py index 6294764fc..3b1d5ab61 100644 --- a/app/main/validators.py +++ b/app/main/validators.py @@ -47,7 +47,7 @@ class ValidGovEmail: message = ''' Enter a public sector email address or find out who can use Notify - '''.format(url_for('main.who_can_use_notify')) + '''.format(url_for('main.features')) if not is_gov_user(field.data.lower()): raise ValidationError(message) diff --git a/app/main/views/index.py b/app/main/views/index.py index 6b1dae713..836adf39d 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -293,15 +293,7 @@ def get_started(): @main.route('/using-notify/who-its-for') def who_its_for(): - return redirect(url_for('.who_can_use_notify'), 301) - - -@main.route('/using-notify/who-can-use-notify') -def who_can_use_notify(): - return render_template( - 'views/guidance/who-can-use-notify.html', - navigation_links=features_nav(), - ) + return redirect(url_for('.features'), 301) @main.route('/trial-mode') diff --git a/app/main/views/pricing.py b/app/main/views/pricing.py index f532737e0..52bc273f3 100644 --- a/app/main/views/pricing.py +++ b/app/main/views/pricing.py @@ -6,7 +6,7 @@ from notifications_utils.international_billing_rates import ( from app.main import main from app.main.forms import SearchByNameForm -from app.main.views.sub_navigation_dictionaries import pricing_nav +from app.main.views.sub_navigation_dictionaries import using_notify_nav CURRENT_SMS_RATE = '1.72' @@ -21,7 +21,7 @@ def pricing(): for cc, country in INTERNATIONAL_BILLING_RATES.items() ], key=lambda x: x[0]), search_form=SearchByNameForm(), - navigation_links=pricing_nav(), + navigation_links=using_notify_nav(), ) @@ -29,7 +29,7 @@ def pricing(): def how_to_pay(): return render_template( 'views/pricing/how-to-pay.html', - navigation_links=pricing_nav(), + navigation_links=using_notify_nav(), ) @@ -39,9 +39,9 @@ def billing_details(): return render_template( 'views/pricing/billing-details.html', billing_details=current_app.config['NOTIFY_BILLING_DETAILS'], - navigation_links=pricing_nav(), + navigation_links=using_notify_nav(), ) return render_template( 'views/pricing/billing-details-signed-out.html', - navigation_links=pricing_nav(), + navigation_links=using_notify_nav(), ) diff --git a/app/main/views/sub_navigation_dictionaries.py b/app/main/views/sub_navigation_dictionaries.py index a86ffcf1f..314f92c63 100644 --- a/app/main/views/sub_navigation_dictionaries.py +++ b/app/main/views/sub_navigation_dictionaries.py @@ -22,10 +22,6 @@ def features_nav(): "name": "Roadmap", "link": "main.roadmap", }, - { - "name": "Who can use Notify", - "link": "main.who_can_use_notify", - }, { "name": "Security", "link": "main.security", @@ -37,29 +33,16 @@ def features_nav(): ] -def pricing_nav(): - return [ - { - "name": "Pricing", - "link": "main.pricing", - }, - { - "name": "How to pay", - "link": "main.how_to_pay", - }, - { - "name": "Billing details", - "link": "main.billing_details", - }, - ] - - def using_notify_nav(): return [ { "name": "Get started", "link": "main.get_started", }, + { + "name": "Pricing", + "link": "main.pricing", + }, { "name": "Trial mode", "link": "main.trial_mode_new", diff --git a/app/templates/admin_template.html b/app/templates/admin_template.html index d23a91979..3c6cd9fe2 100644 --- a/app/templates/admin_template.html +++ b/app/templates/admin_template.html @@ -138,20 +138,7 @@ {% endblock %} {% block footer %} - {% set meta_items = [ - { - "href": url_for("main.privacy"), - "text": "Privacy" - }, - { - "href": url_for("main.cookies"), - "text": "Cookies" - }, - { - "href": url_for("main.accessibility_statement"), - "text": "Accessibility statement" - } - ] %} + {% if current_service and current_service.research_mode %} {% set meta_suffix = 'Built by the Technology Transformation Serviceresearch mode' %} @@ -162,28 +149,6 @@ {{ govukFooter({ "classes": "js-footer", "navigation": [ - { - "title": "Support", - "columns": 1, - "items": [ - { - "href": url_for('main.support'), - "text": "Contact support" - }, - { - "href": "https://status.notifications.service.gov.uk", - "text": "System status" - }, - { - "href": url_for('main.performance'), - "text": "Performance data" - }, - { - "href": "https://ukgovernmentdigital.slack.com/messages/C0E1ADVPC", - "text": "Chat to us on Slack" - } - ] - }, { "title": "About Notify", "columns": 1, @@ -196,10 +161,6 @@ "href": url_for("main.roadmap"), "text": "Roadmap" }, - { - "href": url_for("main.who_can_use_notify"), - "text": "Who can use Notify", - }, { "href": url_for("main.security"), "text": "Security" @@ -208,28 +169,6 @@ "href": url_for("main.terms"), "text": "Terms of use" }, - { - "href": "https://gds.blog.gov.uk/category/gov-uk-notify/", - "text": "Blog" - } - ] - }, - { - "title": "Pricing and payment", - "columns": 1, - "items": [ - { - "href": url_for("main.pricing"), - "text": "Pricing" - }, - { - "href": url_for("main.how_to_pay"), - "text": "How to pay" - }, - { - "href": url_for("main.billing_details"), - "text": "Billing details" - } ] }, { @@ -240,6 +179,10 @@ "href": url_for("main.get_started"), "text": "Get started" }, + { + "href": url_for("main.pricing"), + "text": "Pricing" + }, { "href": url_for("main.trial_mode_new"), "text": "Trial mode" @@ -257,7 +200,17 @@ "text": "API documentation" } ] - } + }, + { + "title": "Support", + "columns": 1, + "items": [ + { + "href": url_for('main.support'), + "text": "Contact us" + }, + ] + }, ], "meta": { "items": meta_items, diff --git a/app/templates/error/500.html b/app/templates/error/500.html index dff42f48f..503141543 100644 --- a/app/templates/error/500.html +++ b/app/templates/error/500.html @@ -9,11 +9,11 @@
Try again later.
-+
- To report a problem, email gov-uk-notify-support@digital.cabinet-office.gov.uk + To report a problem, please email tts-benefits-studio@gsa.gov.
diff --git a/app/templates/vendor/govuk-frontend/components/footer/template.njk b/app/templates/vendor/govuk-frontend/components/footer/template.njk index 1e797312a..7c6439071 100644 --- a/app/templates/vendor/govuk-frontend/components/footer/template.njk +++ b/app/templates/vendor/govuk-frontend/components/footer/template.njk @@ -50,37 +50,6 @@ {% endif %} {% endif %} - {#- The SVG needs `focusable="false"` so that Internet Explorer does not - treat it as an interactive element - without this it will be - 'focusable' when using the keyboard to navigate. #} - - - - diff --git a/app/templates/views/features.html b/app/templates/views/features.html index 0f3352f54..dc2ee2051 100644 --- a/app/templates/views/features.html +++ b/app/templates/views/features.html @@ -9,8 +9,8 @@ {% block content_column_content %}If you work for central government, a local authority or the NHS, you can use US Notify to keep your users updated.
-Notify makes it easy to create, customise and send:
+If you work for the federal government, you can use US Notify to keep your users updated.
+Notify makes it easy to create, customize and send:
Notify uses two-factor authentication (2FA) to keep your account secure. When you sign in, we’ll send a unique one-time code to your phone and ask you to enter it before we let you use your account.
Read more about security. -
Read about our features, pricing and roadmap.
-- Check whether your organisation can use Notify. -
The US Notify Service Manual has advice on:
+The UK Notify Service Manual has additional advice on:
- US Notify is available to: -
-- If you work for one of these organisations but get an error when you try to create an account, contact support. -
- -- If you’re doing work for a public sector organisation you can use US Notify. -
-- Someone from the public sector organisation you’re working with needs to set up the account. Then they can invite you as a team member. -
- -- Notify is not currently available to charities. -
- -- The US Notify service is only for people who work in the government - or other public sector organisations. -
-- Find government services and information on usa.gov. -
- -{% endblock %} diff --git a/app/templates/views/message-status.html b/app/templates/views/message-status.html index 30c551f1e..08a6e2195 100644 --- a/app/templates/views/message-status.html +++ b/app/templates/views/message-status.html @@ -67,7 +67,7 @@ {% endcall %} -+ {% endblock %} diff --git a/app/templates/views/roadmap.html b/app/templates/views/roadmap.html index ff9d38a01..cbacecc28 100644 --- a/app/templates/views/roadmap.html +++ b/app/templates/views/roadmap.html @@ -12,61 +12,87 @@ {{ content_metadata( data={ - "Last updated": "27 April 2022", - "Next review due": "12 July 2022" + "Last updated": "1 November 2022", + "Next review due on": "15 December 2022" } ) }} -
The US Notify roadmap shows what we’re working on and some of the things we’ve done.
-The roadmap is only a guide. It does not cover everything we do, and some things may change.
+The Notify roadmap shows what we’re working on and what we're planning to do next.
+This roadmap is only a guide. It does not cover everything we do, and some things may change.
You can contact us if you have any questions about the roadmap or suggestions for new features.
-We are investigating the Notify concept, building on the notifications tool pioneered by the UK.
+To do this, we are convening a pilot with a small set of partners.
+Goals during this stage:
+Features prioritized during this stage:
+ +If the pilot is successful, we hope to recruit additional high-impact partners to improve outcomes for low-income individuals and families.
+ +Goals during this stage:
+Features prioritized during this stage:
+ +In the future, we may decide to expand beyond SMS, or to offer the service government-wide
+ +Features to be considered during this stage:
+Any recipient data you upload is only held for 7 days.
If you send a file by email, the file will be available for the recipient to download for 18 months.
-The Cabinet Office acts as data processor for Notify. Your organisation is the data controller.
-Other technical security controls on Notify include:
+Some messages include sensitive information like security codes or password reset links.
@@ -54,16 +54,16 @@If signing in with a text message is a problem for your team, contact us to find out about using an email link instead.
-US Notify provides 24-hour online support.
+We are available at tts-benefits-studio@gsa.gov.
- {% call form_wrapper() %} +You can expect a response within 1 business day.
+ + + + {% endblock %} diff --git a/requirements.txt b/requirements.txt index adcef5503..5a5c773c2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -41,7 +41,7 @@ click==8.1.3 # via flask colorama==0.4.4 # via awscli -cryptography==37.0.2 +cryptography==38.0.3 # via fido2 deprecated==1.2.13 # via redis diff --git a/tests/app/main/views/test_feedback.py b/tests/app/main/views/test_feedback.py index 4c01d2a37..a0f0bd0ea 100644 --- a/tests/app/main/views/test_feedback.py +++ b/tests/app/main/views/test_feedback.py @@ -21,6 +21,7 @@ def no_redirect(): return lambda: None +@pytest.mark.skip(reason="Not currently using Zendesk") def test_get_support_index_page( client_request, ): @@ -41,6 +42,7 @@ def test_get_support_index_page( ) == 'Continue' +@pytest.mark.skip(reason="Not currently using Zendesk") def test_get_support_index_page_when_signed_out( client_request, ): diff --git a/tests/app/main/views/test_index.py b/tests/app/main/views/test_index.py index 71c5a78be..5c342da70 100644 --- a/tests/app/main/views/test_index.py +++ b/tests/app/main/views/test_index.py @@ -98,7 +98,7 @@ def test_hiding_pages_from_search_engines( 'features_letters', 'how_to_pay', 'get_started', 'guidance_index', 'branding_and_customisation', 'create_and_send_messages', 'edit_and_format_messages', - 'send_files_by_email', 'upload_a_letter', 'who_can_use_notify', + 'send_files_by_email', 'upload_a_letter', 'billing_details', ]) def test_static_pages( @@ -163,7 +163,6 @@ def test_guidance_pages_link_to_service_pages_when_signed_in( ('old_using_notify', 'using_notify'), ('delivery_and_failure', 'message_status'), ('callbacks', 'documentation'), - ('who_its_for', 'who_can_use_notify'), ]) def test_old_static_pages_redirect( client_request, diff --git a/tests/app/main/views/test_register.py b/tests/app/main/views/test_register.py index d9c523b3c..525b905a8 100644 --- a/tests/app/main/views/test_register.py +++ b/tests/app/main/views/test_register.py @@ -125,7 +125,7 @@ def test_should_return_200_when_email_is_not_gov_uk( page.select_one('.govuk-error-message').text ) assert page.select_one('.govuk-error-message a')['href'] == url_for( - 'main.who_can_use_notify' + 'main.features' ) diff --git a/tests/app/test_navigation.py b/tests/app/test_navigation.py index 334190815..d2a52a2b2 100644 --- a/tests/app/test_navigation.py +++ b/tests/app/test_navigation.py @@ -332,7 +332,6 @@ EXCLUDED_ENDPOINTS = tuple(map(Navigation.get_endpoint_with_blueprint, { 'webauthn_complete_register', 'webauthn_begin_authentication', 'webauthn_complete_authentication', - 'who_can_use_notify', 'who_its_for', }))