refactored all_meeting_ functions on session. Improved (with a hack) how recordings are displayed.
- Legacy-Id: 11755
This commit is contained in:
parent
be0ac54535
commit
2ff54a963b
|
@ -1019,25 +1019,28 @@ class Session(models.Model):
|
|||
def drafts(self):
|
||||
return list(self.materials.filter(type='draft'))
|
||||
|
||||
def all_meeting_sessions_for_group(self):
|
||||
sessions = [s for s in self.meeting.session_set.filter(group=self.group,type=self.type) if s.official_timeslotassignment()]
|
||||
return sorted(sessions, key = lambda x: x.official_timeslotassignment().timeslot.time)
|
||||
|
||||
def all_meeting_recordings(self):
|
||||
recordings = []
|
||||
sessions = sorted(self.meeting.session_set.filter(group=self.group),
|
||||
key = lambda x: x.official_timeslotassignment().timeslot.time)
|
||||
sessions = self.all_meeting_sessions_for_group()
|
||||
for session in sessions:
|
||||
recordings.extend(session.recordings())
|
||||
return recordings
|
||||
|
||||
def all_meeting_bluesheets(self):
|
||||
bluesheets = []
|
||||
sessions = sorted(self.meeting.session_set.filter(group=self.group),
|
||||
key = lambda x: x.official_timeslotassignment().timeslot.time)
|
||||
sessions = self.all_meeting_sessions_for_group()
|
||||
for session in sessions:
|
||||
bluesheets.extend(session.bluesheets())
|
||||
return bluesheets
|
||||
|
||||
def all_meeting_drafts(self):
|
||||
drafts = []
|
||||
for session in self.meeting.session_set.filter(group=self.group):
|
||||
sessions = self.all_meeting_sessions_for_group()
|
||||
for session in sessions:
|
||||
drafts.extend(session.drafts())
|
||||
return drafts
|
||||
|
||||
|
|
14
ietf/meeting/templatetags/proceedings_filters.py
Normal file
14
ietf/meeting/templatetags/proceedings_filters.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from django import template
|
||||
|
||||
register = template.Library()
|
||||
|
||||
@register.filter
|
||||
def hack_recording_title(recording,add_timestamp=False):
|
||||
|
||||
if recording.title.startswith('Audio recording for') or recording.title.startswith('Video recording for'):
|
||||
hacked_title = recording.title[:15]
|
||||
if add_timestamp:
|
||||
hacked_title += ' '+recording.sessionpresentation_set.first().session.official_timeslotassignment().timeslot.time.strftime("%a %H:%M")
|
||||
return hacked_title
|
||||
else:
|
||||
return recording.title
|
|
@ -1,5 +1,6 @@
|
|||
{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %}
|
||||
{% load ietf_filters %}
|
||||
{% load proceedings_filters %}
|
||||
<tr>
|
||||
<td>
|
||||
{% comment %}
|
||||
|
@ -47,9 +48,15 @@
|
|||
|
||||
</td>
|
||||
<td>
|
||||
{% for rec in session.all_meeting_recordings %}
|
||||
<a href="{{rec.get_absolute_url}}">{{rec.title}}</a><br>
|
||||
{% endfor %}
|
||||
{% if session.all_meeting_sessions_for_group|length == 1 %}
|
||||
{% for rec in session.all_meeting_recordings %}
|
||||
<a href="{{rec.get_absolute_url}}">{{rec|hack_recording_title:False}}</a><br>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% for rec in session.all_meeting_recordings %}
|
||||
<a href="{{rec.get_absolute_url}}">{{rec|hack_recording_title:True}}</a><br>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% with session.slides as slides %}
|
||||
|
|
Loading…
Reference in a new issue