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 %} - - - - - {% endif %} - {% endfor %} - -
{{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 %} -
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}}

- - - - - - - - - {% if session.conflict1 %} - - {% endif %} - {% if session.conflict2 %} - - {% endif %} - {% if session.conflict3 %} - - {% endif %} - {% if session.conflict_other %} - - {% endif %} - {% if session.special_req %} - - {% endif %} - {% if session.ad_comments %} - - {% endif %} -
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 %} -
Primary Conflicts: {{session.conflict1}}
Secondary Conflicts: {{session.conflict2}}
Tertiary Conflicts: {{session.conflict3}}
Other Conflicts: {{session.conflict_other}}
Special Requests: {{session.special_req}}
AD Comments: {{session.ad_comments}}
- {% endif %} - - {%endfor%} - {% endifnotequal %}{% endif %} +
+{% for session in sessions %} +{% if session.group.parent %} +{% ifchanged %} +
+

{{session.group.parent.acronym|upper}} - {{session.group.parent.name}}

+
No schedule request:{% for group in groups_not_meeting %}{%ifequal group.parent.id session.group.parent.id %} {{group.acronym|upper}}{%endifequal%}{% endfor %}

+ + + + + + + + +{% endifchanged %} +{%ifchanged%} + +{%endifchanged%} + + + + + + + + +{% endif %} {% endfor %} -
- - -{% endblock %} +
DurationSizeRequested ByConflictsSpecial Requests
{{session.status}}
{{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 %}
+{% endblock %}