Adding page to allow viewing meeting slot requests as they are made. There's no link
to these yet. - Legacy-Id: 3246
This commit is contained in:
parent
1a6f72071e
commit
4f9e90dc73
|
@ -7,6 +7,7 @@ urlpatterns = patterns('',
|
|||
(r'^(?P<meeting_num>\d+)/materials.html$', views.show_html_materials),
|
||||
(r'^agenda/$', views.html_agenda),
|
||||
(r'^agenda(?:.html)?$', views.html_agenda),
|
||||
(r'^requests.html$', views.meeting_requests),
|
||||
(r'^agenda.txt$', views.text_agenda),
|
||||
(r'^agenda/agenda.ics$', views.ical_agenda),
|
||||
(r'^agenda.ics$', views.ical_agenda),
|
||||
|
@ -14,6 +15,7 @@ urlpatterns = patterns('',
|
|||
(r'^agenda/week-view.html$', views.week_view),
|
||||
(r'^week-view.html$', views.week_view),
|
||||
(r'^(?P<num>\d+)/agenda(?:.html)?/?$', views.html_agenda),
|
||||
(r'^(?P<num>\d+)/requests.html$', views.meeting_requests),
|
||||
(r'^(?P<num>\d+)/agenda.txt$', views.text_agenda),
|
||||
(r'^(?P<num>\d+)/agenda.ics$', views.ical_agenda),
|
||||
(r'^(?P<num>\d+)/agenda.csv$', views.csv_agenda),
|
||||
|
|
|
@ -360,3 +360,22 @@ def csv_agenda(request, num=None):
|
|||
{"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads,
|
||||
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda, },
|
||||
RequestContext(request)), mimetype="text/csv")
|
||||
|
||||
def meeting_requests(request, num=None) :
|
||||
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
|
||||
sessions = WgMeetingSession.objects.filter(meeting=meeting)
|
||||
|
||||
wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE).order_by("group_acronym__acronym");
|
||||
rgs = IRTF.objects.all().order_by('acronym')
|
||||
areas = Area.objects.filter(status=Area.ACTIVE).order_by('area_acronym__acronym')
|
||||
return render_to_response("meeting/requests.html",
|
||||
{"sessions": sessions, "timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads, "wgs":wgs,
|
||||
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda, "areas":areas},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
def conflict_digraph(request, num=None) :
|
||||
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
|
||||
sessions = WgMeetingSession.objects.filter(meeting=meeting)
|
||||
return render_to_response("meeting/digraph.html",
|
||||
{"sessions":sessions},
|
||||
context_instance=RequestContext(request), mimetype="text/plain")
|
||||
|
|
|
@ -448,6 +448,15 @@ class WgMeetingSession(models.Model, ResolveAcronym):
|
|||
return True
|
||||
else:
|
||||
return False
|
||||
def length_session1_desc (self):
|
||||
mh = MeetingHour.objects.get(hour_id=self.length_session1)
|
||||
return mh.hour_desc
|
||||
def length_session2_desc (self):
|
||||
mh = MeetingHour.objects.get(hour_id=self.length_session2)
|
||||
return mh.hour_desc
|
||||
def length_session3_desc (self):
|
||||
mh = MeetingHour.objects.get(hour_id=self.length_session3)
|
||||
return mh.hour_desc
|
||||
class Meta:
|
||||
db_table = 'wg_meeting_sessions'
|
||||
verbose_name = "WG meeting session"
|
||||
|
@ -566,6 +575,14 @@ class WgProceedingsActivities(models.Model, ResolveAcronym):
|
|||
db_table = 'wg_proceedings_activities'
|
||||
verbose_name = "WG material upload"
|
||||
|
||||
class MeetingHour(models.Model):
|
||||
hour_id = models.IntegerField(primary_key=True)
|
||||
hour_desc = models.CharField(max_length=60, blank=True)
|
||||
def __unicode__(self):
|
||||
return self.hour_desc
|
||||
class Meta:
|
||||
db_table = u'meeting_hours'
|
||||
|
||||
# changes done by convert-096.py:changed maxlength to max_length
|
||||
# removed core
|
||||
# removed raw_id_admin
|
||||
|
|
103
ietf/templates/meeting/requests.html
Normal file
103
ietf/templates/meeting/requests.html
Normal file
|
@ -0,0 +1,103 @@
|
|||
{% extends "base.html" %}{% load ietf_filters %}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% block title %}IETF {{ meeting.num }} Meeting Timeslot Requests{% endblock %}
|
||||
{% block morecss %}
|
||||
h2 { border-style: none none solid none }
|
||||
h3 { color: #0000a0 }
|
||||
th { text-align: right; vertical-align: text-top; }
|
||||
{% endblock morecss %}
|
||||
|
||||
{% block content %}
|
||||
<h1>IETF {{ meeting.num }} Meeting Timeslot Requests</h1>
|
||||
|
||||
{# cache for 15 minutes -- XXX need to add criteria #}
|
||||
{% load cache %}
|
||||
{% cache 900 meeting.num %}
|
||||
{% endcache %}
|
||||
|
||||
{% regroup sessions|dictsort:"area" by area as area_list %}
|
||||
{% for area in area_list %}
|
||||
{% if area.grouper %}{% ifnotequal area.grouper|upper "1PLENARY" %}
|
||||
<h2>{{area.grouper|upper}}</h2>
|
||||
|
||||
<h3>Summary</h3>
|
||||
<table>
|
||||
{% for session in area.list|dictsort:"acronym" %}
|
||||
{% if session.length_session1 %}
|
||||
<tr>
|
||||
<th>{{session.acronym|upper}}: </th>
|
||||
<td>
|
||||
{{session.length_session1_desc}}
|
||||
{% ifnotequal session.length_session2 "0" %}
|
||||
+ {{session.length_session2_desc}}
|
||||
{% endifnotequal %}
|
||||
{% ifnotequal session.length_session3 "0" %}
|
||||
+ {{session.length_session3_desc}}
|
||||
{% endifnotequal %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<tr><th>Unscheduled:</th><td>
|
||||
{% for wg in wgs %}
|
||||
{% ifequal wg.area_acronym|upper area.grouper|upper %}
|
||||
{% ifequal wg.meeting_scheduled|upper "NO" %}
|
||||
{{wg|upper}}
|
||||
{% endifequal %}
|
||||
{% endifequal %}
|
||||
{% endfor %}
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
{% for session in area.list|dictsort:"acronym" %}
|
||||
{% if session.length_session1 %}
|
||||
<h3>{{session.acronym|upper}}</h3>
|
||||
<table>
|
||||
<tr><th>Requested By: </th>
|
||||
<td>{{session.requested_by}} on {{session.requested_date}}
|
||||
{% ifnotequal session.requested_date session.last_modified_date %}
|
||||
(modified {{session.last_modified_date}})
|
||||
{% endifnotequal %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Session Length: </th>
|
||||
<td>
|
||||
{{session.length_session1_desc}}
|
||||
{% ifnotequal session.length_session2 "0" %}
|
||||
+ {{session.length_session2_desc}}
|
||||
{% endifnotequal %}
|
||||
{% ifnotequal session.length_session3 "0" %}
|
||||
+ {{session.length_session3_desc}}
|
||||
{% endifnotequal %}
|
||||
</td>
|
||||
</tr>
|
||||
{% if session.conflict1 %}
|
||||
<tr><th>Primary Conflicts: </th><td>{{session.conflict1}}</td></tr>
|
||||
{% endif %}
|
||||
{% if session.conflict2 %}
|
||||
<tr><th>Secondary Conflicts: </th><td>{{session.conflict2}}</td></tr>
|
||||
{% endif %}
|
||||
{% if session.conflict3 %}
|
||||
<tr><th>Tertiary Conflicts: </th><td>{{session.conflict3}}</td></tr>
|
||||
{% endif %}
|
||||
{% if session.conflict_other %}
|
||||
<tr><th>Other Conflicts: </th><td>{{session.conflict_other}}</td></tr>
|
||||
{% endif %}
|
||||
{% if session.special_req %}
|
||||
<tr><th>Special Requests: </th><td>{{session.special_req}}</td></tr>
|
||||
{% endif %}
|
||||
{% if session.ad_comments %}
|
||||
<tr><th>AD Comments: </th><td>{{session.ad_comments}}</td></tr>
|
||||
{% endif %}
|
||||
<table>
|
||||
{% endif %}
|
||||
|
||||
{%endfor%}
|
||||
{% endifnotequal %}{% endif %}
|
||||
{% endfor %}
|
||||
<br>
|
||||
|
||||
|
||||
{% endblock %}
|
Loading…
Reference in a new issue