コード例 #1
0
def branding_request(service_id):

    form = BrandingOptionsEmail(options=current_service['branding'])

    if form.validate_on_submit():
        zendesk_client.create_ticket(
            subject='Email branding request - {}'.format(
                current_service['name']),
            message=('Organisation: {}\n'
                     'Service: {}\n'
                     '{}\n'
                     '\n---'
                     '\nBranding requested: {}').format(
                         AgreementInfo.from_current_user().
                         as_info_for_branding_request,
                         current_service['name'],
                         url_for('main.service_dashboard',
                                 service_id=current_service['id'],
                                 _external=True),
                         branding_options_dict[form.options.data],
                     ),
            ticket_type=zendesk_client.TYPE_QUESTION,
            user_email=current_user.email_address,
            user_name=current_user.name,
        )

        flash(('Thanks for your branding request. We’ll get back to you '
               'within one working day.'), 'default')
        return redirect(url_for('.service_settings', service_id=service_id))

    return render_template(
        'views/service-settings/branding/email-options.html',
        form=form,
    )
コード例 #2
0
def submit_request_to_go_live(service_id):
    form = RequestToGoLiveForm()

    if form.validate_on_submit():
        try:
            data = dict(
                service_name=current_service['name'],
                service_url=url_for('main.service_dashboard', service_id=current_service['id'], _external=True),
                requested_by="{} ({})".format(current_user.name, current_user.email_address),
                organisation_type=current_service['organisation_type'],
                agreement_signed=AgreementInfo.from_current_user().as_human_readable,
                channel=formatted_list(filter(None, (
                    'email' if form.channel_email.data else None,
                    'text messages' if form.channel_sms.data else None,
                    'letters' if form.channel_letter.data else None,
                )), before_each='', after_each=''),
                start_date=form.start_date.data,
                start_volume=form.start_volume.data,
                peak_volume=form.peak_volume.data,
                features=formatted_list(filter(None, (
                    'one off' if form.method_one_off.data else None,
                    'file upload' if form.method_upload.data else None,
                    'API' if form.method_api.data else None,
                )), before_each='', after_each='')
            )

            service_api_client.request_to_go_live(service_id, data)
        except HTTPError:
            flash('Error processing your request. Please try again later.', 'error')
        else:
            flash('We’ve received your request to go live. We will respond within the next 48 business hours.', 'default')
            return redirect(url_for('.service_settings', service_id=service_id))

    return render_template('views/service-settings/submit-request-to-go-live.html', form=form)
コード例 #3
0
ファイル: feedback.py プロジェクト: trodjr/notify
def get_prefilled_message():
    agreement_info = AgreementInfo.from_current_user()
    return {
        'agreement': (agreement_info.as_request_for_agreement()),
        'agreement-with-owner':
        (agreement_info.as_request_for_agreement(with_owner=True)),
    }.get(request.args.get('body'), '')
コード例 #4
0
def agreement():

    agreement_info = AgreementInfo.from_current_user()

    return render_template(
        'views/{}.html'.format(agreement_info.as_jinja_template),
        owner=agreement_info.owner,
        navigation_links=features_nav(),
    )
コード例 #5
0
ファイル: index.py プロジェクト: govau/notifications-admin
def pricing():
    return render_template(
        'views/pricing.html',
        sms_rate=0.0158,
        international_sms_rates=sorted(
            [(cc, country['names'], country['billable_units'])
             for cc, country in INTERNATIONAL_BILLING_RATES.items()],
            key=lambda x: x[0]),
        search_form=SearchTemplatesForm(),
        agreement_info=AgreementInfo.from_current_user(),
    )
コード例 #6
0
def agreement():

    agreement_info = AgreementInfo.from_current_user()

    agreement_info.crown_status_or_404

    return render_template(
        'views/agreement.html',
        owner=agreement_info.owner,
        navigation_links=features_nav(),
    )
コード例 #7
0
def submit_request_to_go_live(service_id):
    form = RequestToGoLiveForm()

    if form.validate_on_submit():
        zendesk_client.create_ticket(
            subject='Request to go live - {}'.format(current_service['name']),
            message=(
                'Service: {}\n'
                '{}\n'
                '\n---'
                '\nOrganisation type: {}'
                '\nAgreement signed: {}'
                '\nChannel: {}\nStart date: {}\nStart volume: {}'
                '\nPeak volume: {}'
                '\nFeatures: {}').format(
                    current_service['name'],
                    url_for('main.service_dashboard',
                            service_id=current_service['id'],
                            _external=True),
                    current_service['organisation_type'],
                    AgreementInfo.from_current_user().as_human_readable,
                    formatted_list(filter(None, (
                        'email' if form.channel_email.data else None,
                        'text messages' if form.channel_sms.data else None,
                        'letters' if form.channel_letter.data else None,
                    )),
                                   before_each='',
                                   after_each=''), form.start_date.data,
                    form.start_volume.data, form.peak_volume.data,
                    formatted_list(filter(None, (
                        'one off' if form.method_one_off.data else None,
                        'file upload' if form.method_upload.data else None,
                        'API' if form.method_api.data else None,
                    )),
                                   before_each='',
                                   after_each='')),
            ticket_type=zendesk_client.TYPE_QUESTION,
            user_email=current_user.email_address,
            user_name=current_user.name)

        flash(
            'Thanks for your request to go live. We’ll get back to you within one working day.',
            'default')
        return redirect(url_for('.service_settings', service_id=service_id))

    return render_template(
        'views/service-settings/submit-request-to-go-live.html', form=form)
コード例 #8
0
def public_agreement(variant):

    if variant not in {'crown', 'non-crown'}:
        abort(404)

    if request.endpoint == 'main.public_download_agreement':
        return send_file(**get_mou(
            organisation_is_crown=(variant == 'crown')
        ))

    agreement_info = AgreementInfo.from_current_user()

    return render_template(
        'views/agreement-public.html',
        owner=agreement_info.owner,
        download_link=url_for('.public_download_agreement', variant=variant),
    )
コード例 #9
0
def submit_request_to_go_live(service_id):
    form = RequestToGoLiveForm()

    if form.validate_on_submit():
        try:
            deskpro_client.create_ticket(
                subject='Request to go live - {}'.format(current_service['name']),
                message=(
                    'On behalf of {} ({})\n'
                    '\n---'
                    '\nOrganisation type: {}'
                    '\nAgreement signed: {}'
                    '\nChannel: {}\nStart date: {}\nStart volume: {}'
                    '\nPeak volume: {}'
                    '\nFeatures: {}'
                ).format(
                    current_service['name'],
                    url_for('main.service_dashboard', service_id=current_service['id'], _external=True),
                    current_service['organisation_type'],
                    AgreementInfo.from_current_user().as_human_readable,
                    formatted_list(filter(None, (
                        'email' if form.channel_email.data else None,
                        'text messages' if form.channel_sms.data else None,
                        'letters' if form.channel_letter.data else None,
                    )), before_each='', after_each=''),
                    form.start_date.data,
                    form.start_volume.data,
                    form.peak_volume.data,
                    formatted_list(filter(None, (
                        'one off' if form.method_one_off.data else None,
                        'file upload' if form.method_upload.data else None,
                        'API' if form.method_api.data else None,
                    )), before_each='', after_each='')
                ),
                user_email=current_user.email_address,
                user_name=current_user.name
            )
        except DeskproError:
            abort(500, "Request to go live submission failed")

        flash('We’ve received your request to go live', 'default')
        return redirect(url_for('.service_settings', service_id=service_id))

    return render_template('views/service-settings/submit-request-to-go-live.html', form=form)
コード例 #10
0
ファイル: index.py プロジェクト: govau/notifications-admin
def terms():
    return render_template(
        'views/terms-of-use.html',
        navigation_links=features_nav(),
        agreement_info=AgreementInfo.from_current_user(),
    )
コード例 #11
0
def download_agreement():
    return send_file(
        **get_mou(AgreementInfo.from_current_user().crown_status_or_404))