def service_settings(service_id): letter_branding_organisations = email_branding_client.get_letter_email_branding( ) organisation = organisations_client.get_service_organisation( service_id).get('name', None) if current_service['email_branding']: email_branding = email_branding_client.get_email_branding( current_service['email_branding'])['email_branding'] else: email_branding = None inbound_number = inbound_number_client.get_inbound_sms_number_for_service( service_id) disp_inbound_number = inbound_number['data'].get('number', '') reply_to_email_addresses = service_api_client.get_reply_to_email_addresses( service_id) reply_to_email_address_count = len(reply_to_email_addresses) default_reply_to_email_address = next( (x['email_address'] for x in reply_to_email_addresses if x['is_default']), "Not set") letter_contact_details = service_api_client.get_letter_contacts(service_id) letter_contact_details_count = len(letter_contact_details) default_letter_contact_block = next( (Field(x['contact_block'], html='escape') for x in letter_contact_details if x['is_default']), "Not set") sms_senders = service_api_client.get_sms_senders(service_id) sms_sender_count = len(sms_senders) default_sms_sender = next((Field(x['sms_sender'], html='escape') for x in sms_senders if x['is_default']), "None") free_sms_fragment_limit = billing_api_client.get_free_sms_fragment_limit_for_year( service_id) data_retention = service_api_client.get_service_data_retention(service_id) return render_template( 'views/service-settings.html', email_branding=email_branding, letter_branding=letter_branding_organisations.get( current_service.get('dvla_organisation', '001')), can_receive_inbound=('inbound_sms' in current_service['permissions']), inbound_number=disp_inbound_number, default_reply_to_email_address=default_reply_to_email_address, reply_to_email_address_count=reply_to_email_address_count, default_letter_contact_block=default_letter_contact_block, letter_contact_details_count=letter_contact_details_count, default_sms_sender=default_sms_sender, sms_sender_count=sms_sender_count, free_sms_fragment_limit=free_sms_fragment_limit, prefix_sms=current_service['prefix_sms'], organisation=organisation, data_retention=data_retention, )
def service_add_sms_sender(service_id): form = ServiceSmsSenderForm() sms_sender_count = len(service_api_client.get_sms_senders(service_id)) first_sms_sender = sms_sender_count == 0 if form.validate_on_submit(): service_api_client.add_sms_sender( current_service['id'], sms_sender=form.sms_sender.data.replace('\r', '') or None, is_default=first_sms_sender if first_sms_sender else form.is_default.data) return redirect(url_for('.service_sms_senders', service_id=service_id)) return render_template('views/service-settings/sms-sender/add.html', form=form, first_sms_sender=first_sms_sender)
def service_sms_senders(service_id): def attach_hint(sender): hints = [] if sender['is_default']: hints += ["default"] if sender['inbound_number_id']: hints += ["receives replies"] if hints: sender['hint'] = "(" + " and ".join(hints) + ")" sms_senders = service_api_client.get_sms_senders(service_id) for sender in sms_senders: attach_hint(sender) return render_template('views/service-settings/sms-senders.html', sms_senders=sms_senders)