diff --git a/ietf/group/migrations/0009_auto_20150930_0758.py b/ietf/group/migrations/0009_auto_20150930_0758.py index e84626a50..2071cc898 100644 --- a/ietf/group/migrations/0009_auto_20150930_0758.py +++ b/ietf/group/migrations/0009_auto_20150930_0758.py @@ -109,6 +109,7 @@ class Migration(migrations.Migration): dependencies = [ ('doc', '0010_auto_20150930_0251'), ('group', '0008_auto_20160505_0523'), + ('community', '0004_cleanup_data'), ] operations = [ diff --git a/ietf/meeting/migrations/0036_add_order_to_sessionpresentation.py b/ietf/meeting/migrations/0036_add_order_to_sessionpresentation.py new file mode 100644 index 000000000..0388eef09 --- /dev/null +++ b/ietf/meeting/migrations/0036_add_order_to_sessionpresentation.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +import debug # pyflakes:ignore + +from django.db import models, migrations + +def forward(apps, schema_editor): + SessionPresentation = apps.get_model("meeting","SessionPresentation") + for sp in SessionPresentation.objects.filter(document__type__slug='slides',session__meeting__number__in=['95','96']): + sp.order = int(sp.document.name.split('-')[-1]) + sp.save() + +def reverse(apps, schema_editor): + pass + +class Migration(migrations.Migration): + + dependencies = [ + ('meeting', '0035_auto_20160818_1610'), + ] + + operations = [ + migrations.AddField( + model_name='sessionpresentation', + name='order', + field=models.PositiveSmallIntegerField(default=0), + preserve_default=True, + ), + migrations.RunPython(forward,reverse) + ] diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index efcddd629..e37d435de 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -959,6 +959,7 @@ class SessionPresentation(models.Model): session = models.ForeignKey('Session') document = models.ForeignKey(Document) rev = models.CharField(verbose_name="revision", max_length=16, null=True, blank=True) + order = models.PositiveSmallIntegerField(default=0) class Meta: db_table = 'meeting_session_materials' diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 94fe57d3e..42c7f0884 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1022,9 +1022,16 @@ def session_details(request, num, acronym ): else: session.time = session.status.name + session.filtered_artifacts = session.sessionpresentation_set.filter(document__type__slug__in=['agenda','minutes','bluesheets']) + session.filtered_slides = session.sessionpresentation_set.filter(document__type__slug='slides').order_by('order') + session.filtered_drafts = session.sessionpresentation_set.filter(document__type__slug='draft') # TODO FIXME Deleted materials shouldn't be in the sessionpresentation_set - session.filtered_sessionpresentation_set = [p for p in session.sessionpresentation_set.all() if p.document.get_state_slug(p.document.type_id)!='deleted'] - type_counter.update([p.document.type.slug for p in session.filtered_sessionpresentation_set]) + for qs in [session.filtered_artifacts,session.filtered_slides,session.filtered_drafts]: + qs = [p for p in qs if p.document.get_state_slug(p.document.type_id)!='deleted'] + type_counter.update([p.document.type.slug for p in qs]) + + #session.filtered_sessionpresentation_set = [p for p in session.sessionpresentation_set.all() if p.document.get_state_slug(p.document.type_id)!='deleted'] + #type_counter.update([p.document.type.slug for p in session.filtered_sessionpresentation_set]) can_manage = can_manage_materials(request.user, Group.objects.get(acronym=acronym)) diff --git a/ietf/templates/meeting/session_details.html b/ietf/templates/meeting/session_details.html index 0a3cc674f..a6f4f3abf 100644 --- a/ietf/templates/meeting/session_details.html +++ b/ietf/templates/meeting/session_details.html @@ -10,6 +10,7 @@ {% for session in sessions %}

{% if sessions|length > 1 %}Session {{ forloop.counter }} : {% endif %}{{ session.time }}{% if session.name %} : {{ session.name }}{% endif %}

+ {% if session.agenda_note %}

{{session.agenda_note}}

{% endif %} {% if can_manage_materials %} {% if session.status.slug == 'sched' or session.status.slug == 'schedw' %} @@ -33,30 +34,73 @@ {% endif %} {% endif %} - {% if session.filtered_sessionpresentation_set %} -
-
Materials:
-
- - {% for pres in session.filtered_sessionpresentation_set %} - {% if pres.document.type_id != 'bluesheets' and pres.document.type_id != 'recording' %} - - - - {% endif %} - {% endfor %} -
- {% if pres.rev %} - {% url 'doc_view' name=pres.document.name rev=pres.rev as url %} - {% else %} - {% url 'doc_view' name=pres.document.name as url %} - {% endif %} - {{pres.document.title}} ({{ pres.document.name }}{% if pres.rev %}-{{ pres.rev }}{% endif %}) - -
-
-
- {% endif %} + {% if session.filtered_artifacts %} +
+
Artifacts
+
+ + {% for pres in session.filtered_artifacts %} + + + + {% endfor %} +
+ {% if pres.rev %} + {% url 'doc_view' name=pres.document.name rev=pres.rev as url %} + {% else %} + {% url 'doc_view' name=pres.document.name as url %} + {% endif %} + {{pres.document.title}} ({{ pres.document.name }}{% if pres.rev %}-{{ pres.rev }}{% endif %}) + +
+
+
+ {% endif %} + {% if session.filtered_slides %} +
+
Slides
+
+ + {% for pres in session.filtered_slides %} + + + + {% endfor %} +
+ {% if pres.rev %} + {% url 'doc_view' name=pres.document.name rev=pres.rev as url %} + {% else %} + {% url 'doc_view' name=pres.document.name as url %} + {% endif %} + {{pres.document.title}} ({{ pres.document.name }}{% if pres.rev %}-{{ pres.rev }}{% endif %}) + +
+
+
+ {% endif %} + {% if session.filtered_drafts %} +
+
Drafts
+
+ + {% for pres in session.filtered_drafts %} + + + + {% endfor %} +
+ {% if pres.rev %} + {% url 'doc_view' name=pres.document.name rev=pres.rev as url %} + {% else %} + {% url 'doc_view' name=pres.document.name as url %} + {% endif %} + {{pres.document.title}} ({{ pres.document.name }}{% if pres.rev %}-{{ pres.rev }}{% endif %}) + +
+
+
+ {% endif %} + {% endfor %} {% endblock %}