Bring time series stats back into line with what was before. Note there was an off-by-one-day bug in the month-binning in prior releases.

- Legacy-Id: 16075
This commit is contained in:
Robert Sparks 2019-03-20 20:04:06 +00:00
parent 81c5b5091a
commit 6dc25cae1a
2 changed files with 5 additions and 4 deletions

View file

@ -180,10 +180,10 @@ def extract_review_assignment_data(teams=None, reviewers=None, time_from=None, t
filters &= Q(reviewer__person__in=reviewers)
if time_from:
filters &= Q(assigned_on__gte=time_from)
filters &= Q(review_request__time__gte=time_from)
if time_to:
filters &= Q(assigned_on__lte=time_to)
filters &= Q(review_request__time__lte=time_to)
# This doesn't do the left-outer join on docevent that the previous code did. These variables could be renamed
event_qs = ReviewAssignment.objects.filter(filters)
@ -193,7 +193,7 @@ def extract_review_assignment_data(teams=None, reviewers=None, time_from=None, t
"reviewer__person", "assigned_on", "completed_on"
)
event_qs = event_qs.order_by(*[o.replace("reviewer", "reviewer__person").replace("team","review_request__team") for o in ordering] + ["assigned_on", "pk", "completed_on"])
event_qs = event_qs.order_by(*[o.replace("reviewer", "reviewer__person").replace("team","review_request__team") for o in ordering] + ["review_request__time", "assigned_on", "pk", "completed_on"])
def positive_days(time_from, time_to):
if time_from is None or time_to is None:

View file

@ -1143,7 +1143,8 @@ def review_stats(request, stats_type=None, acronym=None):
def time_key_fn(t):
d = t[req_time_index].date()
#d -= datetime.timedelta(days=d.weekday()) # weekly
d -= datetime.timedelta(days=d.day) # monthly
# NOTE: Earlier releases had an off-by-one error here - some stat counts may move a month.
d -= datetime.timedelta(days=d.day-1) # monthly
return d
found_results = set()