mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-03-05 01:42:45 -05:00
Enable users to turn send file by email setting on and off
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user