From 959274e048af07e7eae5b695e11b6b8d836e9174 Mon Sep 17 00:00:00 2001 From: Michael Lee Date: Fri, 25 May 2007 04:12:17 +0000 Subject: [PATCH] * Add links to WG charters and agenda files * Add special note * Need to display combined sessions - Legacy-Id: 167 --- ietf/meeting/views.py | 9 ++++---- ietf/proceedings/models.py | 35 +++++++++++++++++++++++------- ietf/templates/meeting/agenda.html | 26 +++++++++++++--------- 3 files changed, 48 insertions(+), 22 deletions(-) diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 8094df20b..8e2d8d6a5 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -32,11 +32,12 @@ def show_html_materials(request, meeting_num=None): return render("meeting/list.html",{}) def show_html_agenda(request, meeting_num=None): - meeting_info=Meeting.objects.get(meeting_num=meeting_num) + meeting_info=Meeting.objects.filter(meeting_num=meeting_num)[0] nonsession_info=NonSession.objects.filter(meeting=meeting_num,day_id__gte='0').order_by("day_id") - meetingvenue_info=MeetingVenue.objects.get(meeting_num=meeting_num) + 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") - op_ad_plenary_agenda = "17:00 Welcome\n17:05 NOC report (Wieslaw Blysz, Siemens Networks))\n Host presentation (Georg Haubs, CTO Innovations of Siemens Networks)\n 17:20 IETF Chair and IAD short reports\n 17:30 Jonathan B. Postel award\n 17:40 NomCom Chair (Andrew Lange)\n 17:45 Open Microphone\n 19:30 (latest) end" #only for testing. In production, this text will be pulled from actualy agenda file + plenaryw_agenda = "17:00 Welcome\n17:05 NOC report (Wieslaw Blysz, Siemens Networks))\n Host presentation (Georg Haubs, CTO Innovations of Siemens Networks)\n17:20 IETF Chair and IAD short reports\n17:30 Jonathan B. Postel award\n17:40 NomCom Chair (Andrew Lange)\n17:45 Open Microphone\n19:30 (latest) end " #only for testing. In production, this text will be pulled from actualy agenda file + plenaryt_agenda = "-17h00 Welcome and introduction (Leslie Daigle)\n-17h05 IAB update (Leslie Daigle)\nTH17h15 IRTF Report (Aaron Falk)\nTH17h25 Technical Presentations\n Highlights from draft-iab-net-transparent\n (Bernard Aboba)\n Readout from Unwanted Traffic Workshop\n (Danny McPherson & Loa Andersson)\n Readout from the Routing & Addressing Workshop\n (Dave Meyer, Chris Morrow)\n Next steps from RAWS (Leslie Daigle)\nTH19h00 IAB open Mic\n-19h30 End. " #only for testing. In production, this text will be pulled from actualy agenda file #queryset_list=WgMeetingSession.objects.filter(meeting_num=meeting_num, group_acronym_id > -3) # Due to a bug in Django@0.96 we can't use foreign key lookup in @@ -47,7 +48,7 @@ def show_html_agenda(request, meeting_num=None): ## 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, 'op_ad_plenary_agenda':op_ad_plenary_agenda}) + 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, 'plenaryw_agenda':plenaryw_agenda, 'plenaryt_agenda':plenaryt_agenda}) def show(request): return 0 diff --git a/ietf/proceedings/models.py b/ietf/proceedings/models.py index ab0646d31..e4819401e 100644 --- a/ietf/proceedings/models.py +++ b/ietf/proceedings/models.py @@ -28,25 +28,33 @@ class ResolveAcronym(object): except AttributeError: interim = False if self.irtf: - acronym_name = IRTF.objects.get(pk=self.group_acronym_id).irtf_name + acronym_name = IRTF.objects.get(pk=self.group_acronym_id).name else: acronym_name = Acronym.objects.get(pk=self.group_acronym_id).name if interim: return "i" + acronym return acronym_name def area(self): - try: - irtf = self.irtf - except AttributeError: - irtf = False - if irtf: - area = "IRTF" + if self.irtf: + area = "irtf" else: try: area = AreaGroup.objects.get(group=self.group_acronym_id).area.area_acronym.acronym except AreaGroup.DoesNotExist: - area = "???" + area = "" return area + def isWG(self): + if self.irtf: + return False + else: + try: + g_type_id = GroupIETF.objects.get(pk=self.group_acronym_id).group_type_id == 1 + if g_type_id == 1: + return True + else: + return False + except GroupIETF.DoesNotExist: + return False class Meeting(models.Model): meeting_num = models.IntegerField(primary_key=True) @@ -246,6 +254,17 @@ class WgMeetingSession(models.Model, ResolveAcronym): combined_time_id2 = models.ForeignKey(MeetingTime, db_column='combined_time_id2', null=True, blank=True, related_name='now5') def __str__(self): return "%s at %s" % (self.acronym(), self.meeting) + def agenda_file(self): + irtfvar = 0 + if self.irtf: + irtfvar = self.irtf + try: + filename = WgAgenda.objects.get(meeting=self.meeting, group_acronym_id=self.group_acronym_id,irtf=irtfvar,interim=0).filename + dir = Proceeding.objects.get(meeting_num=self.meeting).dir_name + retvar = "%s/%s" % (dir,filename) + except WgAgenda.DoesNotExist: + retvar = "" + return retvar class Meta: db_table = 'wg_meeting_sessions' class Admin: diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html index ce40a44d4..7eee91fc8 100644 --- a/ietf/templates/meeting/agenda.html +++ b/ietf/templates/meeting/agenda.html @@ -36,16 +36,22 @@ Updated As of : {% now "F j, Y" %}
{% ifequal item.session_name_id 5 %} {{ day.list.1.an_br2_info }}
{% endifequal %} - {{ item.time_desc }} {{ item.session_name }}
- - {% for session in item.sessions|dictsort:"area" %} - {% ifequal session.acronym "plenaryw" %} - - {% else %} - - {% endifequal %} - {% endfor %} -
{{ op_ad_plenary_agenda|linebreaksbr }}
{{ session.sched_room_id1.room_name }}{{ session.area|upper }}{{ session.acronym }}{{ session.acronym_name }}
+ {{ item.time_desc }} {{ item.session_name }} + {% ifequal item.sessions.0.acronym "plenaryw" %} + - {{ item.sessions.0.room_id.room_name }}
+
{{ plenaryw_agenda|escape }}
+ {% else %} + {% ifequal item.sessions.0.acronym "plenaryt" %} + - {{ item.sessions.0.room_id.room_name }}
+
{{ plenaryt_agenda|escape }}
+ {% else %} + + {% for session in item.sessions|dictsort:"area" %} + + {% endfor %} +
{{ session.room_id.room_name }}{{ session.area|upper }}{% if session.isWG %}{{ session.acronym|lower }}{% else %}{{ session.acronym|lower }}{% endif %}{% if session.agenda_file %}{{ session.acronym_name }}{% else %}{{ session.acronym_name }}{% endif %}{% if session.special_agenda_note %} - {{ session.special_agenda_note|upper }}{% endif %}
+ {% endifequal %} + {% endifequal %}
{% endfor %}