mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 02:42:26 -05:00
Drop ‘preview service name’ page
This page: - confused users in research - didn’t communicate what it was intended to (eg the generated email address, how your service name would appear in messages) This commit removes the page so that after typing in the service name the user is sent straight to the dashboard for their new service.
This commit is contained in:
@@ -11,39 +11,15 @@ from app.main.forms import AddServiceForm
|
||||
@login_required
|
||||
def add_service():
|
||||
form = AddServiceForm(services_dao.find_all_service_names)
|
||||
services = services_dao.get_services(current_user.id)
|
||||
if len(services['data']) == 0:
|
||||
heading = 'Which service do you want to set up notifications for?'
|
||||
else:
|
||||
heading = 'Add a new service'
|
||||
heading = 'Which service do you want to set up notifications for?'
|
||||
if form.validate_on_submit():
|
||||
session['service_name'] = form.name.data
|
||||
return redirect(url_for('main.add_from_address'))
|
||||
user = users_dao.get_user_by_id(session['user_id'])
|
||||
service_id = services_dao.insert_new_service(session['service_name'], user.id)
|
||||
return redirect(url_for('main.service_dashboard', service_id=service_id))
|
||||
else:
|
||||
return render_template(
|
||||
'views/add-service.html',
|
||||
form=form,
|
||||
heading=heading
|
||||
)
|
||||
|
||||
|
||||
@main.route("/confirm-add-service", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def add_from_address():
|
||||
if request.method == 'POST':
|
||||
user = users_dao.get_user_by_id(session['user_id'])
|
||||
service_id = services_dao.insert_new_service(session['service_name'], user.id)
|
||||
return redirect(url_for('main.service_dashboard', service_id=service_id))
|
||||
else:
|
||||
return render_template(
|
||||
'views/add-from-address.html',
|
||||
service_name=session['service_name'],
|
||||
from_address="{}@notifications.service.gov.uk".format(_email_safe(session['service_name']))
|
||||
)
|
||||
|
||||
|
||||
def _email_safe(string):
|
||||
return "".join([
|
||||
character.lower() if character.isalnum() or character == "." else ""
|
||||
for character in re.sub("\s+", ".", string.strip())
|
||||
])
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% from "components/textbox.html" import textbox %}
|
||||
{% from "components/page-footer.html" import page_footer %}
|
||||
{% from "components/sms-message.html" import sms_message %}
|
||||
{% from "components/email-message.html" import email_message %}
|
||||
|
||||
{% block page_title %}
|
||||
Preview your service name – GOV.UK Notify
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<h1 class="heading-large">
|
||||
Preview your service name
|
||||
</h1>
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="column-two-thirds">
|
||||
{{ sms_message(
|
||||
"{}: we received your payment, thank you".format(service_name),
|
||||
name="Text message",
|
||||
recipient='Sent from 40604'
|
||||
) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-row">
|
||||
<div class='column-two-thirds'>
|
||||
{{ email_message(
|
||||
subject="We received your payment, thank you",
|
||||
body="Dear Alice Smith,\n\nThank you for…",
|
||||
from_name=service_name,
|
||||
from_address=from_address,
|
||||
name="Email",
|
||||
) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form method="post">
|
||||
{{page_footer('Looks good', back_link=url_for(".add_service"))}}
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
@@ -14,7 +14,7 @@ def test_get_should_render_add_service_template(app_,
|
||||
client.login(api_user_active)
|
||||
response = client.get(url_for('main.add_service'))
|
||||
assert response.status_code == 200
|
||||
assert 'Add a new service' in response.get_data(as_text=True)
|
||||
assert 'Which service do you want to set up notifications for?' in response.get_data(as_text=True)
|
||||
|
||||
|
||||
def test_should_add_service_and_redirect_to_next_page(app_,
|
||||
@@ -31,48 +31,8 @@ def test_should_add_service_and_redirect_to_next_page(app_,
|
||||
url_for('main.add_service'),
|
||||
data={'name': 'testing the post'})
|
||||
assert response.status_code == 302
|
||||
assert response.location == url_for('main.add_from_address', _external=True)
|
||||
|
||||
|
||||
def test_should_confirm_add_service(
|
||||
app_,
|
||||
mock_login,
|
||||
mock_get_services,
|
||||
api_user_active,
|
||||
mock_get_user,
|
||||
mock_get_user_by_email
|
||||
):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
with client.session_transaction() as session:
|
||||
session['service_name'] = 'Renew Your Pet Passport'
|
||||
response = client.get(url_for('main.add_from_address'))
|
||||
assert response.status_code == 200
|
||||
assert 'Preview your service name' in response.get_data(as_text=True)
|
||||
assert 'Renew Your Pet Passport' in response.get_data(as_text=True)
|
||||
assert 'renew.your.pet.passport@notifications.service.gov.uk' in response.get_data(as_text=True)
|
||||
|
||||
|
||||
def test_should_add_service_after_confirmation(
|
||||
app_,
|
||||
mock_login,
|
||||
mock_create_service,
|
||||
mock_get_services,
|
||||
api_user_active,
|
||||
mock_get_user,
|
||||
mock_get_user_by_email
|
||||
):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
with client.session_transaction() as session:
|
||||
session['service_name'] = 'Renew Your Pet Passport'
|
||||
response = client.post(url_for('main.add_from_address'))
|
||||
assert response.status_code == 302
|
||||
assert response.location == url_for('main.service_dashboard', service_id=101, _external=True)
|
||||
assert mock_create_service.called
|
||||
assert mock_get_services.called
|
||||
|
||||
|
||||
def test_should_return_form_errors_when_service_name_is_empty(app_,
|
||||
|
||||
Reference in New Issue
Block a user