mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-30 03:05:03 -04:00
Ship the contact lists feature
This reveals the links that we were only showing to platform admin users so that everyone can discover the new feature.
This commit is contained in:
@@ -31,25 +31,22 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
{{ previous_next_navigation(prev_page, next_page) }}
|
||||
{% if (
|
||||
current_service.can_upload_letters and
|
||||
current_user.has_permissions('send_messages')
|
||||
) or current_user.platform_admin %}
|
||||
{% if current_user.has_permissions('send_messages') %}
|
||||
<div class="js-stick-at-bottom-when-scrolling">
|
||||
{{ govukButton({
|
||||
"element": "a",
|
||||
"text": "Upload a letter",
|
||||
"href": url_for('.upload_letter', service_id=current_service.id),
|
||||
"classes": "govuk-button--secondary"
|
||||
}) }}
|
||||
{% if current_user.platform_admin %}
|
||||
{% if current_service.has_permission('letter') %}
|
||||
{{ govukButton({
|
||||
"element": "a",
|
||||
"text": "Upload an emergency contact list",
|
||||
"href": url_for('.upload_contact_list', service_id=current_service.id),
|
||||
"classes": "govuk-button--secondary govuk-!-margin-left-3"
|
||||
"text": "Upload a letter",
|
||||
"href": url_for('.upload_letter', service_id=current_service.id),
|
||||
"classes": "govuk-button--secondary"
|
||||
}) }}
|
||||
{% endif %}
|
||||
{{ govukButton({
|
||||
"element": "a",
|
||||
"text": "Upload an emergency contact list",
|
||||
"href": url_for('.upload_contact_list', service_id=current_service.id),
|
||||
"classes": "govuk-button--secondary govuk-!-margin-left-3"
|
||||
}) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<div class="govuk-grid-column-full">
|
||||
{% if link_to_upload %}
|
||||
<a class="govuk-link govuk-link--no-visited-state govuk-!-margin-right-3" href="{{ url_for('.send_messages', service_id=current_service.id, template_id=template.id) }}">Upload a list of {{ recipient_count_label(999, template.template_type) }}</a>
|
||||
{% if current_user.platform_admin and current_service.contact_lists %}
|
||||
{% if current_service.contact_lists %}
|
||||
<a class="govuk-link govuk-link--no-visited-state govuk-!-margin-right-3" href="{{ url_for('.choose_from_contact_list', service_id=current_service.id, template_id=template.id) }}">Use a saved list</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@@ -1066,6 +1066,7 @@ def test_send_test_step_redirects_if_session_not_setup(
|
||||
mock_get_service_statistics,
|
||||
mock_get_users_by_service,
|
||||
mock_has_no_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
fake_uuid,
|
||||
user,
|
||||
endpoint,
|
||||
@@ -1180,6 +1181,7 @@ def test_send_one_off_or_test_has_correct_page_titles(
|
||||
logged_in_client,
|
||||
service_one,
|
||||
mock_has_no_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
fake_uuid,
|
||||
mocker,
|
||||
template_type,
|
||||
@@ -1241,6 +1243,7 @@ def test_send_one_off_or_test_shows_placeholders_in_correct_order(
|
||||
client_request,
|
||||
fake_uuid,
|
||||
mock_has_no_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
mock_get_service_template_with_multiple_placeholders,
|
||||
endpoint,
|
||||
step_index,
|
||||
@@ -1292,6 +1295,7 @@ def test_send_one_off_has_skip_link(
|
||||
fake_uuid,
|
||||
mock_get_service_email_template,
|
||||
mock_has_no_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
mocker,
|
||||
template_type,
|
||||
expected_link_text,
|
||||
@@ -1334,6 +1338,7 @@ def test_send_one_off_has_sticky_header_for_email_and_letter(
|
||||
client_request,
|
||||
fake_uuid,
|
||||
mock_has_no_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
template_type,
|
||||
expected_sticky,
|
||||
):
|
||||
@@ -1362,6 +1367,7 @@ def test_skip_link_will_not_show_on_sms_one_off_if_service_has_no_mobile_number(
|
||||
fake_uuid,
|
||||
mock_get_service_template,
|
||||
mock_has_no_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
mocker,
|
||||
user,
|
||||
):
|
||||
@@ -1387,6 +1393,7 @@ def test_send_one_off_offers_link_to_upload(
|
||||
fake_uuid,
|
||||
mock_get_service_template,
|
||||
mock_has_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
user,
|
||||
):
|
||||
client_request.login(user)
|
||||
@@ -1411,24 +1418,13 @@ def test_send_one_off_offers_link_to_upload(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
pytest.param(
|
||||
create_platform_admin_user(),
|
||||
),
|
||||
pytest.param(
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail(raises=AssertionError),
|
||||
),
|
||||
))
|
||||
def test_platform_admin_has_link_to_use_existing_list(
|
||||
def test_send_one_off_has_link_to_use_existing_list(
|
||||
client_request,
|
||||
mock_get_service_template,
|
||||
mock_has_jobs,
|
||||
mock_get_contact_lists,
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
client_request.login(user)
|
||||
page = client_request.get(
|
||||
'main.send_one_off',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
@@ -3787,6 +3783,7 @@ def test_reply_to_is_previewed_if_chosen(
|
||||
mock_get_service_statistics,
|
||||
mock_get_job_doesnt_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
get_default_reply_to_email_address,
|
||||
fake_uuid,
|
||||
endpoint,
|
||||
@@ -3838,6 +3835,7 @@ def test_sms_sender_is_previewed(
|
||||
mock_get_service_statistics,
|
||||
mock_get_job_doesnt_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_no_contact_lists,
|
||||
get_default_sms_sender,
|
||||
fake_uuid,
|
||||
endpoint,
|
||||
|
||||
@@ -20,15 +20,18 @@ from tests.conftest import (
|
||||
|
||||
|
||||
@pytest.mark.parametrize('extra_permissions', (
|
||||
[],
|
||||
['letter'],
|
||||
['upload_letters'],
|
||||
pytest.param(
|
||||
['letter', 'upload_letters'],
|
||||
[],
|
||||
marks=pytest.mark.xfail(raises=AssertionError),
|
||||
),
|
||||
pytest.param(
|
||||
['upload_letters'],
|
||||
marks=pytest.mark.xfail(raises=AssertionError),
|
||||
),
|
||||
['letter'],
|
||||
['letter', 'upload_letters'],
|
||||
))
|
||||
def test_no_upload_letters_button_without_permission(
|
||||
def test_upload_letters_button_only_with_letters_permission(
|
||||
client_request,
|
||||
service_one,
|
||||
mock_get_uploads,
|
||||
@@ -38,19 +41,14 @@ def test_no_upload_letters_button_without_permission(
|
||||
):
|
||||
service_one['permissions'] += extra_permissions
|
||||
page = client_request.get('main.uploads', service_id=SERVICE_ONE_ID)
|
||||
assert not page.find('a', text=re.compile('Upload a letter'))
|
||||
assert page.find('a', text=re.compile('Upload a letter'))
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
pytest.param(
|
||||
create_platform_admin_user(),
|
||||
),
|
||||
pytest.param(
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail(raises=AssertionError),
|
||||
),
|
||||
create_platform_admin_user(),
|
||||
create_active_user_with_permissions(),
|
||||
))
|
||||
def test_platform_admin_has_upload_contact_list(
|
||||
def test_all_users_have_upload_contact_list(
|
||||
client_request,
|
||||
mock_get_uploads,
|
||||
mock_get_jobs,
|
||||
|
||||
Reference in New Issue
Block a user