Skip to content

Commit 224999e

Browse files
committed
Performance improvements for the proceedings page. Commit ready for merge.
- Legacy-Id: 12348
1 parent b9e3574 commit 224999e

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

ietf/meeting/models.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def get_meeting_date (self,offset):
104104
return self.date + datetime.timedelta(days=offset)
105105

106106
def end_date(self):
107-
if self.type.slug == 'ietf':
107+
if self.type_id == 'ietf':
108108
return self.get_meeting_date(5)
109109
else:
110110
# TODO: Once interims have timeslots assigned,
@@ -279,7 +279,9 @@ def updated(self):
279279
return ts
280280

281281
def previous_meeting(self):
282-
return Meeting.objects.filter(type=self.type,date__lt=self.date).order_by('-date').first()
282+
if not hasattr(self, "_previous_meeting_cache"):
283+
self._previous_meeting_cache = Meeting.objects.filter(type_id=self.type_id,date__lt=self.date).order_by('-date').first()
284+
return self._previous_meeting_cache
283285

284286
class Meta:
285287
ordering = ["-date", "id"]
@@ -1043,11 +1045,10 @@ def drafts(self):
10431045
return list(self.materials.filter(type='draft'))
10441046

10451047
def all_meeting_sessions_for_group(self):
1046-
#sessions = [s for s in self.meeting.session_set.filter(group=self.group,type=self.type) if s.official_timeslotassignment()]
1047-
#sessions = sorted(sessions, key = lambda x: x.official_timeslotassignment().timeslot.time)
1048-
assignments = self.timeslotassignments.filter(schedule=self.meeting.agenda).order_by('timeslot__time')
1049-
sessions = [ a.session for a in assignments ]
1050-
return sessions
1048+
if not hasattr(self, "_all_meeting_sessions_for_group_cache"):
1049+
assignments = self.timeslotassignments.filter(schedule_id=self.meeting.agenda_id).order_by('timeslot__time')
1050+
self._all_meeting_sessions_for_group_cache = [ a.session for a in assignments ]
1051+
return self._all_meeting_sessions_for_group_cache
10511052

10521053
def all_meeting_recordings(self):
10531054
recordings = []

ietf/templates/meeting/group_proceedings.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
<div class="anchor-target" id="{{ session.name|slugify }}">{{ session.name }}</div>
1313
{% else %}
1414
<div class="anchor-target" id="{{session.group.acronym}}"><a href="{% url 'ietf.group.views.group_home' acronym=session.group.acronym %}">{{session.group.acronym}}</a></div>
15-
{% if session.group.state.slug == "bof" %}
16-
<span class="label label-success">{{ session.group.state.slug|upper }}</span>
15+
{% if session.group.state_id == "bof" %}
16+
<span class="label label-success">BOF</span>
1717
{% endif %}
1818
{% endif %}
1919
</td>

0 commit comments

Comments
 (0)