Migrated HTML agenda to new data model. This has several improvements, as well, such as clearer marking of BOFs.
- Legacy-Id: 4265
This commit is contained in:
parent
740487d69f
commit
c113bd0588
|
@ -60,6 +60,10 @@ class DocumentInfo(models.Model):
|
|||
note = models.TextField(blank=True)
|
||||
internal_comments = models.TextField(blank=True)
|
||||
|
||||
def file_extension(self):
|
||||
_,ext = os.path.splitext(self.external_url)
|
||||
return ext.lstrip(".").lower()
|
||||
|
||||
def get_file_path(self):
|
||||
if self.type_id == "draft":
|
||||
return settings.INTERNET_DRAFT_PATH
|
||||
|
|
|
@ -33,7 +33,7 @@ from ietf.proceedings.models import Meeting as OldMeeting, MeetingTime, WgMeetin
|
|||
|
||||
# New models
|
||||
from ietf.meeting.models import Meeting, Room, TimeSlot, Constraint, Session
|
||||
from ietf.group.models import Group
|
||||
from ietf.group.models import Group, GroupManager
|
||||
|
||||
|
||||
@decorator_from_middleware(GZipMiddleware)
|
||||
|
@ -197,6 +197,34 @@ if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
|||
|
||||
@decorator_from_middleware(GZipMiddleware)
|
||||
def html_agenda(request, num=None):
|
||||
if settings.SERVER_MODE != 'production' and '_testiphone' in request.REQUEST:
|
||||
user_agent = "iPhone"
|
||||
elif 'user_agent' in request.REQUEST:
|
||||
user_agent = request.REQUEST['user_agent']
|
||||
elif 'HTTP_USER_AGENT' in request.META:
|
||||
user_agent = request.META["HTTP_USER_AGENT"]
|
||||
else:
|
||||
user_agent = ""
|
||||
if "iPhone" in user_agent:
|
||||
return iphone_agenda(request, num)
|
||||
|
||||
meeting = get_meeting(num)
|
||||
timeslots = TimeSlot.objects.filter(Q(meeting = meeting.number)).order_by('time','name')
|
||||
modified = timeslots.aggregate(Max('modified'))['modified__max']
|
||||
|
||||
area_list = timeslots.filter(type = 'Session', session__group__parent__isnull = False).order_by('session__group__parent__acronym').distinct('session__group__parent__acronym').values_list('session__group__parent__acronym',flat=True)
|
||||
|
||||
wg_name_list = timeslots.filter(type = 'Session', session__group__isnull = False, session__group__parent__isnull = False).order_by('session__group__acronym').distinct('session__group').values_list('session__group__acronym',flat=True)
|
||||
|
||||
wg_list = Group.objects.filter(acronym__in = set(wg_name_list)).order_by('parent__acronym','acronym')
|
||||
|
||||
return HttpResponse(render_to_string("meeting/agenda.html",
|
||||
{"timeslots":timeslots, "modified": modified, "meeting":meeting,
|
||||
"area_list": area_list, "wg_list": wg_list ,
|
||||
"show_inline": set(["txt","htm","html"]) },
|
||||
RequestContext(request)), mimetype="text/html")
|
||||
|
||||
def deprecated_PLEASE_REMOVE_ME(request, num=None):
|
||||
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
|
||||
|
||||
groups_meeting = [];
|
||||
|
@ -209,26 +237,33 @@ def html_agenda(request, num=None):
|
|||
rgs = IRTF.objects.all().filter(acronym__in = groups_meeting).order_by('acronym')
|
||||
areas = Area.objects.filter(status=Area.ACTIVE).order_by('area_acronym__acronym')
|
||||
|
||||
if settings.SERVER_MODE != 'production' and '_testiphone' in request.REQUEST:
|
||||
user_agent = "iPhone"
|
||||
elif 'user_agent' in request.REQUEST:
|
||||
user_agent = request.REQUEST['user_agent']
|
||||
elif 'HTTP_USER_AGENT' in request.META:
|
||||
user_agent = request.META["HTTP_USER_AGENT"]
|
||||
else:
|
||||
user_agent = ""
|
||||
#print user_agent
|
||||
if "iPhone" in user_agent:
|
||||
template = "meeting/m_agenda.html"
|
||||
else:
|
||||
template = "meeting/agenda.html"
|
||||
template = "meeting/agenda.html"
|
||||
return render_to_response(template,
|
||||
{"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads,
|
||||
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda,
|
||||
"wg_list" : wgs, "rg_list" : rgs, "area_list" : areas},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
def iphone_agenda(request, num):
|
||||
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
|
||||
|
||||
groups_meeting = [];
|
||||
for slot in timeslots:
|
||||
for session in slot.sessions():
|
||||
groups_meeting.append(session.acronym())
|
||||
groups_meeting = set(groups_meeting);
|
||||
|
||||
wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE).filter(group_acronym__acronym__in = groups_meeting).order_by('group_acronym__acronym')
|
||||
rgs = IRTF.objects.all().filter(acronym__in = groups_meeting).order_by('acronym')
|
||||
areas = Area.objects.filter(status=Area.ACTIVE).order_by('area_acronym__acronym')
|
||||
template = "meeting/m_agenda.html"
|
||||
return render_to_response(template,
|
||||
{"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads,
|
||||
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda,
|
||||
"wg_list" : wgs, "rg_list" : rgs, "area_list" : areas},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def text_agenda(request, num=None):
|
||||
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
|
||||
plenaryw_agenda = " "+plenaryw_agenda.strip().replace("\n", "\n ")
|
||||
|
|
|
@ -10,8 +10,8 @@ table#agenda { border: 0; border-collapse:collapse; }
|
|||
|
||||
table#wg-selector { border:1px solid black; border-collapse:collapse; }
|
||||
#wg-selector td,#wg-selector th { border:1px solid black; padding: 2px}
|
||||
#wg-selector div.selected { background-color: #D0D0FF; cursor: pointer; }
|
||||
#wg-selector div.unselected { background-color: #FFFFFF; cursor: pointer; }
|
||||
#wg-selector div.selected { background-color: #c0c0FF; cursor: pointer; }
|
||||
#wg-selector div.unselected { cursor: pointer; }
|
||||
#wg-selector td.inactive div { background-color: #EEEEEE; color: #808080; cursor:default;}
|
||||
#wg-selector.hidden { display: none; }
|
||||
#wg-selector-toggle-text { text-decoration: underline; cursor: pointer; }
|
||||
|
@ -27,6 +27,21 @@ table#wg-selector { border:1px solid black; border-collapse:collapse; }
|
|||
#ical-link A:active { color: #FF00FF; }
|
||||
#ical-link A:hover { color: #FF0000; }
|
||||
|
||||
tr.time-title { font-weight: bold; color:#800000;}
|
||||
tr.grouprow > td { padding: 4px; }
|
||||
td.materials { align:right; }
|
||||
span.note { font-style: italic; color:#ff0000; }
|
||||
|
||||
#APP-groups, #selector-APP { color:#008; background-color:#eef }
|
||||
#GEN-groups, #selector-GEN { color:#080; background-color:#efe }
|
||||
#INT-groups, #selector-INT { color:#088; background-color:#eff }
|
||||
#OPS-groups, #selector-OPS { color:#800; background-color:#fee }
|
||||
#RAI-groups, #selector-RAI { color:#808; background-color:#fef }
|
||||
#RTG-groups, #selector-RTG { color:#880; background-color:#ffe }
|
||||
#SEC-groups, #selector-SEC { color:#488; background-color:#dff }
|
||||
#TSV-groups, #selector-TSV { color:#484; background-color:#dfd }
|
||||
#IRTF-groups, #selector-IRTF { color:#448; background-color:#ddf }
|
||||
|
||||
img.hidden { display: none; }
|
||||
|
||||
.ietf-agenda-palette { border-collapse:collapse; border:2px solid black; background:white; overflow:hidden; }
|
||||
|
@ -135,7 +150,6 @@ img.hidden { display: none; }
|
|||
{
|
||||
iframe.setAttribute("src",iframe.getAttribute("xsrc"));
|
||||
}
|
||||
r(iframe);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -148,15 +162,28 @@ img.hidden { display: none; }
|
|||
|
||||
}
|
||||
|
||||
/* Resizes an IFRAME to fit its contents */
|
||||
function r(obj)
|
||||
/* Resizes an IFRAME to fit its contents and attempts to convert to a div */
|
||||
function r(iframe)
|
||||
{
|
||||
try
|
||||
{
|
||||
docHeight = obj.contentWindow.document.body.scrollHeight;
|
||||
obj.height = docHeight;
|
||||
iframe.height = 1;
|
||||
docHeight = iframe.contentWindow.document.body.scrollHeight;
|
||||
iframe.height = docHeight;
|
||||
}
|
||||
catch (e) { return; }
|
||||
|
||||
if (iframe.contentWindow.document.body.innerHTML)
|
||||
{
|
||||
var div = document.createElement("div");
|
||||
div.style.border = "solid";
|
||||
div.style.borderWidth = "1px";
|
||||
div.style.margin = "0";
|
||||
div.style.padding = "10px";
|
||||
div.style.overflow = "auto";
|
||||
div.innerHTML=iframe.contentWindow.document.body.innerHTML;
|
||||
iframe.parentNode.replaceChild(div,iframe);
|
||||
}
|
||||
catch (e) {}
|
||||
}
|
||||
|
||||
function toggle(selection)
|
||||
|
@ -211,15 +238,14 @@ img.hidden { display: none; }
|
|||
{% block content %}
|
||||
<h1>IETF {{ meeting.num }} Meeting Agenda</h1>
|
||||
<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 />
|
||||
Updated {{ update.updated|date:"Y-m-d H:i:s T" }}</p>
|
||||
Updated {{ modified|date:"Y-m-d H:i:s T" }}</p>
|
||||
<div class="noprint">
|
||||
(There's also a <a href="/meeting/{{meeting.num}}/agenda.txt">plaintext agenda</a> and a <a href="http://tools.ietf.org/agenda/{{meeting.num}}/">tools-style agenda</a> available)</div>
|
||||
|
||||
<p><strong>IETF agendas are subject to change, up to and during the meeting.</strong></p>
|
||||
|
||||
{# cache this part for 15 minutes -- it takes 3-6 seconds to generate #}
|
||||
{% load cache %}
|
||||
{% cache 900 ietf_meeting_agenda meeting.num %}
|
||||
{% load cache %}{% cache 900 ietf_meeting_agenda meeting.num %}
|
||||
|
||||
You can customize the agenda below to show only selected working group sessions. To be able to return to the customized view later, bookmark the resulting URL:
|
||||
<div class="noprint" onclick="toggle_wg_selector()">
|
||||
|
@ -227,32 +253,21 @@ You can customize the agenda below to show only selected working group sessions.
|
|||
<img id="wg-selector-triangle-down" src="/images/triangle-down.png" class="hidden" />
|
||||
<span id="wg-selector-toggle-text">Select working group sessions</span>
|
||||
</div>
|
||||
|
||||
<table id="wg-selector" width="100%" class="hidden">
|
||||
<tr>
|
||||
{% for area in area_list %}
|
||||
<th><div id='selector-{{area.area_acronym|upper}}' class="unselected" onclick="toggle(this)">{{area.area_acronym|upper}}</div></th>
|
||||
<th><div id='selector-{{area|upper}}' class="unselected" onclick="toggle(this)">{{area|upper}}</div></th>
|
||||
{% endfor %}
|
||||
<th><div id='selector-IRTF' class="unselected" onclick="toggle(this)">IRTF</div></th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
{% for area in area_list %}
|
||||
<td valign="top" id="{{area.area_acronym|upper}}-groups">
|
||||
{% for wg in wg_list %}
|
||||
{% ifequal wg.area.area.area_acronym area.area_acronym %}
|
||||
<div id='selector-{{wg}}' class="unselected" onclick="toggle(this)">{{wg}}</div>
|
||||
{% endifequal %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
|
||||
<td valign="top" id="IRTF-groups">
|
||||
{% for rg in rg_list %}
|
||||
<div id='selector-{{rg|lower}}' class="unselected" onclick="toggle(this)">{{rg|lower}}</div>
|
||||
{% endfor %}
|
||||
</td>
|
||||
|
||||
{% for wg in wg_list %}{% ifchanged wg.parent.acronym %}{% if forloop.counter > 1 %}
|
||||
</td>{% endif %}
|
||||
<td valign="top" id="{{wg.parent.acronym|upper}}-groups">{% endifchanged %}
|
||||
<div id='selector-{{wg.acronym}}' class="unselected" onclick="toggle(this)">{% if wg.state.name = "BOF" %}<i>{{wg.acronym}}</i>{% else %}{{wg.acronym}}{% endif %}</div>{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td align="center" colspan="{{area_list.count}}"><i>Groups displayed in italics are BOFs</i></td></tr>
|
||||
</table>
|
||||
|
||||
<div id="ical-link" class="hidden"><span style="font-size:150%">Week View</span><br/><a id="ical-href" href="agenda.ics"><em>Download as an ical file</em></a></div>
|
||||
|
@ -263,78 +278,64 @@ You can customize the agenda below to show only selected working group sessions.
|
|||
{% for slot in timeslots %}
|
||||
{% ifchanged %}
|
||||
<tr class="meeting-date">
|
||||
<td colspan="4">
|
||||
<h2 class="ietf-divider">{{ slot.meeting_date|date:"l"|upper }}, {{ slot.meeting_date|date:"F j, Y" }}</h2>
|
||||
</td>
|
||||
<td colspan="6">
|
||||
<h2 class="ietf-divider">{{ slot.time|date:"l"|upper }}, {{ slot.time|date:"F j, Y" }}</h2>
|
||||
</td>
|
||||
</tr>
|
||||
{% if slot.reg_info %}
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
{{ slot.registration.time_desc }} {{ slot.registration.name }}
|
||||
{% if venue.reg_area_name %} - <a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ venue.reg_area_name|slugify }}">{{ venue.reg_area_name|escape }}</a>{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endifchanged %}
|
||||
{% if slot.session_name %}
|
||||
{% if slot.break_info %}
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<br />
|
||||
{{ slot.break_info.time_desc }} {{ slot.break_info.name }}
|
||||
{% if venue.break_area_name and slot.break_info.show_break_location %} - <a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ venue.break_area_name|slugify }}">{{ venue.break_area_name|escape }}</a>{% endif %}
|
||||
</td>
|
||||
{% ifchanged %}
|
||||
<tr class="time-title">
|
||||
<td colspan="1">
|
||||
{{slot.time|date:"Hi"}}-{{slot.end_time|date:"Hi"}}
|
||||
</td>
|
||||
<td colspan="5">
|
||||
{{slot.name}}
|
||||
{% if slot.type.name != 'Session' %} -
|
||||
{% if slot.show_location %}<a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ slot.get_location|slugify }}">{{slot.get_location|escape}}</a>{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<b>{{ slot.time_desc }} {{ slot.session_name }}</b>
|
||||
{% ifequal slot.sessions.0.acronym "plenaryw" %}
|
||||
<b>- <a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ slot.sessions.0.room_id.room_name|slugify }}">{{ slot.sessions.0.room_id.room_name }}</a></b><br/>
|
||||
<pre>{{ plenaryw_agenda|escape }}</pre>
|
||||
{% endifequal %}
|
||||
{% ifequal slot.sessions.0.acronym "plenaryt" %}
|
||||
<b>- <a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ slot.sessions.0.room_id.room_name|slugify }}">{{ slot.sessions.0.room_id.room_name }}</a></b><br/>
|
||||
<pre>{{ plenaryt_agenda|escape }}</pre>
|
||||
{% endifequal %}
|
||||
</td>
|
||||
</tr>
|
||||
{% if not slot.is_plenary %}
|
||||
{% for session in slot.sessions_by_area|dictsort:"area" %}
|
||||
<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">
|
||||
<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>
|
||||
{% if session.info.area %}
|
||||
<td>{{ session.info.area|upper}}</td>
|
||||
<td>{% if session.info.isWG %}<a href="/wg/{{ session.info.acronym|lower }}/">{{ session.info.acronym|lower }}</a>{% else %}{{ session.info.acronym|lower }}{% endif %}</td>
|
||||
<td>
|
||||
<table width="100%"><tr><td>
|
||||
<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"/ class="noprint">
|
||||
{% 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 %}
|
||||
{% if session.info.special_agenda_note %}<br/> - {{ session.info.special_agenda_note }}{% endif %}
|
||||
</td><td align="right">drafts: <a href="/meeting/{{ meeting.num }}/agenda/{{session.info.acronym}}-drafts.tgz">tar</a>|<a href="/meeting/{{ meeting.num }}/agenda/{{session.info.acronym}}-drafts.pdf">pdf</a></td></tr></table>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
<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">
|
||||
<td></td>
|
||||
<td colspan="3">
|
||||
{% if session.info.agenda_file %}
|
||||
<iframe width="100%" height="400px" src="about:blank" xsrc="/meeting/{{ meeting.num }}/agenda/{{ session.info.acronym }}-agenda/" onload="r(this)"></iframe>
|
||||
{% else %}
|
||||
<b>No Agenda Submitted</b>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% for session in slot.sessions %}
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
{{ slot.time_desc }} {{ session.acronym_name|escape }} - <a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{session.room_id.room_name|slugify}}">{{ session.room_id.room_name}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endifchanged %}
|
||||
{% if slot.type.name = 'Session' %} {% if slot.session.group %}
|
||||
<tr id="{{meeting.num}}-{{slot.time|date:"D-Hi"|lower}}-{{slot.session.group.parent.acronym|upper}}-{{slot.session.group.acronym|lower}}" class="grouprow">
|
||||
<td>
|
||||
<td>{% if slot.show_location %}<a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ slot.get_location|slugify }}">{{slot.get_location|escape}}</a>{% endif %}</td>
|
||||
<td>{{slot.session.group.parent.acronym|upper}}</td>
|
||||
<td>
|
||||
{% if slot.session.group.charter %}<a href="{{slot.session.group.charter.get_absolute_url}}">{{slot.session.group.acronym}}</a>
|
||||
{% else %}{{slot.session.group.acronym}}{% endif %}</td>
|
||||
<td>
|
||||
<img src="/images/color-palette-4x4.gif" alt="" onclick="pickAgendaColor('{{meeting.num}}-{{slot.time|date:"D-Hi"|lower}}-{{slot.session.group.parent.acronym|upper}}-{{slot.session.group.acronym|lower}}',this);" title="color tag this line"/ class="noprint">
|
||||
{% if slot.session.agenda %}<a href="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}-agenda/">{{slot.session.group.name}}</a>
|
||||
{% else %}{{slot.session.group.name}}{% endif %}
|
||||
{% if slot.session.group.state.name = "BOF" %} BOF {% endif %}
|
||||
{% if slot.session.agenda_note %}
|
||||
<br/><span class="note">{{slot.session.agenda_note}}</span>{% endif %}</td>
|
||||
<td class="materials">{% if slot.session.agenda %}drafts: <a href="/meeting/{{meeting.num}}/agenda/{{slot.session.group.acronym}}-drafts.tgz">tar</a>|<a href="/meeting/{{ meeting.num }}/agenda/{{slot.session.group.acronym}}-drafts.pdf">pdf</a>{%endif%}</td>
|
||||
</tr>
|
||||
<tr id="{{meeting.num}}-{{slot.time|date:"D-Hi"|lower}}-{{slot.session.group.parent.acronym|upper}}-{{slot.session.group.acronym|lower}}" class="groupagenda">
|
||||
<td></td>
|
||||
<td colspan="5">
|
||||
{% if slot.session.agenda %}
|
||||
{% if slot.session.agenda.file_extension in show_inline%}
|
||||
<iframe width="100%" height="1px" src="about:blank" xsrc="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}-agenda/" onload="r(this)"></iframe>
|
||||
{% else %}
|
||||
<b><i>Agenda submitted in {{slot.session.agenda.file_extension|upper}} format</i></b>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<b><i>No Agenda Submitted</i></b>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% endif %} {% endif %}
|
||||
{% if slot.type.name = 'Plenary' %}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="5">
|
||||
<iframe width="100%" height="1px" src="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}-agenda/" onload="r(this)"></iframe>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
|
|
@ -9,7 +9,7 @@ var items = new Array();
|
|||
{% autoescape off %}
|
||||
|
||||
{% for slot in timeslots %} {% if slot.type.name in render_types %}
|
||||
items.push({day:{{slot.time|date:"w"}}, time:"{{slot.time|date:"Hi"}}-{{slot.end_time|date:"Hi"}}", duration:{{slot.duration.seconds}}, time_id:"{{slot.time|date:"mdHi"}}", type:"{{slot.type}}", {% if slot.session.name %}name:"{{slot.session.name}}",{% else %}{% if slot.type.name == "Break" %}name:"{{slot.name}}", area:"break", wg:"break",{% else %}name:"{{slot.session.group.name}}",wg:"{{slot.session.group.acronym}}",area:"{{slot.session.group.parent.acronym}}",{% endif %}{% endif %} {% if slot.show_location %}room:"{{slot.get_location}}",{% endif %} dayname:"{{ slot.time|date:"l"|upper }}, {{ slot.time|date:"F j, Y" }}"{% if slot.session.agenda %}, agenda:"http://www.ietf.org{{slot.session.agenda.get_absolute_url}}"{% endif %} });{% endif %}{% endfor %}
|
||||
items.push({day:{{slot.time|date:"w"}}, time:"{{slot.time|date:"Hi"}}-{{slot.end_time|date:"Hi"}}", duration:{{slot.duration.seconds}}, time_id:"{{slot.time|date:"mdHi"}}", type:"{{slot.type}}", {% if slot.session.name %}name:"{{slot.session.name}}",{% else %}{% if slot.type.name == "Break" %}name:"{{slot.name}}", area:"break", wg:"break",{% else %}name:"{{slot.session.group.name}}{%if slot.session.group.state.name = "BOF"%} BOF{%endif%}",wg:"{{slot.session.group.acronym}}",area:"{{slot.session.group.parent.acronym}}",{% endif %}{% endif %} {% if slot.show_location %}room:"{{slot.get_location}}",{% endif %} dayname:"{{ slot.time|date:"l"|upper }}, {{ slot.time|date:"F j, Y" }}"{% if slot.session.agenda %}, agenda:"http://www.ietf.org{{slot.session.agenda.get_absolute_url}}"{% endif %} });{% endif %}{% endfor %}
|
||||
{% endautoescape %}
|
||||
|
||||
/* Saturday events need to be moved to the day -1 */
|
||||
|
@ -423,6 +423,7 @@ function finish_maximize(e)
|
|||
frame.style.borderWidth = border;
|
||||
frame.style.padding = padding;
|
||||
frame.style.borderColor = e.style.borderColor;
|
||||
|
||||
e.appendChild(frame);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue