mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-06-22 14:11:27 -04:00
Don’t skip template page for letters
It’s too jarring to go straight from the list of templates to the upload addresses page. So while we don’t have sending a one-off letter as a thing, let’s keep the template page.
This commit is contained in:
@@ -48,14 +48,15 @@ page_headings = {
|
||||
@login_required
|
||||
@user_has_permissions()
|
||||
def view_template(service_id, template_id):
|
||||
template = service_api_client.get_service_template(service_id, str(template_id))['data']
|
||||
if (
|
||||
current_user.has_permissions('send_messages') and
|
||||
not current_user.has_permissions('manage_templates', 'manage_api_keys')
|
||||
not current_user.has_permissions('manage_templates', 'manage_api_keys') and
|
||||
template['template_type'] != 'letter'
|
||||
):
|
||||
return redirect(url_for(
|
||||
'.send_one_off', service_id=service_id, template_id=template_id
|
||||
))
|
||||
template = service_api_client.get_service_template(service_id, str(template_id))['data']
|
||||
if template["template_type"] == "letter":
|
||||
letter_contact_details = service_api_client.get_letter_contacts(service_id)
|
||||
default_letter_contact_block_id = next(
|
||||
|
||||
@@ -167,6 +167,7 @@ def test_should_show_page_for_one_template(
|
||||
def test_caseworker_redirected_to_one_off(
|
||||
client_request,
|
||||
mock_get_service_templates,
|
||||
mock_get_service_template,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
):
|
||||
@@ -190,6 +191,7 @@ def test_caseworker_redirected_to_one_off(
|
||||
def test_user_with_only_send_and_view_redirected_to_one_off(
|
||||
client_request,
|
||||
mock_get_service_templates,
|
||||
mock_get_service_template,
|
||||
active_user_with_permissions,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
@@ -213,6 +215,34 @@ def test_user_with_only_send_and_view_redirected_to_one_off(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('permissions', (
|
||||
{'send_messages', 'view_activity'},
|
||||
{'send_messages'},
|
||||
{'view_activity'},
|
||||
{},
|
||||
))
|
||||
def test_user_with_only_send_and_view_sees_letter_page(
|
||||
client_request,
|
||||
mock_get_service_templates,
|
||||
mock_get_service_letter_template,
|
||||
single_letter_contact_block,
|
||||
mock_has_jobs,
|
||||
active_user_with_permissions,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
permissions,
|
||||
):
|
||||
mocker.patch('app.main.views.templates.get_page_count_for_letter', return_value=1)
|
||||
active_user_with_permissions._permissions[SERVICE_ONE_ID] = permissions
|
||||
client_request.login(active_user_with_permissions)
|
||||
page = client_request.get(
|
||||
'main.view_template',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_id=fake_uuid,
|
||||
)
|
||||
assert page.select_one('h1').text.strip() == 'Two week reminder'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('permissions, links_to_be_shown, permissions_warning_to_be_shown', [
|
||||
(
|
||||
['view_activity'],
|
||||
|
||||
Reference in New Issue
Block a user