Ejemplo n.º 1
0
def usage(service_id):
    try:
        year = int(request.args.get('year', 2016))
    except ValueError:
        abort(404)
    return render_template(
        'views/usage.html',
        months=get_free_paid_breakdown_for_billable_units(
            year, service_api_client.get_billable_units(service_id, year)),
        year=year,
        **calculate_usage(
            service_api_client.get_service_usage(service_id)['data']))
Ejemplo n.º 2
0
def usage(service_id):
    try:
        year = int(request.args.get('year', 2016))
    except ValueError:
        abort(404)
    return render_template(
        'views/usage.html',
        months=get_free_paid_breakdown_for_billable_units(
            year, service_api_client.get_billable_units(service_id, year)
        ),
        year=year,
        **calculate_usage(service_api_client.get_service_usage(service_id)['data'])
    )
Ejemplo n.º 3
0
def get_dashboard_partials(service_id):
    # all but scheduled and cancelled
    statuses_to_display = job_api_client.JOB_STATUSES - {
        'scheduled', 'cancelled'
    }

    template_statistics = aggregate_usage(
        template_statistics_client.get_template_statistics_for_service(
            service_id, limit_days=7))

    scheduled_jobs = sorted(job_api_client.get_jobs(service_id,
                                                    statuses=['scheduled'
                                                              ])['data'],
                            key=lambda job: job['scheduled_for'])
    immediate_jobs = [
        add_rate_to_job(job) for job in job_api_client.get_jobs(
            service_id, limit_days=7, statuses=statuses_to_display)['data']
    ]
    service = service_api_client.get_detailed_service(service_id)

    return {
        'upcoming':
        render_template('views/dashboard/_upcoming.html',
                        scheduled_jobs=scheduled_jobs),
        'totals':
        render_template('views/dashboard/_totals.html',
                        service_id=service_id,
                        statistics=get_dashboard_totals(
                            service['data']['statistics'])),
        'template-statistics':
        render_template(
            'views/dashboard/template-statistics.html',
            template_statistics=template_statistics,
            most_used_template_count=max(
                [row['count'] for row in template_statistics] or [0]),
        ),
        'has_template_statistics':
        bool(template_statistics),
        'jobs':
        render_template('views/dashboard/_jobs.html', jobs=immediate_jobs),
        'has_jobs':
        bool(immediate_jobs),
        'usage':
        render_template(
            'views/dashboard/_usage.html',
            **calculate_usage(
                service_api_client.get_service_usage(service_id)['data'])),
    }
Ejemplo n.º 4
0
def get_dashboard_partials(service_id):
    # all but scheduled and cancelled
    statuses_to_display = job_api_client.JOB_STATUSES - {'scheduled', 'cancelled'}

    template_statistics = aggregate_usage(
        template_statistics_client.get_template_statistics_for_service(service_id, limit_days=7)
    )

    scheduled_jobs = sorted(
        job_api_client.get_jobs(service_id, statuses=['scheduled'])['data'],
        key=lambda job: job['scheduled_for']
    )
    immediate_jobs = [
        add_rate_to_job(job)
        for job in job_api_client.get_jobs(service_id, limit_days=7, statuses=statuses_to_display)['data']
    ]
    service = service_api_client.get_detailed_service(service_id)

    return {
        'upcoming': render_template(
            'views/dashboard/_upcoming.html',
            scheduled_jobs=scheduled_jobs
        ),
        'totals': render_template(
            'views/dashboard/_totals.html',
            service_id=service_id,
            statistics=get_dashboard_totals(service['data']['statistics'])
        ),
        'template-statistics': render_template(
            'views/dashboard/template-statistics.html',
            template_statistics=template_statistics,
            most_used_template_count=max(
                [row['count'] for row in template_statistics] or [0]
            ),
        ),
        'has_template_statistics': bool(template_statistics),
        'jobs': render_template(
            'views/dashboard/_jobs.html',
            jobs=immediate_jobs
        ),
        'has_jobs': bool(immediate_jobs),
        'usage': render_template(
            'views/dashboard/_usage.html',
            **calculate_usage(service_api_client.get_service_usage(service_id)['data'])
        ),
    }
Ejemplo n.º 5
0
def get_dashboard_partials(service_id):

    template_statistics = aggregate_usage(
        template_statistics_client.get_template_statistics_for_service(service_id, limit_days=7)
    )

    jobs = add_rate_to_jobs(filter(
        lambda job: job['original_file_name'] != current_app.config['TEST_MESSAGE_FILENAME'],
        job_api_client.get_job(service_id, limit_days=7)['data']
    ))
    service = service_api_client.get_detailed_service(service_id)

    return {
        'totals': render_template(
            'views/dashboard/_totals.html',
            service_id=service_id,
            statistics=get_dashboard_totals(service['data']['statistics'])
        ),
        'template-statistics': render_template(
            'views/dashboard/template-statistics.html',
            template_statistics=template_statistics,
            most_used_template_count=max(
                [row['usage_count'] for row in template_statistics] or [0]
            ),
        ),
        'has_template_statistics': bool(template_statistics),
        'jobs': render_template(
            'views/dashboard/_jobs.html',
            jobs=jobs
        ),
        'has_jobs': bool(jobs),
        'usage': render_template(
            'views/dashboard/_usage.html',
            **calculate_usage(service_api_client.get_service_usage(service_id)['data'])
        ),
    }
Ejemplo n.º 6
0
def usage(service_id):
    return render_template(
        'views/usage.html',
        **calculate_usage(service_api_client.get_service_usage(service_id)['data'])
    )