mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-27 09:43:58 -04:00
Merge pull request #1671 from alphagov/auth-type-by-request
Invite users to choose how team members sign in
This commit is contained in:
@@ -536,6 +536,15 @@ def service_set_letters(service_id):
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/set-auth-type", methods=['GET'])
|
||||
@login_required
|
||||
@user_has_permissions('manage_settings', admin_override=True)
|
||||
def service_set_auth_type(service_id):
|
||||
return render_template(
|
||||
'views/service-settings/set-auth-type.html',
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/letter-contacts", methods=['GET'])
|
||||
@login_required
|
||||
@user_has_permissions('manage_settings', admin_override=True)
|
||||
|
||||
@@ -26,6 +26,16 @@
|
||||
{{ edit_field('Change', url_for('.service_name_change', service_id=current_service.id)) }}
|
||||
{% endcall %}
|
||||
|
||||
{% call row() %}
|
||||
{{ text_field('Sign-in method') }}
|
||||
{{ text_field(
|
||||
'Email link or text message code'
|
||||
if 'email_auth' in current_service.permissions
|
||||
else 'Text message code'
|
||||
) }}
|
||||
{{ edit_field('Change', url_for('.service_set_auth_type', service_id=current_service.id)) }}
|
||||
{% endcall %}
|
||||
|
||||
{% endcall %}
|
||||
|
||||
{% call mapping_table(
|
||||
|
||||
44
app/templates/views/service-settings/set-auth-type.html
Normal file
44
app/templates/views/service-settings/set-auth-type.html
Normal file
@@ -0,0 +1,44 @@
|
||||
{% extends "withnav_template.html" %}
|
||||
{% from "components/textbox.html" import textbox %}
|
||||
{% from "components/page-footer.html" import page_footer %}
|
||||
|
||||
{% block service_page_title %}
|
||||
Text message sender
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="column-five-sixths">
|
||||
<h1 class="heading-large">Sign-in method</h1>
|
||||
{% if 'email_auth' in current_service.permissions %}
|
||||
<p class="heading-small bottom-gutter-2-3">
|
||||
Email link or text message code
|
||||
</p>
|
||||
<p>
|
||||
Your team members can sign in with either a text message code
|
||||
or an email link.
|
||||
</p>
|
||||
<p>
|
||||
You can <a href="{{ url_for('.manage_users', service_id=current_service.id) }}">set the sign-in method for individual team members</a>.
|
||||
</p>
|
||||
{% else %}
|
||||
<p class="heading-small bottom-gutter-2-3">
|
||||
Text message code
|
||||
</p>
|
||||
<p>
|
||||
Your team members sign in with a text message code.
|
||||
</p>
|
||||
<p>
|
||||
If signing in with a text message is a problem for your team,
|
||||
please <a href="{{ url_for('.support') }}">contact us</a>.
|
||||
</p>
|
||||
{% endif %}
|
||||
{{ page_footer(
|
||||
back_link=url_for('.service_settings', service_id=current_service.id),
|
||||
back_link_text='Back to settings'
|
||||
) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
@@ -46,6 +46,7 @@ def mock_get_service_settings_page_common(
|
||||
|
||||
'Label Value Action',
|
||||
'Service name service one Change',
|
||||
'Sign-in method Text message code Change',
|
||||
|
||||
'Label Value Action',
|
||||
'Send emails On Change',
|
||||
@@ -66,6 +67,7 @@ def mock_get_service_settings_page_common(
|
||||
|
||||
'Label Value Action',
|
||||
'Service name service one Change',
|
||||
'Sign-in method Text message code Change',
|
||||
|
||||
'Label Value Action',
|
||||
'Send emails On Change',
|
||||
@@ -122,6 +124,7 @@ def test_should_show_overview(
|
||||
(['email', 'sms', 'inbound_sms', 'international_sms'], [
|
||||
|
||||
'Service name service one Change',
|
||||
'Sign-in method Text message code Change',
|
||||
|
||||
'Label Value Action',
|
||||
'Send emails On Change',
|
||||
@@ -139,9 +142,10 @@ def test_should_show_overview(
|
||||
'Send letters Off Change',
|
||||
|
||||
]),
|
||||
(['email', 'sms'], [
|
||||
(['email', 'sms', 'email_auth'], [
|
||||
|
||||
'Service name service one Change',
|
||||
'Sign-in method Email link or text message code Change',
|
||||
|
||||
'Label Value Action',
|
||||
'Send emails On Change',
|
||||
@@ -249,7 +253,7 @@ def test_letter_contact_block_shows_none_if_not_set(
|
||||
))
|
||||
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
div = page.find_all('tr')[8].find_all('td')[1].div
|
||||
div = page.find_all('tr')[9].find_all('td')[1].div
|
||||
assert div.text.strip() == 'Not set'
|
||||
assert 'default' in div.attrs['class'][0]
|
||||
|
||||
@@ -269,7 +273,7 @@ def test_escapes_letter_contact_block(
|
||||
))
|
||||
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
div = str(page.find_all('tr')[8].find_all('td')[1].div)
|
||||
div = str(page.find_all('tr')[9].find_all('td')[1].div)
|
||||
assert 'foo<br/>bar' in div
|
||||
assert '<script>' not in div
|
||||
|
||||
@@ -713,9 +717,9 @@ def test_and_more_hint_appears_on_settings_with_more_than_just_a_single_sender(
|
||||
page.select('tbody tr')[index].text
|
||||
)
|
||||
|
||||
assert get_row(page, 2) == "Email reply to addresses test@example.com …and 2 more Manage"
|
||||
assert get_row(page, 4) == "Text message sender Example …and 2 more Manage"
|
||||
assert get_row(page, 9) == "Sender addresses 1 Example Street …and 2 more Manage"
|
||||
assert get_row(page, 3) == "Email reply to addresses test@example.com …and 2 more Manage"
|
||||
assert get_row(page, 5) == "Text message sender Example …and 2 more Manage"
|
||||
assert get_row(page, 10) == "Sender addresses 1 Example Street …and 2 more Manage"
|
||||
|
||||
|
||||
@pytest.mark.parametrize('sender_list_page, expected_output', [
|
||||
@@ -2003,6 +2007,20 @@ def test_cant_resume_active_service(
|
||||
'Your service can receive text messages sent to 0781239871.'
|
||||
)
|
||||
),
|
||||
(
|
||||
'main.service_set_auth_type',
|
||||
[],
|
||||
(
|
||||
'Text message code'
|
||||
)
|
||||
),
|
||||
(
|
||||
'main.service_set_auth_type',
|
||||
['email_auth'],
|
||||
(
|
||||
'Email link or text message code'
|
||||
)
|
||||
),
|
||||
])
|
||||
def test_invitation_pages(
|
||||
logged_in_client,
|
||||
|
||||
Reference in New Issue
Block a user