Enable users to turn send file by email setting on and off

This commit is contained in:
Pea Tyczynska
2020-02-17 15:32:19 +00:00
parent 07e7d98407
commit b2e6d14958
2 changed files with 44 additions and 4 deletions

View File

@@ -67,10 +67,16 @@ from app.utils import (
PLATFORM_ADMIN_SERVICE_PERMISSIONS = OrderedDict([
('inbound_sms', {'title': 'Receive inbound SMS', 'requires': 'sms', 'endpoint': '.service_set_inbound_number'}),
('email_auth', {'title': 'Email authentication'}),
('upload_document', {'title': 'Send files by email', 'endpoint': '.service_switch_can_upload_document'}),
('upload_letters', {'title': 'Uploading letters', 'requires': 'letter'}),
])
SERVICE_SETTINGS = OrderedDict([
(
'upload_document',
{'title': 'Send files by email', 'endpoint': '.service_switch_can_upload_document', 'type': 'email'}
),
])
@main.route("/services/<uuid:service_id>/service-settings")
@user_has_permissions('manage_service', 'manage_api_keys')
@@ -294,11 +300,35 @@ def service_set_permission(service_id, permission):
)
@main.route("/services/<uuid:service_id>/service-settings/<setting>", methods=["GET", "POST"])
@user_has_permissions('manage_service')
def service_set_setting(service_id, setting):
if setting not in SERVICE_SETTINGS:
abort(404)
title = SERVICE_SETTINGS[setting]['title']
form = ServiceOnOffSettingForm(
name=title,
enabled=current_service.has_permission(setting)
)
if form.validate_on_submit():
current_service.force_permission(setting, on=form.enabled.data)
return redirect(url_for(".service_settings", service_id=service_id))
return render_template(
'views/service-settings/set-service-setting.html',
title=title,
form=form,
)
@main.route("/services/<uuid:service_id>/service-settings/can-upload-document", methods=['GET', 'POST'])
@user_is_platform_admin
@user_has_permissions('manage_service')
def service_switch_can_upload_document(service_id):
if current_service.contact_link:
return redirect(url_for('.service_set_permission', service_id=service_id, permission='upload_document'))
return redirect(url_for('.service_set_setting', service_id=service_id, setting='upload_document'))
form = ServiceContactDetailsForm()
@@ -309,7 +339,7 @@ def service_switch_can_upload_document(service_id):
contact_link=form.data[contact_type]
)
return redirect(url_for('.service_set_permission', service_id=service_id, permission='upload_document'))
return redirect(url_for('.service_set_setting', service_id=service_id, setting='upload_document'))
return render_template('views/service-settings/contact_link.html', form=form)

View File

@@ -110,6 +110,16 @@
)}}
{% endcall %}
{% call settings_row(if_has_permission='email') %}
{{ text_field('Send files by email') }}
{{ boolean_field('upload_document' in current_service.permissions) }}
{{ edit_field(
'Change',
url_for('.service_switch_can_upload_document', service_id=current_service.id),
permissions=['manage_service'],
)}}
{% endcall %}
{% endcall %}
{% call mapping_table(