From 080f6b438507352387119db9ccfcb276e3321dcb Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Wed, 18 Apr 2018 13:15:30 +0000 Subject: [PATCH] Added group links to the past meetings page, and also important dates links to IETF meetings with important-date pages. - Legacy-Id: 15053 --- ietf/review/utils.py | 6 ++--- ietf/stats/views.py | 42 +++++++++++++++++--------------- ietf/templates/meeting/past.html | 14 ++++++++++- 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/ietf/review/utils.py b/ietf/review/utils.py index ee06f118e..313ca63b2 100644 --- a/ietf/review/utils.py +++ b/ietf/review/utils.py @@ -231,7 +231,7 @@ def extract_review_request_data(teams=None, reviewers=None, time_from=None, time yield d -def aggregate_raw_review_request_stats(review_request_data, count=None): +def aggregate_raw_period_review_request_stats(review_request_data, count=None): """Take a sequence of review request data from extract_review_request_data and aggregate them.""" @@ -261,8 +261,8 @@ def aggregate_raw_review_request_stats(review_request_data, count=None): return state_dict, late_state_dict, result_dict, assignment_to_closure_days_list, assignment_to_closure_days_count -def compute_review_request_stats(raw_aggregation): - """Compute statistics from aggregated review request data.""" +def sum_period_review_request_stats(raw_aggregation): + """Compute statistics from aggregated review request data for one aggregation point.""" state_dict, late_state_dict, result_dict, assignment_to_closure_days_list, assignment_to_closure_days_count = raw_aggregation res = {} diff --git a/ietf/stats/views.py b/ietf/stats/views.py index a06b597de..135d32473 100644 --- a/ietf/stats/views.py +++ b/ietf/stats/views.py @@ -19,9 +19,9 @@ from django.utils.safestring import mark_safe import debug # pyflakes:ignore from ietf.review.utils import (extract_review_request_data, - aggregate_raw_review_request_stats, + aggregate_raw_period_review_request_stats, ReviewRequestData, - compute_review_request_stats, + sum_period_review_request_stats, sum_raw_review_request_aggregations) from ietf.submit.models import Submission from ietf.group.models import Role, Group @@ -1150,8 +1150,8 @@ def review_stats(request, stats_type=None, acronym=None): found_states = set() aggrs = [] for d, request_data_items in itertools.groupby(extracted_data, key=time_key_fn): - raw_aggr = aggregate_raw_review_request_stats(request_data_items, count=count) - aggr = compute_review_request_stats(raw_aggr) + raw_aggr = aggregate_raw_period_review_request_stats(request_data_items, count=count) + aggr = sum_period_review_request_stats(raw_aggr) aggrs.append((d, aggr)) @@ -1192,20 +1192,22 @@ def review_stats(request, stats_type=None, acronym=None): selected_completion_type = "completed_in_time" series_data = [] - for d, aggr in aggrs: - v = 0 - if selected_completion_type is not None: - v = aggr[selected_completion_type] - elif selected_result is not None: - v = aggr["result"][selected_result] - elif selected_state is not None: - v = aggr["state"][selected_state] + if selected_completion_type == "completed_combined": + pass + else: + for d, aggr in aggrs: + v = 0 + if selected_completion_type is not None: + v = aggr[selected_completion_type] + elif selected_result is not None: + v = aggr["result"][selected_result] + elif selected_state is not None: + v = aggr["state"][selected_state] - series_data.append((calendar.timegm(d.timetuple()) * 1000, v)) - - data = json.dumps([{ - "data": series_data - }]) + series_data.append((calendar.timegm(d.timetuple()) * 1000, v)) + data = json.dumps([{ + "data": series_data + }]) else: # tabular data extracted_data = extract_review_request_data(query_teams, query_reviewers, from_time, to_time, ordering=[level]) @@ -1216,10 +1218,10 @@ def review_stats(request, stats_type=None, acronym=None): found_states = set() raw_aggrs = [] for group_pk, request_data_items in itertools.groupby(extracted_data, key=lambda t: t[group_by_index]): - raw_aggr = aggregate_raw_review_request_stats(request_data_items, count=count) + raw_aggr = aggregate_raw_period_review_request_stats(request_data_items, count=count) raw_aggrs.append(raw_aggr) - aggr = compute_review_request_stats(raw_aggr) + aggr = sum_period_review_request_stats(raw_aggr) # skip zero-valued rows if aggr["open"] == 0 and aggr["completed"] == 0 and aggr["not_completed"] == 0: @@ -1236,7 +1238,7 @@ def review_stats(request, stats_type=None, acronym=None): # add totals row if len(raw_aggrs) > 1: - totals = compute_review_request_stats(sum_raw_review_request_aggregations(raw_aggrs)) + totals = sum_period_review_request_stats(sum_raw_review_request_aggregations(raw_aggrs)) totals["obj"] = "Totals" data.append(totals) diff --git a/ietf/templates/meeting/past.html b/ietf/templates/meeting/past.html index 9a1e150b7..c0e88174b 100644 --- a/ietf/templates/meeting/past.html +++ b/ietf/templates/meeting/past.html @@ -100,7 +100,9 @@ {% endif %} {{ meeting.date }} {% if meeting.type.slug == 'interim' %} - {{ meeting.session_set.all.0.group.acronym }} + + {{ meeting.session_set.all.0.group.acronym }} + {% else %} ietf {% endif %} @@ -111,6 +113,16 @@ IETF - {{ meeting.number }} {% endif %} + + + {% if meeting.type.slug == "interim" %} + {% else %} + {% if meeting.get_number > 97 %} + Important dates + {% endif %} + {% endif %} + + {% endfor %}