def service_set_inbound_number(service_id): available_inbound_numbers = inbound_number_client.get_available_inbound_sms_numbers( ) inbound_numbers_value_and_label = [ (number['id'], number['number']) for number in available_inbound_numbers['data'] ] no_available_numbers = available_inbound_numbers['data'] == [] form = ServiceInboundNumberForm( inbound_number_choices=inbound_numbers_value_and_label) if form.validate_on_submit(): service_api_client.add_sms_sender( current_service.id, sms_sender=form.inbound_number.data, is_default=True, inbound_number_id=form.inbound_number.data) current_service.force_permission('inbound_sms', on=True) return redirect(url_for('.service_settings', service_id=service_id)) return render_template( 'views/service-settings/set-inbound-number.html', form=form, no_available_numbers=no_available_numbers, )
def service_set_channel(service_id, channel): if channel not in {'email', 'sms', 'letter'}: abort(404) if current_service.has_permission('broadcast'): abort(403) form = ServiceSwitchChannelForm( channel=channel, enabled=current_service.has_permission(channel) ) if form.validate_on_submit(): current_service.force_permission( channel, on=form.enabled.data, ) return redirect( url_for(".service_settings", service_id=service_id) ) return render_template( 'views/service-settings/set-{}.html'.format(channel), form=form, )
def service_set_international_sms(service_id): form = InternationalSMSForm(enabled='on' if current_service. has_permission('international_sms') else 'off') if form.validate_on_submit(): current_service.force_permission( 'international_sms', on=(form.enabled.data == 'on'), ) return redirect(url_for(".service_settings", service_id=service_id)) return render_template( 'views/service-settings/set-international-sms.html', form=form, )
def service_set_international_letters(service_id): form = ServiceOnOffSettingForm( 'Send letters to international addresses', enabled=current_service.has_permission('international_letters'), ) if form.validate_on_submit(): current_service.force_permission( 'international_letters', on=form.enabled.data, ) return redirect(url_for(".service_settings", service_id=service_id)) return render_template( 'views/service-settings/set-international-letters.html', form=form, )
def service_set_permission(service_id, permission): if permission not in PLATFORM_ADMIN_SERVICE_PERMISSIONS: abort(404) title = PLATFORM_ADMIN_SERVICE_PERMISSIONS[permission]['title'] form = ServiceOnOffSettingForm( name=title, enabled=current_service.has_permission(permission)) if form.validate_on_submit(): current_service.force_permission(permission, 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, )
def service_set_broadcast_permission(service_id): title = PLATFORM_ADMIN_SERVICE_PERMISSIONS['broadcast']['title'] form = ServiceOnOffSettingForm( name=title, enabled=current_service.has_permission('broadcast')) if form.validate_on_submit(): if form.enabled.data: current_service.force_broadcast_permission_on() else: current_service.force_permission('broadcast', on=False) return redirect(url_for(".service_settings", service_id=service_id)) return render_template( 'views/service-settings/set-service-setting.html', title=title, form=form, )