Added group links to the past meetings page, and also important dates links to IETF meetings with important-date pages.

- Legacy-Id: 15053
This commit is contained in:
Henrik Levkowetz 2018-04-18 13:15:30 +00:00
parent 21969ed9d0
commit 080f6b4385
3 changed files with 38 additions and 24 deletions

View file

@ -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 = {}

View file

@ -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)

View file

@ -100,7 +100,9 @@
{% endif %}
<td>{{ meeting.date }}</td>
{% if meeting.type.slug == 'interim' %}
<td>{{ meeting.session_set.all.0.group.acronym }}</td>
<td>
<a href="{% url 'ietf.group.views.group_home' meeting.session_set.all.0.group.acronym %}">{{ meeting.session_set.all.0.group.acronym }}</a>
</td>
{% else %}
<td>ietf</td>
{% endif %}
@ -111,6 +113,16 @@
<a href="{% url 'ietf.meeting.views.agenda' num=meeting.number %}">IETF - {{ meeting.number }}</a>
{% endif %}
</td>
<td>
{% if meeting.type.slug == "interim" %}
{% else %}
{% if meeting.get_number > 97 %}
<a href="{% url 'ietf.meeting.views.important_dates' num=meeting.number %}">Important dates</a>
{% endif %}
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>