Refactor code to check whether email/sms is enabled

This commit is contained in:
Katie Smith
2017-07-04 17:25:35 +01:00
parent 42a8474415
commit aaadd867f7
3 changed files with 19 additions and 16 deletions

View File

@@ -43,7 +43,8 @@ from app.utils import (
get_errors_for_csv,
Spreadsheet,
get_help_argument,
get_template
get_template,
email_or_sms_not_enabled,
)
from app.template_previews import TemplatePreview, get_page_count_for_letter
@@ -93,8 +94,7 @@ def send_messages(service_id, template_id):
db_template = service_api_client.get_service_template(service_id, template_id)['data']
if (db_template['template_type'] in ['email', 'sms']) \
and (db_template['template_type'] not in current_service['permissions']):
if email_or_sms_not_enabled(db_template['template_type'], current_service['permissions']):
return redirect(url_for(
'.action_blocked',
service_id=service_id,
@@ -176,8 +176,7 @@ def send_test(service_id, template_id):
db_template = service_api_client.get_service_template(service_id, template_id)['data']
if (db_template['template_type'] in ['email', 'sms']) \
and (db_template['template_type'] not in current_service['permissions']):
if email_or_sms_not_enabled(db_template['template_type'], current_service['permissions']):
return redirect(url_for(
'.action_blocked',
service_id=service_id,

View File

@@ -18,7 +18,7 @@ from notifications_utils.recipients import first_column_headings
from notifications_python_client.errors import HTTPError
from app.main import main
from app.utils import user_has_permissions, get_template, get_help_argument
from app.utils import user_has_permissions, get_template, get_help_argument, email_or_sms_not_enabled
from app.template_previews import TemplatePreview, get_page_count_for_letter
from app.main.forms import (
ChooseTemplateType,
@@ -232,13 +232,7 @@ def add_template_by_type(service_id):
template_id=blank_letter['data']['id'],
))
if form.template_type.data in current_service['permissions']:
return redirect(url_for(
'.add_service_template',
service_id=service_id,
template_type=form.template_type.data,
))
else:
if email_or_sms_not_enabled(form.template_type.data, current_service['permissions']):
return redirect(url_for(
'.action_blocked',
service_id=service_id,
@@ -246,6 +240,12 @@ def add_template_by_type(service_id):
return_to='add_new_template',
template_id='0'
))
else:
return redirect(url_for(
'.add_service_template',
service_id=service_id,
template_type=form.template_type.data,
))
return render_template('views/templates/add.html', form=form)
@@ -304,7 +304,8 @@ def add_service_template(service_id, template_type):
return redirect(
url_for('.view_template', service_id=service_id, template_id=new_template['data']['id'])
)
if (template_type in ['email', 'sms']) and (template_type not in current_service['permissions']):
if email_or_sms_not_enabled(template_type, current_service['permissions']):
return redirect(url_for(
'.action_blocked',
service_id=service_id,
@@ -392,8 +393,7 @@ def edit_service_template(service_id, template_id):
db_template = service_api_client.get_service_template(service_id, template_id)['data']
if (db_template['template_type'] in ['email', 'sms']) \
and (db_template['template_type'] not in current_service['permissions']):
if email_or_sms_not_enabled(db_template['template_type'], current_service['permissions']):
return redirect(url_for(
'.action_blocked',
service_id=service_id,

View File

@@ -320,3 +320,7 @@ def get_time_left(created_at):
past_tense='Data no longer available', # No-one should ever see this
precision=1
)
def email_or_sms_not_enabled(template_type, permissions):
return (template_type in ['email', 'sms']) and (template_type not in permissions)