Пример #1
0
def view_job(service_id, job_id):
    job = Job.from_id(job_id, service_id=current_service.id)
    if job.cancelled:
        abort(404)

    filter_args = parse_filter_args(request.args)
    filter_args['status'] = set_status_filters(filter_args)

    just_sent_message = 'Your {} been sent. Printing starts {} at 5:30pm.'.format(
        'letter has' if job.notification_count == 1 else 'letters have',
        printing_today_or_tomorrow(job.created_at))

    return render_template(
        'views/jobs/job.html',
        job=job,
        status=request.args.get('status', ''),
        updates_url=url_for(
            ".view_job_updates",
            service_id=service_id,
            job_id=job.id,
            status=request.args.get('status', ''),
        ),
        partials=get_job_partials(job),
        just_sent=request.args.get('just_sent') == 'yes',
        just_sent_message=just_sent_message,
    )
def get_letter_printing_statement(status, created_at):
    created_at_dt = parser.parse(created_at).replace(tzinfo=None)

    if letter_can_be_cancelled(status, created_at_dt):
        return 'Printing starts {} at 5:30pm'.format(
            printing_today_or_tomorrow())
    else:
        printed_datetime = utc_string_to_aware_gmt_datetime(
            created_at) + timedelta(hours=6, minutes=30)
        printed_date = _format_datetime_short(printed_datetime)

        return 'Printed on {}'.format(printed_date)
Пример #3
0
def view_job(service_id, job_id):
    job = job_api_client.get_job(service_id, job_id)["data"]
    if job["job_status"] == "cancelled":
        abort(404)

    filter_args = parse_filter_args(request.args)
    filter_args["status"] = set_status_filters(filter_args)

    total_notifications = job.get("notification_count", 0)
    processed_notifications = job.get("notifications_delivered", 0) + job.get(
        "notifications_failed", 0)

    template = service_api_client.get_service_template(
        service_id=service_id,
        template_id=job["template"],
        version=job["template_version"],
    )["data"]

    just_sent_message = "Your {} been sent. Printing starts {} at 5:30pm.".format(
        "letter has" if job["notification_count"] == 1 else "letters have",
        printing_today_or_tomorrow(),
    )
    partials = get_job_partials(job, template)
    can_cancel_letter_job = partials["can_letter_job_be_cancelled"]

    return render_template(
        "views/jobs/job.html",
        finished=(total_notifications == processed_notifications),
        uploaded_file_name=job["original_file_name"],
        template_id=job["template"],
        job_id=job_id,
        status=request.args.get("status", ""),
        updates_url=url_for(
            ".view_job_updates",
            service_id=service_id,
            job_id=job["id"],
            status=request.args.get("status", ""),
        ),
        partials=partials,
        just_sent=bool(
            request.args.get("just_sent") == "yes"
            and template["template_type"] == "letter"),
        just_sent_message=just_sent_message,
        can_cancel_letter_job=can_cancel_letter_job,
    )
Пример #4
0
def view_job(service_id, job_id):
    job = job_api_client.get_job(service_id, job_id)['data']
    if job['job_status'] == 'cancelled':
        abort(404)

    filter_args = parse_filter_args(request.args)
    filter_args['status'] = set_status_filters(filter_args)

    total_notifications = job.get('notification_count', 0)
    processed_notifications = job.get('notifications_delivered', 0) + job.get('notifications_failed', 0)

    template = service_api_client.get_service_template(
        service_id=service_id,
        template_id=job['template'],
        version=job['template_version']
    )['data']

    just_sent_message = 'Your {} been sent. Printing starts {} at 5:30pm.'.format(
        'letter has' if job['notification_count'] == 1 else 'letters have',
        printing_today_or_tomorrow()
    )
    partials = get_job_partials(job, template)
    can_cancel_letter_job = partials["can_letter_job_be_cancelled"]

    return render_template(
        'views/jobs/job.html',
        finished=(total_notifications == processed_notifications),
        uploaded_file_name=job['original_file_name'],
        template_id=job['template'],
        job_id=job_id,
        status=request.args.get('status', ''),
        updates_url=url_for(
            ".view_job_updates",
            service_id=service_id,
            job_id=job['id'],
            status=request.args.get('status', ''),
        ),
        partials=partials,
        just_sent=bool(
            request.args.get('just_sent') == 'yes'
            and template['template_type'] == 'letter'
        ),
        just_sent_message=just_sent_message,
        can_cancel_letter_job=can_cancel_letter_job,
    )
Пример #5
0
def test_printing_today_or_tomorrow_returns_tomorrow(datetime):
    with freeze_time(datetime):
        assert printing_today_or_tomorrow() == 'tomorrow'
Пример #6
0
def test_printing_today_or_tomorrow_returns_today(utc_datetime):
    with freeze_time(utc_datetime):
        assert printing_today_or_tomorrow() == "today"