From 63fb17f4fd50a680049dfd816a6f93b3d0e78912 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Wed, 16 May 2007 06:32:53 +0000 Subject: [PATCH] Changeset [133] needs a patched Django to work. Rather than requiring patches to Django, work around this in our code. Sort the session list with Python code, rather than doing it as part of the query. Since the session list is very short, there is no problem with memory consumption in doing it this way. - Legacy-Id: 136 Note: SVN reference [133] has been migrated to Git commit 587d2baafe591703a641c6886d451f382323e81d --- ietf/meeting/views.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 154039ad7..33143ef5e 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -13,10 +13,11 @@ def default(request): def showlist(request): """Display a list of existing disclosures""" - return list(request, 'meeting/list.html') + return meeting_list(request, 'meeting/list.html') -def list(request, template): +# don't hide Python's builtin list creation -- call this something else than 'list()' +def meeting_list(request, template): """ Get A List of All Meetings That are in the system """ meetings = Meeting.objects.all() @@ -36,7 +37,15 @@ def show_html_agenda(request, meeting_num=None): meetingvenue_info=MeetingVenue.objects.filter(meeting_num=meeting_num)[0] queryset_list=MeetingTime.objects.filter(meeting=meeting_num).exclude(day_id=0).order_by("day_id","time_desc") #queryset_list=WgMeetingSession.objects.filter(meeting_num=meeting_num, group_acronym_id > -3) - queryset_list_sun=WgMeetingSession.objects.filter(meeting=meeting_num, sched_time_id1__day_id=0).order_by('sched_time_id1__time_desc') + + # Due to a bug in Django@0.96 we can't use foreign key lookup in + # order_by(), see http://code.djangoproject.com/ticket/2076. Changeset + # [133] is broken because it requires a patched Django to run. Work + # around this instead. Later: FIXME (revert to the straightforward code + # when this bug has been fixed in the Django release we're running.) + ## queryset_list_sun=WgMeetingSession.objects.filter(meeting=meeting_num, sched_time_id1__day_id=0).order_by('sched_time_id1__time_desc') + queryset_list_sun=list(WgMeetingSession.objects.filter(meeting=meeting_num, sched_time_id1__day_id=0)) + queryset_list_sun.sort(key=(lambda item: item.sched_time_id1.time_desc)) return object_list(request,queryset=queryset_list, template_name='meeting/agenda.html',allow_empty=True, extra_context={'qs_sun':queryset_list_sun, 'meeting_info':meeting_info, 'meeting_num':meeting_num, 'nonsession_info':nonsession_info, 'meetingvenue_info':meetingvenue_info}) def show(request):