Пример #1
0
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,
    )
Пример #2
0
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)
Пример #3
0
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)