diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py
index 6df3235ab..fc435f971 100644
--- a/ietf/meeting/models.py
+++ b/ietf/meeting/models.py
@@ -996,6 +996,9 @@ class Session(models.Model):
unique_constraints_dict = None
+ def not_meeting(self):
+ return self.status_id == 'notmeet'
+
# Should work on how materials are captured so that deleted things are no longer associated with the session
# (We can keep the information about something being added to and removed from a session in the document's history)
def get_material(self, material_type, only_one):
diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py
index 53d81757f..1f41d0e4e 100644
--- a/ietf/meeting/views.py
+++ b/ietf/meeting/views.py
@@ -21,7 +21,7 @@ from django.shortcuts import render, redirect, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
from django.contrib import messages
from django.core.urlresolvers import reverse,reverse_lazy
-from django.db.models import Min, Max
+from django.db.models import Min, Max, Q
from django.conf import settings
from django.forms.models import modelform_factory, inlineformset_factory
from django.forms import ModelForm
@@ -2026,12 +2026,12 @@ def proceedings(request, num=None):
now = datetime.date.today()
schedule = get_schedule(meeting, None)
- sessions = Session.objects.filter(meeting__number=meeting.number, timeslotassignments__schedule=schedule).select_related()
- plenaries = sessions.filter(name__icontains='plenary')
+ sessions = Session.objects.filter(meeting__number=meeting.number).filter(Q(timeslotassignments__schedule=schedule)|Q(status='notmeet')).select_related().order_by('-status_id')
+ plenaries = sessions.filter(name__icontains='plenary').exclude(status='notmeet')
ietf = sessions.filter(group__parent__type__slug = 'area').exclude(group__acronym='edu')
irtf = sessions.filter(group__parent__acronym = 'irtf')
- training = sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['session', 'other', ])
- iab = sessions.filter(group__parent__acronym = 'iab')
+ training = sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['session', 'other', ]).exclude(status='notmeet')
+ iab = sessions.filter(group__parent__acronym = 'iab').exclude(status='notmeet')
cache_version = Document.objects.filter(session__meeting__number=meeting.number).aggregate(Max('time'))["time__max"]
return render(request, "meeting/proceedings.html", {
diff --git a/ietf/templates/meeting/proceedings.html b/ietf/templates/meeting/proceedings.html
index f97955a0f..04dce0082 100644
--- a/ietf/templates/meeting/proceedings.html
+++ b/ietf/templates/meeting/proceedings.html
@@ -69,26 +69,60 @@
{% regroup ietf|dictsort:"group.parent.acronym" by group.parent.name as areas %}
{% for sessions in areas %}
-
{{sessions.list.0.group.parent.acronym|upper}} {{ sessions.grouper }}
-
-
-
- Group |
- Artifacts |
- Recordings |
- Slides |
- Drafts |
-
-
-
-
- {% for session in sessions.list|dictsort:"group.acronym" %}
- {% ifchanged session.group.acronym %}
- {% include "meeting/group_proceedings.html" %}
- {% endifchanged %}
- {% endfor %}
-
-
+ {% for sessions in areas %}
+ {{sessions.list.0.group.parent.acronym|upper}} {{ sessions.grouper }}
+ {% regroup sessions.list by not_meeting as meet_or_not %}
+ {% for batch in meet_or_not %}
+ {% if not batch.grouper %}
+
+
+
+ Group |
+ Artifacts |
+ Recordings |
+ Slides |
+ Drafts |
+
+
+
+ {% for session in batch.list|dictsort:"group.acronym" %}
+ {% ifchanged session.group.acronym %}
+ {% include "meeting/group_proceedings.html" %}
+ {% endifchanged %}
+ {% endfor %}
+
+
+ {% else %}
+ {{sessions.grouper }} groups not meeting:
+ {% for session in batch.list|dictsort:"group.acronym" %}
+ {% ifchanged session.group.acronym %}
+ {{session.group.acronym}}{% if not forloop.last %},{% endif %}
+ {% endifchanged %}
+ {% endfor %}
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+ {% for session in batch.list|dictsort:"group.acronym" %}
+ {% ifchanged session.group.acronym %}
+ {% if session.sessionpresentation_set.exists %}
+ {% include "meeting/group_proceedings.html" %}
+ {% endif %}
+ {% endifchanged %}
+ {% endfor %}
+
+
+ {% endif %}
+ {% endfor %}
+ {% endfor %}
{% endfor %}