mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-06-24 09:21:06 -04:00
Refactored code for new service permissions
This commit is contained in:
@@ -245,7 +245,7 @@ def send_test_step(service_id, template_id, step_index):
|
||||
current_placeholder,
|
||||
dict_to_populate_from=get_normalised_send_test_values_from_session(),
|
||||
optional_placeholder=optional_placeholder,
|
||||
allow_international_phone_numbers=current_service['can_send_international_sms'],
|
||||
allow_international_phone_numbers='international_sms' in current_service['permissions'],
|
||||
)
|
||||
|
||||
if form.validate_on_submit():
|
||||
@@ -375,7 +375,7 @@ def _check_messages(service_id, template_type, upload_id, letters_as_pdf=False):
|
||||
[user.name, user.mobile_number, user.email_address] for user in users
|
||||
) if current_service['restricted'] else None,
|
||||
remaining_messages=remaining_messages,
|
||||
international_sms=current_service['can_send_international_sms'],
|
||||
international_sms='international_sms' in current_service['permissions'],
|
||||
)
|
||||
|
||||
if request.args.get('from_test'):
|
||||
|
||||
@@ -208,14 +208,24 @@ def service_switch_research_mode(service_id):
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
def switch_service_permissions(service_id, permission):
|
||||
permissions = current_service['permissions'].copy()
|
||||
if permission in permissions:
|
||||
permissions.remove(permission)
|
||||
else:
|
||||
permissions.append(permission)
|
||||
|
||||
service_api_client.update_service_with_properties(
|
||||
service_id,
|
||||
{'permissions': permissions}
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/service-settings/can-send-letters")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
def service_switch_can_send_letters(service_id):
|
||||
service_api_client.update_service_with_properties(
|
||||
service_id,
|
||||
{"can_send_letters": not current_service['can_send_letters']}
|
||||
)
|
||||
switch_service_permissions(service_id, 'letter')
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
@@ -223,10 +233,7 @@ def service_switch_can_send_letters(service_id):
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
def service_switch_can_send_international_sms(service_id):
|
||||
service_api_client.update_service_with_properties(
|
||||
service_id,
|
||||
{"can_send_international_sms": not current_service['can_send_international_sms']}
|
||||
)
|
||||
switch_service_permissions(service_id, 'international_sms')
|
||||
return redirect(url_for('.service_settings', service_id=service_id))
|
||||
|
||||
|
||||
@@ -350,7 +357,7 @@ def service_set_letters(service_id):
|
||||
@user_has_permissions('manage_settings', admin_override=True)
|
||||
def service_set_letter_contact_block(service_id):
|
||||
|
||||
if not current_service['can_send_letters']:
|
||||
if 'letter' not in current_service['permissions']:
|
||||
abort(403)
|
||||
|
||||
form = ServiceLetterContactBlock(letter_contact_block=current_service['letter_contact_block'])
|
||||
|
||||
@@ -184,7 +184,7 @@ def view_template_version_preview(service_id, template_id, version, filetype):
|
||||
def add_template_by_type(service_id):
|
||||
|
||||
form = ChooseTemplateType(
|
||||
include_letters=current_service['can_send_letters']
|
||||
include_letters='letter' in current_service['permissions']
|
||||
)
|
||||
|
||||
if form.validate_on_submit():
|
||||
@@ -220,7 +220,7 @@ def add_service_template(service_id, template_type):
|
||||
|
||||
if template_type not in ['sms', 'email', 'letter']:
|
||||
abort(404)
|
||||
if not current_service['can_send_letters'] and template_type == 'letter':
|
||||
if 'letter' not in current_service['permissions'] and template_type == 'letter':
|
||||
abort(403)
|
||||
|
||||
form = form_objects[template_type]()
|
||||
@@ -448,5 +448,5 @@ def get_human_readable_delta(from_time, until_time):
|
||||
def should_show_template(template_type):
|
||||
return (
|
||||
template_type != 'letter' or
|
||||
current_service['can_send_letters']
|
||||
'letter' in current_service['permissions']
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user