Need to order WG sessions by area
- Legacy-Id: 150
This commit is contained in:
parent
41b788ad30
commit
b2f8368971
|
@ -643,6 +643,8 @@ class GroupIETF(models.Model):
|
||||||
def choices():
|
def choices():
|
||||||
return [(wg.group_acronym_id, wg.group_acronym.acronym) for wg in GroupIETF.objects.all().select_related().order_by('acronym.acronym')]
|
return [(wg.group_acronym_id, wg.group_acronym.acronym) for wg in GroupIETF.objects.all().select_related().order_by('acronym.acronym')]
|
||||||
choices = staticmethod(choices)
|
choices = staticmethod(choices)
|
||||||
|
def area_acronym(self):
|
||||||
|
return AreaGroup.objects.filter(group_acronym_id=self.group_acronym_id).area
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = 'groups_ietf'
|
db_table = 'groups_ietf'
|
||||||
ordering = ['?'] # workaround django wanting to sort by acronym but not joining with it
|
ordering = ['?'] # workaround django wanting to sort by acronym but not joining with it
|
||||||
|
|
|
@ -33,9 +33,10 @@ def show_html_materials(request, meeting_num=None):
|
||||||
|
|
||||||
def show_html_agenda(request, meeting_num=None):
|
def show_html_agenda(request, meeting_num=None):
|
||||||
meeting_info=Meeting.objects.filter(meeting_num=meeting_num)[0]
|
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]
|
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=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)
|
#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
|
# 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=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=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))
|
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):
|
def show(request):
|
||||||
return 0
|
return 0
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from django.db import models
|
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
|
import datetime
|
||||||
|
|
||||||
# group_acronym is either an IETF Acronym
|
# group_acronym is either an IETF Acronym
|
||||||
|
@ -137,18 +137,10 @@ class SessionName(models.Model):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class MeetingTime(models.Model):
|
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_id = models.AutoField(primary_key=True)
|
||||||
time_desc = models.CharField(maxlength=100)
|
time_desc = models.CharField(maxlength=100)
|
||||||
meeting = models.ForeignKey(Meeting, db_column='meeting_num', unique=True)
|
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)
|
session_name = models.ForeignKey(SessionName)
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "[%d] |%s| %s" % (self.meeting_id, (self.meeting.start_date + datetime.timedelta(self.day_id)).strftime('%A'), self.time_desc)
|
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))
|
models.Q(combined_time_id2=self.time_id))
|
||||||
def meeting_date(self):
|
def meeting_date(self):
|
||||||
return self.meeting.get_meeting_date(self.day_id)
|
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:
|
class Meta:
|
||||||
db_table = 'meeting_times'
|
db_table = 'meeting_times'
|
||||||
class Admin:
|
class Admin:
|
||||||
|
|
|
@ -14,19 +14,40 @@ Updated As of : {% now "F j, Y" %}<br />
|
||||||
*** Click on a name of the group to get a meeting agenda *** <br />
|
*** Click on a name of the group to get a meeting agenda *** <br />
|
||||||
</P>
|
</P>
|
||||||
<p><b>{{ meeting_info.start_date|date:"l, F j, Y" }}</b><br>
|
<p><b>{{ meeting_info.start_date|date:"l, F j, Y" }}</b><br>
|
||||||
{{ 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 }}
|
||||||
<br>
|
<br>
|
||||||
{% for item in qs_sun %}
|
{% for item in qs_sun %}
|
||||||
{{ item.sched_time_id1.time_desc }} {{ item.acronym_name }} - {{ item.sched_room_id1.room_name }}<br>
|
{{ item.sched_time_id1.time_desc }} {{ item.acronym_name }} - {{ item.sched_room_id1.room_name }}<br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
<br>
|
||||||
{% regroup object_list by day_id as days %}
|
{% regroup object_list by day_id as days %}
|
||||||
{% for day in days %}
|
{% for day in days %}
|
||||||
<b>Day: {{ day.list.1.meeting_date|date:"l, F j, Y" }} </b><br>
|
<b>Day: {{ day.list.1.meeting_date|date:"l, F j, Y" }} </b><br>
|
||||||
|
{{ day.list.1.reg_info }} - {{ meetingvenue_info.reg_area_name }} <br>
|
||||||
|
{{ day.list.1.morning_br_info }} - {{ meetingvenue_info.break_area_name }} <br>
|
||||||
|
<br>
|
||||||
{% for item in day.list %}
|
{% for item in day.list %}
|
||||||
|
{% ifequal item.session_name_id 3 %}
|
||||||
|
{{ day.list.1.lunch_br_info }} Break<br>
|
||||||
|
{% endifequal %}
|
||||||
|
{% ifequal item.session_name_id 4 %}
|
||||||
|
{{ day.list.1.an_br1_info }}<br>
|
||||||
|
{% endifequal %}
|
||||||
|
{% ifequal item.session_name_id 5 %}
|
||||||
|
{{ day.list.1.an_br2_info }}<br>
|
||||||
|
{% endifequal %}
|
||||||
<b>{{ item.time_desc }} {{ item.session_name }} </b><br>
|
<b>{{ item.time_desc }} {{ item.session_name }} </b><br>
|
||||||
{% for session in item.sessions %}
|
<table border="0" cellspacing="0" cellpadding="0" width="800">
|
||||||
{{ session.sched_room_id1.room_name }} {{ session.area }} {{ session.acronym }} {{ session.acronym_name }} <br>
|
{% for session in item.sessions|dictsort:"area" %}
|
||||||
|
{% ifequal session.acronym "plenaryw" %}
|
||||||
|
<tr><td>{{ op_ad_plenary_agenda|linebreaksbr }}</td></tr>
|
||||||
|
{% else %}
|
||||||
|
<tr><td width="200">{{ session.sched_room_id1.room_name }}</td><td width="50">{{ session.area|upper }}</td><td width="100">{{ session.acronym }}</td><td>{{ session.acronym_name }}</td></tr>
|
||||||
|
{% endifequal %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
<br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in a new issue