Skip to content

Commit 467ec82

Browse files
committed
Added groups that did not meet to the proceedings. Commit ready for merge.
- Legacy-Id: 12329
1 parent ca0980a commit 467ec82

3 files changed

Lines changed: 62 additions & 25 deletions

File tree

ietf/meeting/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -996,6 +996,9 @@ class Session(models.Model):
996996

997997
unique_constraints_dict = None
998998

999+
def not_meeting(self):
1000+
return self.status_id == 'notmeet'
1001+
9991002
# Should work on how materials are captured so that deleted things are no longer associated with the session
10001003
# (We can keep the information about something being added to and removed from a session in the document's history)
10011004
def get_material(self, material_type, only_one):

ietf/meeting/views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
2222
from django.contrib import messages
2323
from django.core.urlresolvers import reverse,reverse_lazy
24-
from django.db.models import Min, Max
24+
from django.db.models import Min, Max, Q
2525
from django.conf import settings
2626
from django.forms.models import modelform_factory, inlineformset_factory
2727
from django.forms import ModelForm
@@ -2026,12 +2026,12 @@ def proceedings(request, num=None):
20262026
now = datetime.date.today()
20272027

20282028
schedule = get_schedule(meeting, None)
2029-
sessions = Session.objects.filter(meeting__number=meeting.number, timeslotassignments__schedule=schedule).select_related()
2030-
plenaries = sessions.filter(name__icontains='plenary')
2029+
sessions = Session.objects.filter(meeting__number=meeting.number).filter(Q(timeslotassignments__schedule=schedule)|Q(status='notmeet')).select_related().order_by('-status_id')
2030+
plenaries = sessions.filter(name__icontains='plenary').exclude(status='notmeet')
20312031
ietf = sessions.filter(group__parent__type__slug = 'area').exclude(group__acronym='edu')
20322032
irtf = sessions.filter(group__parent__acronym = 'irtf')
2033-
training = sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['session', 'other', ])
2034-
iab = sessions.filter(group__parent__acronym = 'iab')
2033+
training = sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['session', 'other', ]).exclude(status='notmeet')
2034+
iab = sessions.filter(group__parent__acronym = 'iab').exclude(status='notmeet')
20352035

20362036
cache_version = Document.objects.filter(session__meeting__number=meeting.number).aggregate(Max('time'))["time__max"]
20372037
return render(request, "meeting/proceedings.html", {

ietf/templates/meeting/proceedings.html

Lines changed: 54 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -69,26 +69,60 @@ <h2 class="anchor-target" id="plenaries">Plenaries</h2>
6969
<!-- Working groups -->
7070
{% regroup ietf|dictsort:"group.parent.acronym" by group.parent.name as areas %}
7171
{% for sessions in areas %}
72-
<h2 class="anchor-target" id="{{sessions.list.0.group.parent.acronym}}">{{sessions.list.0.group.parent.acronym|upper}} <small>{{ sessions.grouper }}</small></h2>
73-
<table class="table table-condensed table-striped tablesorter">
74-
<thead>
75-
<tr>
76-
<th class="col-md-1">Group</th>
77-
<th class="col-md-1">Artifacts</th>
78-
<th class="col-md-2">Recordings</th>
79-
<th class="col-md-4">Slides</th>
80-
<th class="col-md-3">Drafts</th>
81-
</tr>
82-
</thead>
83-
84-
<tbody>
85-
{% for session in sessions.list|dictsort:"group.acronym" %}
86-
{% ifchanged session.group.acronym %}
87-
{% include "meeting/group_proceedings.html" %}
88-
{% endifchanged %}
89-
{% endfor %}
90-
</tbody>
91-
</table>
72+
{% for sessions in areas %}
73+
<h2 class="anchor-target" id="{{sessions.list.0.group.parent.acronym}}">{{sessions.list.0.group.parent.acronym|upper}} <small>{{ sessions.grouper }}</small></h2>
74+
{% regroup sessions.list by not_meeting as meet_or_not %}
75+
{% for batch in meet_or_not %}
76+
{% if not batch.grouper %}
77+
<table class="table table-condensed table-striped tablesorter">
78+
<thead>
79+
<tr>
80+
<th class="col-md-1">Group</th>
81+
<th class="col-md-1">Artifacts</th>
82+
<th class="col-md-2">Recordings</th>
83+
<th class="col-md-4">Slides</th>
84+
<th class="col-md-3">Drafts</th>
85+
</tr>
86+
</thead>
87+
<tbody>
88+
{% for session in batch.list|dictsort:"group.acronym" %}
89+
{% ifchanged session.group.acronym %}
90+
{% include "meeting/group_proceedings.html" %}
91+
{% endifchanged %}
92+
{% endfor %}
93+
</tbody>
94+
</table>
95+
{% else %}
96+
<p><small>{{sessions.grouper }} groups not meeting: </small>
97+
{% for session in batch.list|dictsort:"group.acronym" %}
98+
{% ifchanged session.group.acronym %}
99+
<a href="{% url 'ietf.group.views.group_home' acronym=session.group.acronym %}">{{session.group.acronym}}</a>{% if not forloop.last %},{% endif %}
100+
{% endifchanged %}
101+
{% endfor %}
102+
</p>
103+
<table class="table table-condensed table-striped">
104+
<thead>
105+
<tr>
106+
<th class="col-md-1">&nbsp;</th>
107+
<th class="col-md-1">&nbsp;</th>
108+
<th class="col-md-2">&nbsp;</th>
109+
<th class="col-md-4">&nbsp;</th>
110+
<th class="col-md-3">&nbsp;</th>
111+
</tr>
112+
</thead>
113+
<tbody>
114+
{% for session in batch.list|dictsort:"group.acronym" %}
115+
{% ifchanged session.group.acronym %}
116+
{% if session.sessionpresentation_set.exists %}
117+
{% include "meeting/group_proceedings.html" %}
118+
{% endif %}
119+
{% endifchanged %}
120+
{% endfor %}
121+
</tbody>
122+
</table>
123+
{% endif %}
124+
{% endfor %}
125+
{% endfor %}
92126
{% endfor %}
93127

94128
<!-- Training Sessions -->

0 commit comments

Comments
 (0)