Need to order WG sessions by area

- Legacy-Id: 150
This commit is contained in:
Michael Lee 2007-05-22 20:27:36 +00:00
parent 41b788ad30
commit b2f8368971
4 changed files with 41 additions and 15 deletions

View file

@ -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

View file

@ -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

View file

@ -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:

View file

@ -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 %}