fix go live link

This commit is contained in:
Leo Hemsted
2018-04-27 15:47:47 +01:00
parent 2ceea61bb1
commit e8b0e83100
2 changed files with 36 additions and 37 deletions

View File

@@ -10,7 +10,6 @@ from flask import (
)
from flask_login import current_user, login_required
from notifications_python_client.errors import HTTPError
from notifications_utils.clients.zendesk.zendesk_client import ZendeskError
from notifications_utils.field import Field
from notifications_utils.formatters import formatted_list
@@ -190,41 +189,39 @@ def submit_request_to_go_live(service_id):
form = RequestToGoLiveForm()
if form.validate_on_submit():
try:
zendesk_client.create_ticket(
subject='Request to go live - {}'.format(current_service['name']),
message=(
'On behalf of {} ({})\n'
'\n---'
'\nOrganisation type: {}'
'\nAgreement signed: {}'
'\nChannel: {}\nStart date: {}\nStart volume: {}'
'\nPeak volume: {}'
'\nFeatures: {}'
).format(
current_service['name'],
url_for('main.service_dashboard', service_id=current_service['id'], _external=True),
current_service['organisation_type'],
AgreementInfo.from_current_user().as_human_readable,
formatted_list(filter(None, (
'email' if form.channel_email.data else None,
'text messages' if form.channel_sms.data else None,
'letters' if form.channel_letter.data else None,
)), before_each='', after_each=''),
form.start_date.data,
form.start_volume.data,
form.peak_volume.data,
formatted_list(filter(None, (
'one off' if form.method_one_off.data else None,
'file upload' if form.method_upload.data else None,
'API' if form.method_api.data else None,
)), before_each='', after_each='')
),
user_email=current_user.email_address,
user_name=current_user.name
)
except ZendeskError:
abort(500, "Request to go live submission failed")
zendesk_client.create_ticket(
subject='Request to go live - {}'.format(current_service['name']),
message=(
'On behalf of {} ({})\n'
'\n---'
'\nOrganisation type: {}'
'\nAgreement signed: {}'
'\nChannel: {}\nStart date: {}\nStart volume: {}'
'\nPeak volume: {}'
'\nFeatures: {}'
).format(
current_service['name'],
url_for('main.service_dashboard', service_id=current_service['id'], _external=True),
current_service['organisation_type'],
AgreementInfo.from_current_user().as_human_readable,
formatted_list(filter(None, (
'email' if form.channel_email.data else None,
'text messages' if form.channel_sms.data else None,
'letters' if form.channel_letter.data else None,
)), before_each='', after_each=''),
form.start_date.data,
form.start_volume.data,
form.peak_volume.data,
formatted_list(filter(None, (
'one off' if form.method_one_off.data else None,
'file upload' if form.method_upload.data else None,
'API' if form.method_api.data else None,
)), before_each='', after_each='')
),
ticket_type=zendesk_client.TYPE_QUESTION,
user_email=current_user.email_address,
user_name=current_user.name
)
flash('Thanks for your request to go live. Well get back to you within one working day.', 'default')
return redirect(url_for('.service_settings', service_id=service_id))

View File

@@ -5,6 +5,7 @@ import pytest
from bs4 import BeautifulSoup
from flask import url_for
from freezegun import freeze_time
from notifications_utils.clients.zendesk.zendesk_client import ZendeskClient
import app
from app.utils import email_safe
@@ -561,7 +562,7 @@ def test_should_redirect_after_request_to_go_live(
single_sms_sender,
mock_get_service_settings_page_common
):
mock_post = mocker.patch('app.main.views.service_settings.zendesk_client.create_ticket')
mock_post = mocker.patch('app.main.views.service_settings.zendesk_client.create_ticket', autospec=True)
page = client_request.post(
'main.submit_request_to_go_live',
service_id=SERVICE_ONE_ID,
@@ -580,6 +581,7 @@ def test_should_redirect_after_request_to_go_live(
mock_post.assert_called_with(
subject='Request to go live - service one',
message=ANY,
ticket_type=ZendeskClient.TYPE_QUESTION,
user_name=active_user_with_permissions.name,
user_email=active_user_with_permissions.email_address
)