mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-08 08:28:15 -04:00
Merge pull request #2244 from alphagov/request-letter-branding
Tell people they can have their logo on letters
This commit is contained in:
@@ -23,6 +23,9 @@ def get_prefilled_message():
|
|||||||
'Please can you tell me if there’s an agreement in place '
|
'Please can you tell me if there’s an agreement in place '
|
||||||
'between GOV.UK Notify and my organisation?'
|
'between GOV.UK Notify and my organisation?'
|
||||||
),
|
),
|
||||||
|
'letter-branding': (
|
||||||
|
'I would like my own logo on my letter templates.'
|
||||||
|
),
|
||||||
}.get(
|
}.get(
|
||||||
request.args.get('body'), ''
|
request.args.get('body'), ''
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -941,6 +941,18 @@ def set_letter_branding(service_id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@main.route("/services/<service_id>/service-settings/request-letter-branding", methods=['GET', 'POST'])
|
||||||
|
@login_required
|
||||||
|
@user_has_permissions('manage_service')
|
||||||
|
def request_letter_branding(service_id):
|
||||||
|
return render_template(
|
||||||
|
'views/service-settings/request-letter-branding.html',
|
||||||
|
letter_branding=email_branding_client.get_letter_email_branding()[
|
||||||
|
current_service.get('dvla_organisation', '001')
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@main.route("/services/<service_id>/service-settings/link-service-to-organisation", methods=['GET', 'POST'])
|
@main.route("/services/<service_id>/service-settings/link-service-to-organisation", methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
@user_is_platform_admin
|
@user_is_platform_admin
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ class HeaderNavigation(Navigation):
|
|||||||
'registration_continue',
|
'registration_continue',
|
||||||
'remove_user_from_organisation',
|
'remove_user_from_organisation',
|
||||||
'remove_user_from_service',
|
'remove_user_from_service',
|
||||||
|
'request_letter_branding',
|
||||||
'request_to_go_live',
|
'request_to_go_live',
|
||||||
'resend_email_link',
|
'resend_email_link',
|
||||||
'resend_email_verification',
|
'resend_email_verification',
|
||||||
@@ -325,6 +326,7 @@ class MainNavigation(Navigation):
|
|||||||
'settings': {
|
'settings': {
|
||||||
'branding_request',
|
'branding_request',
|
||||||
'link_service_to_organisation',
|
'link_service_to_organisation',
|
||||||
|
'request_letter_branding',
|
||||||
'request_to_go_live',
|
'request_to_go_live',
|
||||||
'service_add_email_reply_to',
|
'service_add_email_reply_to',
|
||||||
'service_add_letter_contact',
|
'service_add_letter_contact',
|
||||||
@@ -632,6 +634,7 @@ class CaseworkNavigation(Navigation):
|
|||||||
'registration_continue',
|
'registration_continue',
|
||||||
'remove_user_from_organisation',
|
'remove_user_from_organisation',
|
||||||
'remove_user_from_service',
|
'remove_user_from_service',
|
||||||
|
'request_letter_branding',
|
||||||
'request_to_go_live',
|
'request_to_go_live',
|
||||||
'resend_email_link',
|
'resend_email_link',
|
||||||
'resend_email_verification',
|
'resend_email_verification',
|
||||||
@@ -853,6 +856,7 @@ class OrgNavigation(Navigation):
|
|||||||
'register_from_org_invite',
|
'register_from_org_invite',
|
||||||
'registration_continue',
|
'registration_continue',
|
||||||
'remove_user_from_service',
|
'remove_user_from_service',
|
||||||
|
'request_letter_branding',
|
||||||
'request_to_go_live',
|
'request_to_go_live',
|
||||||
'resend_email_link',
|
'resend_email_link',
|
||||||
'resend_email_verification',
|
'resend_email_verification',
|
||||||
|
|||||||
@@ -227,6 +227,16 @@
|
|||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
|
{% call settings_row(if_has_permission='letter') %}
|
||||||
|
{{ text_field('Letter branding') }}
|
||||||
|
{{ text_field(letter_branding) }}
|
||||||
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.request_letter_branding', service_id=current_service.id),
|
||||||
|
permissions=['manage_service']
|
||||||
|
)}}
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
{% extends "withnav_template.html" %}
|
||||||
|
{% from "components/radios.html" import radios %}
|
||||||
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
|
|
||||||
|
{% block service_page_title %}
|
||||||
|
Letter branding
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block maincolumn_content %}
|
||||||
|
|
||||||
|
<h1 class="heading-large">Letter branding</h1>
|
||||||
|
<div class="grid-row">
|
||||||
|
<div class="column-three-quarters">
|
||||||
|
<p>
|
||||||
|
Your letters have the {{ letter_branding }} logo.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="{{ url_for('main.feedback', ticket_type='ask-question-give-feedback', body='letter-branding') }}">Contact support</a>
|
||||||
|
if you want to use a different logo.
|
||||||
|
</p>
|
||||||
|
{{ page_footer(
|
||||||
|
back_link=url_for('.service_settings', service_id=current_service.id),
|
||||||
|
back_link_text='Back to settings'
|
||||||
|
) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
@@ -173,7 +173,7 @@ def test_should_show_overview(
|
|||||||
'Send letters Off Change',
|
'Send letters Off Change',
|
||||||
|
|
||||||
]),
|
]),
|
||||||
(['letters'], [
|
(['letter'], [
|
||||||
|
|
||||||
'Service name service one Change',
|
'Service name service one Change',
|
||||||
'Sign-in method Text message code Change',
|
'Sign-in method Text message code Change',
|
||||||
@@ -185,7 +185,9 @@ def test_should_show_overview(
|
|||||||
'Send text messages Off Change',
|
'Send text messages Off Change',
|
||||||
|
|
||||||
'Label Value Action',
|
'Label Value Action',
|
||||||
'Send letters Off Change',
|
'Send letters On Change',
|
||||||
|
'Sender addresses 1 Example Street Manage',
|
||||||
|
'Letter branding HM Government Change',
|
||||||
|
|
||||||
]),
|
]),
|
||||||
])
|
])
|
||||||
@@ -1676,6 +1678,24 @@ def test_set_letter_contact_block_has_max_10_lines(
|
|||||||
assert error_message == 'Contains 11 lines, maximum is 10'
|
assert error_message == 'Contains 11 lines, maximum is 10'
|
||||||
|
|
||||||
|
|
||||||
|
def test_request_letter_branding(
|
||||||
|
client_request,
|
||||||
|
mock_get_letter_email_branding,
|
||||||
|
):
|
||||||
|
request_page = client_request.get(
|
||||||
|
'main.request_letter_branding',
|
||||||
|
service_id=SERVICE_ONE_ID,
|
||||||
|
)
|
||||||
|
assert request_page.select_one('main p').text.strip() == (
|
||||||
|
'Your letters have the HM Government logo.'
|
||||||
|
)
|
||||||
|
link_href = request_page.select_one('main a')['href']
|
||||||
|
feedback_page = client_request.get_url(link_href)
|
||||||
|
assert feedback_page.select_one('textarea').text.strip() == (
|
||||||
|
'I would like my own logo on my letter templates.'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_set_letter_branding_platform_admin_only(
|
def test_set_letter_branding_platform_admin_only(
|
||||||
logged_in_client,
|
logged_in_client,
|
||||||
service_one,
|
service_one,
|
||||||
|
|||||||
@@ -2734,8 +2734,25 @@ def client_request(
|
|||||||
_test_page_title=True,
|
_test_page_title=True,
|
||||||
**endpoint_kwargs
|
**endpoint_kwargs
|
||||||
):
|
):
|
||||||
resp = logged_in_client.get(
|
return ClientRequest.get_url(
|
||||||
url_for(endpoint, **(endpoint_kwargs or {})),
|
url_for(endpoint, **(endpoint_kwargs or {})),
|
||||||
|
_expected_status=_expected_status,
|
||||||
|
_follow_redirects=_follow_redirects,
|
||||||
|
_expected_redirect=_expected_redirect,
|
||||||
|
_test_page_title=_test_page_title,
|
||||||
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_url(
|
||||||
|
url,
|
||||||
|
_expected_status=200,
|
||||||
|
_follow_redirects=False,
|
||||||
|
_expected_redirect=None,
|
||||||
|
_test_page_title=True,
|
||||||
|
**endpoint_kwargs
|
||||||
|
):
|
||||||
|
resp = logged_in_client.get(
|
||||||
|
url,
|
||||||
follow_redirects=_follow_redirects,
|
follow_redirects=_follow_redirects,
|
||||||
)
|
)
|
||||||
assert resp.status_code == _expected_status, resp.location
|
assert resp.status_code == _expected_status, resp.location
|
||||||
|
|||||||
Reference in New Issue
Block a user