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)
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, )
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, )
def test_printing_today_or_tomorrow_returns_tomorrow(datetime): with freeze_time(datetime): assert printing_today_or_tomorrow() == 'tomorrow'
def test_printing_today_or_tomorrow_returns_today(utc_datetime): with freeze_time(utc_datetime): assert printing_today_or_tomorrow() == "today"