Skip to content

Commit 0201f45

Browse files
committed
Added fragment selection of WGs, areas. Now, we need to add an interface to manipulate it. :)
- Legacy-Id: 2408
1 parent 0819db1 commit 0201f45

2 files changed

Lines changed: 61 additions & 5 deletions

File tree

adam/ietf/meeting/views.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#import models
55
from django.shortcuts import render_to_response, get_object_or_404
66
from ietf.proceedings.models import Meeting, MeetingTime, WgMeetingSession, MeetingVenue, IESGHistory, Proceeding, Switches, WgProceedingsActivities
7+
from ietf.idtracker.models import IETFWG, IRTF
78
from django.views.generic.list_detail import object_list
89
from django.http import HttpResponseRedirect, HttpResponse, Http404
910
from django.core.urlresolvers import reverse
@@ -91,6 +92,9 @@ def agenda_info(num=None):
9192
@decorator_from_middleware(GZipMiddleware)
9293
def html_agenda(request, num=None):
9394
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
95+
wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE)
96+
rgs = IRTF.objects.all()
97+
9498
if settings.SERVER_MODE != 'production' and '_testiphone' in request.REQUEST:
9599
user_agent = "iPhone"
96100
elif 'user_agent' in request.REQUEST:
@@ -106,7 +110,8 @@ def html_agenda(request, num=None):
106110
template = "meeting/agenda.html"
107111
return render_to_response(template,
108112
{"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads,
109-
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda, },
113+
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda,
114+
"wg_list" : wgs, "rg_list" : rgs},
110115
context_instance=RequestContext(request))
111116

112117
def text_agenda(request, num=None):

adam/ietf/templates/meeting/agenda.html

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,56 @@
2929
.bgwhite, .bgwhite a { background-color: white; color: black; }
3030
.bgyellow, .bgyellow a { background-color: yellow; color: black; }
3131
.bgblack, .bgblack a { background-color: black; color: white; }
32+
.groupagenda { display:none; }
33+
3234
{% endblock morecss %}
3335

3436
{% block pagehead %}
3537
<script type="text/javascript" src='/js/agenda2.js'></script>
38+
<script type="text/javascript">
39+
function hideUnwantedGroups()
40+
{
41+
var fragment = window.location.hash.replace("#",'').split(',');
42+
var rows = document.getElementsByTagName('tr');
43+
44+
var hidenone = false;
45+
if (window.location.hash.replace("#",'').length == 0) { hidenone=true; }
46+
47+
var re = RegExp("-(" + fragment.join('|') + ")($|-)");
48+
49+
for (var i = 0; i < rows.length; i++)
50+
{
51+
if (rows[i].className == 'groupagenda' || rows[i].className == 'grouprow')
52+
{
53+
if (re.test(rows[i].id) || (hidenone && rows[i].className == 'grouprow'))
54+
{
55+
rows[i].style.display="table-row";
56+
}
57+
else
58+
{
59+
rows[i].style.display="none";
60+
}
61+
}
62+
}
63+
64+
window.setTimeout("hideUnwantedGroups()",1000);
65+
66+
}
67+
68+
function r(obj)
69+
{
70+
/* This can't work until we move the agendas into the datatracker.ietf.org
71+
domain -- we can't query the height of a document from another domain. */
72+
73+
/*
74+
docHeight = obj.contentWindow.document.height;
75+
obj.style.height = (docHeight + 20) * 1.05 + "px"
76+
*/
77+
}
78+
</script>
79+
3680
{% endblock pagehead %}
37-
{% block bodyAttrs %}onload='updateAgendaColors()'{% endblock %}
81+
{% block bodyAttrs %}onload='hideUnwantedGroups();updateAgendaColors()'{% endblock %}
3882
{% block content %}
3983
<h1>IETF {{ meeting.num }} Meeting Agenda</h1>
4084
<p>{{ meeting.city }}, {{ meeting.start_date|date:"F j" }}-{% ifnotequal meeting.start_date.month meeting.end_date.month %}{{ meeting.end_date|date:"F " }}{% endifnotequal %}{{ meeting.end_date|date:"j, Y" }}<br />
@@ -44,10 +88,11 @@ <h1>IETF {{ meeting.num }} Meeting Agenda</h1>
4488
<p><strong>IETF agendas are subject to change, up to and during the meeting.</strong></p>
4589

4690
{# cache this part for 15 minutes -- it takes 3-6 seconds to generate #}
91+
4792
{% load cache %}
4893
{% cache 900 ietf_meeting_agenda meeting.num %}
4994

50-
<table id="agenda">
95+
<table id="agenda" width="100%">
5196
{% for slot in timeslots %}
5297
{% ifchanged %}
5398
<tr class="meeting-date">
@@ -89,18 +134,24 @@ <h2 class="ietf-divider">{{ slot.meeting_date|date:"l"|upper }}, {{ slot.meeting
89134
</tr>
90135
{% if not slot.is_plenary %}
91136
{% for session in slot.sessions_by_area|dictsort:"area" %}
92-
<tr id="{{meeting.num}}-{{slot.meeting_date|date:"D"|lower}}-{{slot.time_desc|slice:":4"}}-{{session.info.acronym|lower}}">
137+
<tr id="{{meeting.num}}-{{slot.meeting_date|date:"D"|lower}}-{{slot.time_desc|slice:":4"}}-{{session.info.area|upper}}-{{session.info.acronym|lower}}" class="grouprow">
93138
<td><a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{session.info.room_id.room_name|slugify}}" title="room map">{{ session.info.room_id.room_name}}</a></td>
94139
{% if session.info.area %}
95140
<td>{{ session.info.area|upper}}</td>
96141
<td>{% if session.info.isWG %}<a href="/wg/{{ session.info.acronym|lower }}/">{{ session.info.acronym|lower }}</a>{% else %}{{ session.info.acronym|lower }}{% endif %}</td>
97142
<td>
98-
<img src="/images/color-palette-4x4.gif" alt="" onclick="pickAgendaColor('{{meeting.num}}-{{slot.meeting_date|date:"D"|lower}}-{{slot.time_desc|slice:":4"}}-{{session.info.acronym|lower}}',this);" title="color tag this line"/>
143+
<img src="/images/color-palette-4x4.gif" alt="" onclick="pickAgendaColor('{{meeting.num}}-{{slot.meeting_date|date:"D"|lower}}-{{slot.time_desc|slice:":4"}}-{{session.info.area|upper}}-{{session.info.acronym|lower}}',this);" title="color tag this line"/>
99144
{% if session.info.agenda_file %}<a href="http://www.ietf.org/proceedings/{{ session.info.agenda_file }}" title="session agenda">{{ session.info.acronym_name|escape }} {{ session.info.group_type_str }}</a>{% else %}{{ session.info.acronym_name|escape }} {{ session.info.group_type_str }}{% endif %}
100145
{% if session.info.special_agenda_note %}<br/> - {{ session.info.special_agenda_note }}{% endif %}
101146
</td>
102147
{% endif %}
103148
</tr>
149+
<tr id="agenda-{{meeting.num}}-{{slot.meeting_date|date:"D"|lower}}-{{slot.time_desc|slice:":4"}}-{{session.info.area|upper}}-{{session.info.acronym|lower}}" class="groupagenda">
150+
<td>&nbsp;</td>
151+
<td colspan="3">
152+
<iframe width="100%" height="400px" src="http://www.ietf.org/proceedings/{{ session.info.agenda_file }}" onload="r(this)"></iframe>
153+
</td>
154+
</tr>
104155
{% endfor %}
105156
{% endif %}
106157
{% else %}

0 commit comments

Comments
 (0)