mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-06 17:58:24 -04:00
Merge pull request #1343 from alphagov/show-template-as-first-step-of-tour
Change step 1 of tour to only show the template
This commit is contained in:
@@ -88,8 +88,9 @@
|
|||||||
background: $govuk-blue;
|
background: $govuk-blue;
|
||||||
color: $white;
|
color: $white;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
margin-bottom: 0;
|
||||||
padding: $gutter;
|
padding: $gutter;
|
||||||
height: 475px;
|
height: 425px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: inset 0 -1em 1.6em 0 rgba(0, 0, 0, 0.05);
|
box-shadow: inset 0 -1em 1.6em 0 rgba(0, 0, 0, 0.05);
|
||||||
|
|
||||||
|
|||||||
@@ -80,10 +80,9 @@ def add_service():
|
|||||||
)
|
)
|
||||||
|
|
||||||
return redirect(url_for(
|
return redirect(url_for(
|
||||||
'main.send_test',
|
'main.start_tour',
|
||||||
service_id=service_id,
|
service_id=service_id,
|
||||||
template_id=example_sms_template['data']['id'],
|
template_id=example_sms_template['data']['id'],
|
||||||
help=1
|
|
||||||
))
|
))
|
||||||
else:
|
else:
|
||||||
return render_template(
|
return render_template(
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from notifications_utils.recipients import first_column_headings
|
|||||||
from notifications_python_client.errors import HTTPError
|
from notifications_python_client.errors import HTTPError
|
||||||
|
|
||||||
from app.main import main
|
from app.main import main
|
||||||
from app.utils import user_has_permissions, get_template
|
from app.utils import user_has_permissions, get_template, get_help_argument
|
||||||
from app.template_previews import TemplatePreview, get_page_count_for_letter
|
from app.template_previews import TemplatePreview, get_page_count_for_letter
|
||||||
from app.main.forms import (
|
from app.main.forms import (
|
||||||
ChooseTemplateType,
|
ChooseTemplateType,
|
||||||
@@ -73,6 +73,34 @@ def view_template(service_id, template_id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@main.route("/services/<service_id>/start-tour/<uuid:template_id>")
|
||||||
|
@login_required
|
||||||
|
@user_has_permissions(
|
||||||
|
'view_activity',
|
||||||
|
'send_texts',
|
||||||
|
'send_emails',
|
||||||
|
'manage_templates',
|
||||||
|
'manage_api_keys',
|
||||||
|
admin_override=True, any_=True
|
||||||
|
)
|
||||||
|
def start_tour(service_id, template_id):
|
||||||
|
|
||||||
|
template = service_api_client.get_service_template(service_id, str(template_id))['data']
|
||||||
|
|
||||||
|
if template['template_type'] != 'sms':
|
||||||
|
abort(404)
|
||||||
|
|
||||||
|
return render_template(
|
||||||
|
'views/templates/start-tour.html',
|
||||||
|
template=get_template(
|
||||||
|
template,
|
||||||
|
current_service,
|
||||||
|
show_recipient=True,
|
||||||
|
),
|
||||||
|
help='1',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@main.route("/services/<service_id>/templates")
|
@main.route("/services/<service_id>/templates")
|
||||||
@main.route("/services/<service_id>/templates/<template_type>")
|
@main.route("/services/<service_id>/templates/<template_type>")
|
||||||
@login_required
|
@login_required
|
||||||
|
|||||||
21
app/templates/views/templates/start-tour.html
Normal file
21
app/templates/views/templates/start-tour.html
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{% extends "withnav_template.html" %}
|
||||||
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
|
{% from "components/textbox.html" import textbox %}
|
||||||
|
{% from "components/api-key.html" import api_key %}
|
||||||
|
|
||||||
|
{% block service_page_title %}
|
||||||
|
{{ template.name }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block maincolumn_content %}
|
||||||
|
|
||||||
|
|
||||||
|
<h1 class="heading-large">{{ template.name }}</h1>
|
||||||
|
|
||||||
|
{{ template|string }}
|
||||||
|
|
||||||
|
<div class="page-footer">
|
||||||
|
<a href="{{ url_for('.send_test', service_id=current_service.id, template_id=template.id, help=2) }}" class="button">Next</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
@@ -59,10 +59,9 @@ def test_should_add_service_and_redirect_to_tour_when_no_services(
|
|||||||
assert session['service_id'] == 101
|
assert session['service_id'] == 101
|
||||||
assert response.status_code == 302
|
assert response.status_code == 302
|
||||||
assert response.location == url_for(
|
assert response.location == url_for(
|
||||||
'main.send_test',
|
'main.start_tour',
|
||||||
service_id=101,
|
service_id=101,
|
||||||
template_id="Example text message template",
|
template_id="Example%20text%20message%20template",
|
||||||
help=1,
|
|
||||||
_external=True
|
_external=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -944,6 +944,57 @@ def test_should_create_sms_template_without_downgrading_unicode_characters(
|
|||||||
assert resp.status_code == 302
|
assert resp.status_code == 302
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_show_template_as_first_page_of_tour(
|
||||||
|
client_request,
|
||||||
|
mock_get_service_template,
|
||||||
|
service_one,
|
||||||
|
fake_uuid,
|
||||||
|
):
|
||||||
|
|
||||||
|
page = client_request.get(
|
||||||
|
'main.start_tour',
|
||||||
|
service_id=SERVICE_ONE_ID,
|
||||||
|
template_id=fake_uuid,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert normalize_spaces(
|
||||||
|
page.select('.banner-tour .heading-medium')[0].text
|
||||||
|
) == (
|
||||||
|
'Try sending yourself this example'
|
||||||
|
)
|
||||||
|
|
||||||
|
assert normalize_spaces(
|
||||||
|
page.select('.sms-message-wrapper')[0].text
|
||||||
|
) == (
|
||||||
|
'service one: Template <em>content</em> with & entity'
|
||||||
|
)
|
||||||
|
|
||||||
|
assert page.select('a.button')[0]['href'] == url_for(
|
||||||
|
'.send_test', service_id=SERVICE_ONE_ID, template_id=fake_uuid, help=2
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('template_mock', [
|
||||||
|
mock_get_service_email_template,
|
||||||
|
mock_get_service_letter_template,
|
||||||
|
])
|
||||||
|
def test_cant_see_email_template_in_tour(
|
||||||
|
client_request,
|
||||||
|
fake_uuid,
|
||||||
|
mocker,
|
||||||
|
template_mock,
|
||||||
|
):
|
||||||
|
|
||||||
|
template_mock(mocker)
|
||||||
|
|
||||||
|
client_request.get(
|
||||||
|
'main.start_tour',
|
||||||
|
service_id=SERVICE_ONE_ID,
|
||||||
|
template_id=fake_uuid,
|
||||||
|
_expected_status=404,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_should_show_message_before_redacting_template(
|
def test_should_show_message_before_redacting_template(
|
||||||
client_request,
|
client_request,
|
||||||
mock_get_service_template,
|
mock_get_service_template,
|
||||||
|
|||||||
Reference in New Issue
Block a user