diff --git a/ietf/idtracker/models.py b/ietf/idtracker/models.py
index 3ee90d4c3..572be10d2 100644
--- a/ietf/idtracker/models.py
+++ b/ietf/idtracker/models.py
@@ -643,6 +643,8 @@ class GroupIETF(models.Model):
def choices():
return [(wg.group_acronym_id, wg.group_acronym.acronym) for wg in GroupIETF.objects.all().select_related().order_by('acronym.acronym')]
choices = staticmethod(choices)
+ def area_acronym(self):
+ return AreaGroup.objects.filter(group_acronym_id=self.group_acronym_id).area
class Meta:
db_table = 'groups_ietf'
ordering = ['?'] # workaround django wanting to sort by acronym but not joining with it
diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py
index c24e1940a..343db9a7a 100644
--- a/ietf/meeting/views.py
+++ b/ietf/meeting/views.py
@@ -33,9 +33,10 @@ def show_html_materials(request, meeting_num=None):
def show_html_agenda(request, meeting_num=None):
meeting_info=Meeting.objects.filter(meeting_num=meeting_num)[0]
- nonsession_info=NonSession.objects.filter(meeting=meeting_num)[0]
+ nonsession_info=NonSession.objects.filter(meeting=meeting_num,day_id__gte='0').order_by("day_id")
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
#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
@@ -46,7 +47,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})
+ 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})
def show(request):
return 0
diff --git a/ietf/proceedings/models.py b/ietf/proceedings/models.py
index 4f47b6303..ef9aa9e53 100644
--- a/ietf/proceedings/models.py
+++ b/ietf/proceedings/models.py
@@ -1,5 +1,5 @@
from django.db import models
-from ietf.idtracker.models import Acronym, PersonOrOrgInfo, IRTF, AreaGroup
+from ietf.idtracker.models import Acronym, PersonOrOrgInfo, IRTF, AreaGroup, GroupIETF
import datetime
# group_acronym is either an IETF Acronym
@@ -137,18 +137,10 @@ class SessionName(models.Model):
pass
class MeetingTime(models.Model):
- DAY_CHOICES=(
- ('0', 'SUNDAY'),
- ('1', 'MONDAY'),
- ('2', 'TUESDAY'),
- ('3', 'WEDNESDAY'),
- ('4', 'THURSDAY'),
- ('5', 'FRIDAY'),
- )
time_id = models.AutoField(primary_key=True)
time_desc = models.CharField(maxlength=100)
meeting = models.ForeignKey(Meeting, db_column='meeting_num', unique=True)
- day_id = models.IntegerField(choices=DAY_CHOICES)
+ day_id = models.IntegerField()
session_name = models.ForeignKey(SessionName)
def __str__(self):
return "[%d] |%s| %s" % (self.meeting_id, (self.meeting.start_date + datetime.timedelta(self.day_id)).strftime('%A'), self.time_desc)
@@ -170,6 +162,16 @@ class MeetingTime(models.Model):
models.Q(combined_time_id2=self.time_id))
def meeting_date(self):
return self.meeting.get_meeting_date(self.day_id)
+ def reg_info(self):
+ return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, day_id=self.day_id,non_session_ref=1)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, day_id=self.day_id,non_session_ref=1)[0].non_session_ref)
+ def morning_br_info(self):
+ return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, non_session_ref=2)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, non_session_ref=2)[0].non_session_ref)
+ def lunch_br_info(self):
+ return NonSession.objects.filter(meeting=self.meeting, non_session_ref=3)[0].time_desc
+ def an_br1_info(self):
+ return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, non_session_ref=4)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, non_session_ref=4)[0].non_session_ref)
+ def an_br2_info(self):
+ return "%s %s" % (NonSession.objects.filter(meeting=self.meeting, non_session_ref=5)[0].time_desc, NonSession.objects.filter(meeting=self.meeting, non_session_ref=5)[0].non_session_ref)
class Meta:
db_table = 'meeting_times'
class Admin:
diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html
index 6f9826dac..b6503a3ac 100644
--- a/ietf/templates/meeting/agenda.html
+++ b/ietf/templates/meeting/agenda.html
@@ -14,19 +14,40 @@ Updated As of : {% now "F j, Y" %}
*** Click on a name of the group to get a meeting agenda ***
{{ meeting_info.start_date|date:"l, F j, Y" }}
-{{ nonsession_info.time_desc }} {{ nonsession_info.non_session_ref }} - {{ meetingvenue_info.reg_area_name }
+{{ nonsession_info.0.time_desc }} {{ nonsession_info.0.non_session_ref }} - {{ meetingvenue_info.reg_area_name }}
{% for item in qs_sun %}
{{ item.sched_time_id1.time_desc }} {{ item.acronym_name }} - {{ item.sched_room_id1.room_name }}
{% endfor %}
+
{% regroup object_list by day_id as days %}
{% for day in days %}
Day: {{ day.list.1.meeting_date|date:"l, F j, Y" }}
+{{ day.list.1.reg_info }} - {{ meetingvenue_info.reg_area_name }}
+{{ day.list.1.morning_br_info }} - {{ meetingvenue_info.break_area_name }}
+
{% for item in day.list %}
+{% ifequal item.session_name_id 3 %}
+{{ day.list.1.lunch_br_info }} Break
+{% endifequal %}
+{% ifequal item.session_name_id 4 %}
+{{ day.list.1.an_br1_info }}
+{% endifequal %}
+{% ifequal item.session_name_id 5 %}
+{{ day.list.1.an_br2_info }}
+{% endifequal %}
{{ item.time_desc }} {{ item.session_name }}
-{% for session in item.sessions %}
-{{ session.sched_room_id1.room_name }} {{ session.area }} {{ session.acronym }} {{ session.acronym_name }}
+
{{ op_ad_plenary_agenda|linebreaksbr }} | |||
{{ session.sched_room_id1.room_name }} | {{ session.area|upper }} | {{ session.acronym }} | {{ session.acronym_name }} |