Make ‘Available for…’ text on job page relative

When we say ‘delivery information is available for 7 days’ you have to
infer _when_ the seven days starts. When you come back to the page it
still says ‘available for 7 days’ even if you only have a day left to
download it. This is confusing.

This commit changes the text to be relative to now, eg ‘available for 7
days’, ‘available for 1 day’.

The date is counted to midnight on the seventh day, which is when the
data is actually deleted.
This commit is contained in:
Chris Hill-Scott
2016-07-18 09:05:00 +01:00
parent 52d5841bbe
commit 9a5fbca707
5 changed files with 19 additions and 6 deletions

View File

@@ -1,6 +1,9 @@
# -*- coding: utf-8 -*-
import time
import dateutil
from datetime import datetime, timedelta, timezone
import ago
from flask import (
render_template,
@@ -296,7 +299,6 @@ def _get_job_counts(job, help_argument):
def get_job_partials(job):
filter_args = _parse_filter_args(request.args)
_set_status_filters(filter_args)
return {
@@ -317,7 +319,17 @@ def get_job_partials(job):
job_id=job['id'],
status=request.args.get('status', '')
),
help=get_help_argument()
help=get_help_argument(),
time_left=ago.human(
(
datetime.now(timezone.utc).replace(hour=23, minute=59, second=59)
) - (
dateutil.parser.parse(job['created_at']) + timedelta(days=8)
),
future_tense='Data available for {}',
past_tense='Was available {} ago', # No-one should ever see this
precision=1
)
),
'status': render_template(
'partials/jobs/status.html',