mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 00:07:02 -04: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([
|
PLATFORM_ADMIN_SERVICE_PERMISSIONS = OrderedDict([
|
||||||
('inbound_sms', {'title': 'Receive inbound SMS', 'requires': 'sms', 'endpoint': '.service_set_inbound_number'}),
|
('inbound_sms', {'title': 'Receive inbound SMS', 'requires': 'sms', 'endpoint': '.service_set_inbound_number'}),
|
||||||
('email_auth', {'title': 'Email authentication'}),
|
('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'}),
|
('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")
|
@main.route("/services/<uuid:service_id>/service-settings")
|
||||||
@user_has_permissions('manage_service', 'manage_api_keys')
|
@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'])
|
@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):
|
def service_switch_can_upload_document(service_id):
|
||||||
if current_service.contact_link:
|
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()
|
form = ServiceContactDetailsForm()
|
||||||
|
|
||||||
@@ -309,7 +339,7 @@ def service_switch_can_upload_document(service_id):
|
|||||||
contact_link=form.data[contact_type]
|
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)
|
return render_template('views/service-settings/contact_link.html', form=form)
|
||||||
|
|
||||||
|
|||||||
@@ -110,6 +110,16 @@
|
|||||||
)}}
|
)}}
|
||||||
{% endcall %}
|
{% 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 %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call mapping_table(
|
{% call mapping_table(
|
||||||
|
|||||||
Reference in New Issue
Block a user