mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 08:16:51 -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
|
@login_required
|
||||||
@user_has_permissions()
|
@user_has_permissions()
|
||||||
def view_template(service_id, template_id):
|
def view_template(service_id, template_id):
|
||||||
|
template = service_api_client.get_service_template(service_id, str(template_id))['data']
|
||||||
if (
|
if (
|
||||||
current_user.has_permissions('send_messages') and
|
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(
|
return redirect(url_for(
|
||||||
'.send_one_off', service_id=service_id, template_id=template_id
|
'.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":
|
if template["template_type"] == "letter":
|
||||||
letter_contact_details = service_api_client.get_letter_contacts(service_id)
|
letter_contact_details = service_api_client.get_letter_contacts(service_id)
|
||||||
default_letter_contact_block_id = next(
|
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(
|
def test_caseworker_redirected_to_one_off(
|
||||||
client_request,
|
client_request,
|
||||||
mock_get_service_templates,
|
mock_get_service_templates,
|
||||||
|
mock_get_service_template,
|
||||||
mocker,
|
mocker,
|
||||||
fake_uuid,
|
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(
|
def test_user_with_only_send_and_view_redirected_to_one_off(
|
||||||
client_request,
|
client_request,
|
||||||
mock_get_service_templates,
|
mock_get_service_templates,
|
||||||
|
mock_get_service_template,
|
||||||
active_user_with_permissions,
|
active_user_with_permissions,
|
||||||
mocker,
|
mocker,
|
||||||
fake_uuid,
|
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', [
|
@pytest.mark.parametrize('permissions, links_to_be_shown, permissions_warning_to_be_shown', [
|
||||||
(
|
(
|
||||||
['view_activity'],
|
['view_activity'],
|
||||||
|
|||||||
Reference in New Issue
Block a user