diff --git a/ietf/iesg/views.py b/ietf/iesg/views.py
index 5c36660a5..0d097cb65 100644
--- a/ietf/iesg/views.py
+++ b/ietf/iesg/views.py
@@ -437,7 +437,7 @@ def telechat_docs_tarfile(request,year,month,day):
mfh, mfn = mkstemp()
manifest = open(mfn, "w")
for doc in docs:
- doc_path = os.path.join(settings.IDSUBMIT_REPOSITORY_PATH, doc.draft.filename+"-"+doc.draft.revision_display()+".txt")
+ doc_path = os.path.join(settings.INTERNET_DRAFT_PATH, doc.draft.filename+"-"+doc.draft.revision_display()+".txt")
if os.path.exists(doc_path):
try:
tarstream.add(doc_path, str(doc.draft.filename+"-"+doc.draft.revision_display()+".txt"))
diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py
index b74b9761b..2c43e7f75 100644
--- a/ietf/meeting/models.py
+++ b/ietf/meeting/models.py
@@ -124,6 +124,7 @@ class TimeSlot(models.Model):
location = ""
return location
+
class Constraint(models.Model):
@@ -171,3 +172,6 @@ class Session(models.Model):
timeslots = self.timeslot_set.order_by('time')
return u"%s: %s %s" % (self.meeting, self.group.acronym, timeslots[0].time.strftime("%H%M") if timeslots else "(unscheduled)")
+
+ def constraints(self):
+ return Constraint.objects.filter(target=self.group, meeting=self.meeting).order_by('name__name')
diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py
index 1b918fa4b..5db717a8d 100644
--- a/ietf/meeting/views.py
+++ b/ietf/meeting/views.py
@@ -528,20 +528,16 @@ def csv_agenda(request, num=None):
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)
+ if (num == None):
+ meeting = Meeting.objects.filter(type="ietf").order_by("date").reverse()[0]
+ else:
+ meeting = get_object_or_404(Meeting, number=num)
+
+ sessions = Session.objects.filter(meeting__number=meeting.number,group__parent__isnull = False).exclude(requested_by=0).order_by("group__parent__acronym","status__slug","group__acronym")
+
+ groups_not_meeting = Group.objects.filter(state='Active',type__in=['WG','RG','BOF']).exclude(acronym__in = [session.group.acronym for session in sessions]).order_by("parent__acronym","acronym")
- 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},
+ {"meeting": meeting, "sessions":sessions,
+ "groups_not_meeting": groups_not_meeting},
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")
diff --git a/ietf/templates/meeting/requests.html b/ietf/templates/meeting/requests.html
index 552f7e015..72740c869 100644
--- a/ietf/templates/meeting/requests.html
+++ b/ietf/templates/meeting/requests.html
@@ -2,102 +2,59 @@
{# 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 }
+@media print {
+ .title { font-size: 1.0cm !important; padding-top: 6cm; text-align: center;}
+ .loc { text-align:center; font-size: 0.75cm}
+}
+.loc { width: 100% }
+h2 { border-style: none none solid none ; page-break-before: always;}
h3 { color: #0000a0 }
th { text-align: right; vertical-align: text-top; }
+.even { background-color: #fff; }
+.odd { background-color: #ddf; }
+.h { text-align: center; border-style: none none solid none; border-width: 1px;}
+.conflict { background-color: #fbb; }
+.conflic2 { background-color: #fd6; }
+.conflic3 { background-color: #ff8; }
+.status { text-align: center; background-color: #004; color: #fff; }
+.no-req {border-style: solid; border-width: 1px; padding: 5px; font-weight:bold ; background-color: #333; color: #fff}
+
{% endblock morecss %}
{% block content %}
-
IETF {{ meeting.num }} Meeting Timeslot Requests
+IETF {{ meeting.number }} Meeting Timeslot Requests
+{{meeting.city}}, {{meeting.country}} -- {{meeting.venue_name}}
-{# 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" %}
- {{area.grouper|upper}}
-
- Summary
-
- {% for session in area.list|dictsort:"acronym" %}
- {% if session.length_session1 %}
-
- {{session.acronym|upper}}: |
-
- {{session.length_session1_desc}}
- {% ifnotequal session.length_session2 "0" %}
- + {{session.length_session2_desc}}
- {% endifnotequal %}
- {% ifnotequal session.length_session3 "0" %}
- + {{session.length_session3_desc}}
- {% endifnotequal %}
- |
-
- {% endif %}
- {% endfor %}
- Unscheduled: |
- {% for wg in wgs %}
- {% ifequal wg.area_acronym|upper area.grouper|upper %}
- {% ifequal wg.meeting_scheduled|upper "NO" %}
- {{wg|upper}}
- {% endifequal %}
- {% endifequal %}
- {% endfor %}
- |
-
-
-
- {% for session in area.list|dictsort:"acronym" %}
- {% if session.length_session1 %}
- {{session.acronym|upper}}
-
- Requested By: |
- {{session.requested_by}} on {{session.requested_date}}
- {% ifnotequal session.requested_date session.last_modified_date %}
- (modified {{session.last_modified_date}})
- {% endifnotequal %}
- |
-
-
- Session Length: |
-
- {{session.length_session1_desc}}
- {% ifnotequal session.length_session2 "0" %}
- + {{session.length_session2_desc}}
- {% endifnotequal %}
- {% ifnotequal session.length_session3 "0" %}
- + {{session.length_session3_desc}}
- {% endifnotequal %}
- |
-
- {% if session.conflict1 %}
- Primary Conflicts: | {{session.conflict1}} |
- {% endif %}
- {% if session.conflict2 %}
- Secondary Conflicts: | {{session.conflict2}} |
- {% endif %}
- {% if session.conflict3 %}
- Tertiary Conflicts: | {{session.conflict3}} |
- {% endif %}
- {% if session.conflict_other %}
- Other Conflicts: | {{session.conflict_other}} |
- {% endif %}
- {% if session.special_req %}
- Special Requests: | {{session.special_req}} |
- {% endif %}
- {% if session.ad_comments %}
- AD Comments: | {{session.ad_comments}} |
- {% endif %}
-
- {% endif %}
-
- {%endfor%}
- {% endifnotequal %}{% endif %}
+
+{% for session in sessions %}
+{% if session.group.parent %}
+{% ifchanged %}
+
+
+No schedule request:{% for group in groups_not_meeting %}{%ifequal group.parent.id session.group.parent.id %} {{group.acronym|upper}}{%endifequal%}{% endfor %}
+
+
+ |
+ Duration |
+ Size |
+ Requested By |
+ Conflicts |
+ Special Requests |
+{% endifchanged %}
+{%ifchanged%}
+
{{session.status}} |
+{%endifchanged%}
+
+ {{session.group.acronym|upper}} |
+ {% if not session.requested_duration %}{{session.status}}{%else%} {{session.requested_duration|stringformat:"s"|slice:"0:4"}} {% endif %} |
+ {{session.attendees}} |
+
+ {{session.requested_by}}
+ |
+ {%if session.requested_duration%}{% for constraint in session.constraints %}{%ifchanged%}{%endifchanged%} {{constraint.source.acronym}}{%ifnotequal constraint.source.parent.id constraint.target.parent.id%} ({{constraint.source.parent.acronym}}){%endifnotequal%}{%if not forloop.last %},{%endif%} {% endfor %}{%endif%} |
+ {% if session.comments %}{{session.comments|linebreaksbr}}{% endif %} |
+
+{% endif %}
{% endfor %}
-
-
-
-{% endblock %}
+
+{% endblock %}