Merged in [4604] from adam@nostrum.com, which fixes problems with the html agenda code related to the schema transition.
- Legacy-Id: 4611 Note: SVN reference [4604] has been migrated to Git commit 3e5e16371f2c0319d1c0bb738860a1f793038365
This commit is contained in:
parent
a1ea63c16a
commit
cddec8fc48
|
@ -36,7 +36,7 @@ class Meeting(models.Model):
|
|||
venue_addr = models.TextField(blank=True)
|
||||
break_area = models.CharField(blank=True, max_length=255)
|
||||
reg_area = models.CharField(blank=True, max_length=255)
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
if self.type_id == "ietf":
|
||||
return "IETF-%s" % (self.number)
|
||||
|
@ -51,6 +51,9 @@ class Meeting(models.Model):
|
|||
def get_meeting_date (self,offset):
|
||||
return self.date + datetime.timedelta(days=offset)
|
||||
|
||||
def end_date(self):
|
||||
return self.get_meeting_date(5)
|
||||
|
||||
@classmethod
|
||||
def get_first_cut_off(cls):
|
||||
date = cls.objects.all().filter(type="ietf").order_by('-date')[0].date
|
||||
|
|
|
@ -209,7 +209,7 @@ def html_agenda(request, num=None):
|
|||
return iphone_agenda(request, num)
|
||||
|
||||
meeting = get_meeting(num)
|
||||
timeslots = TimeSlot.objects.filter(Q(meeting = meeting.number)).order_by('time','name')
|
||||
timeslots = TimeSlot.objects.filter(Q(meeting__id = meeting.id)).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)
|
||||
|
@ -224,26 +224,6 @@ def html_agenda(request, num=None):
|
|||
"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 = [];
|
||||
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/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)
|
||||
|
||||
|
@ -457,19 +437,16 @@ def session_draft_pdf(request, num, session):
|
|||
os.unlink(pdfn)
|
||||
return HttpResponse(pdf_contents, mimetype="application/pdf")
|
||||
|
||||
def get_meeting (num=None):
|
||||
try:
|
||||
if num != None:
|
||||
meeting = OldMeeting.objects.get(number=num)
|
||||
else:
|
||||
meeting = OldMeeting.objects.all().order_by('-date')[:1].get()
|
||||
except OldMeeting.DoesNotExist:
|
||||
raise Http404("No meeting information for meeting %s available" % num)
|
||||
def get_meeting(num=None):
|
||||
if (num == None):
|
||||
meeting = Meeting.objects.filter(type="ietf").order_by("-date")[:1].get()
|
||||
else:
|
||||
meeting = get_object_or_404(Meeting, number=num)
|
||||
return meeting
|
||||
|
||||
def week_view(request, num=None):
|
||||
meeting = get_meeting(num)
|
||||
timeslots = TimeSlot.objects.filter(meeting = meeting.number)
|
||||
timeslots = TimeSlot.objects.filter(meeting__id = meeting.id)
|
||||
|
||||
template = "meeting/week-view.html"
|
||||
return render_to_response(template,
|
||||
|
@ -500,7 +477,7 @@ def ical_agenda(request, num=None):
|
|||
if item[0] == '~':
|
||||
include_types.append(item[1:2].upper()+item[2:])
|
||||
|
||||
timeslots = TimeSlot.objects.filter(Q(meeting = meeting.number),
|
||||
timeslots = TimeSlot.objects.filter(Q(meeting__id = meeting.id),
|
||||
Q(type__name__in = include_types) |
|
||||
Q(session__group__acronym__in = filter) |
|
||||
Q(session__group__parent__acronym__in = filter)
|
||||
|
@ -508,7 +485,6 @@ def ical_agenda(request, num=None):
|
|||
#Q(session__group__acronym__in = exclude) |
|
||||
#Q(session__group__parent__acronym__in = exclude))
|
||||
|
||||
# return HttpResponse(render_to_string("meeting/agendaREDESIGN.ics" if settings.USE_DB_REDESIGN_PROXY_CLASSES else "meeting/agenda.ics",
|
||||
return HttpResponse(render_to_string("meeting/agendaREDESIGN.ics",
|
||||
{"timeslots":timeslots, "meeting":meeting },
|
||||
RequestContext(request)), mimetype="text/calendar")
|
||||
|
@ -528,11 +504,7 @@ def csv_agenda(request, num=None):
|
|||
RequestContext(request)), mimetype="text/csv")
|
||||
|
||||
def meeting_requests(request, num=None) :
|
||||
if (num == None):
|
||||
meeting = Meeting.objects.filter(type="ietf").order_by("date").reverse()[0]
|
||||
else:
|
||||
meeting = get_object_or_404(Meeting, number=num)
|
||||
|
||||
meeting = get_meeting(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")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% load humanize %}
|
||||
{% block title %}IETF {{ meeting.num }} Meeting Agenda{% endblock %}
|
||||
{% block title %}IETF {{ meeting.number }} Meeting Agenda{% endblock %}
|
||||
|
||||
{% block morecss %}
|
||||
table#agenda { border: 0; border-collapse:collapse; }
|
||||
|
@ -162,17 +162,30 @@ img.hidden { display: none; }
|
|||
|
||||
}
|
||||
|
||||
/* Resizes an IFRAME to fit its contents and attempts to convert to a div */
|
||||
/* Resizes an IFRAME to fit its contents. */
|
||||
function r(iframe)
|
||||
{
|
||||
try
|
||||
{
|
||||
iframe.height = 1;
|
||||
iframe.style.border = "solid";
|
||||
iframe.style.borderWidth = "1px";
|
||||
iframe.style.margin = "0";
|
||||
iframe.style.padding = "10px";
|
||||
iframe.style.overflow = "auto";
|
||||
docHeight = iframe.contentWindow.document.body.scrollHeight;
|
||||
iframe.height = docHeight;
|
||||
}
|
||||
catch (e) { return; }
|
||||
|
||||
/* The following code works really well UNLESS some crazy chair
|
||||
decides to submit a text agenda that is, say, 500 columns wide.
|
||||
But this tends to happen. So, until I find a way to stop
|
||||
that brand of crazy from breaking the world, I'm disabling
|
||||
this code. Too bad, really -- it made the page much nicer to
|
||||
use. */
|
||||
return;
|
||||
|
||||
if (iframe.contentWindow.document.body.innerHTML)
|
||||
{
|
||||
var div = document.createElement("div");
|
||||
|
@ -236,16 +249,16 @@ img.hidden { display: none; }
|
|||
{% endblock pagehead %}
|
||||
{% block bodyAttrs %}onload='setGroupState();updateAgendaColors()'{% endblock %}
|
||||
{% 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 />
|
||||
<h1>IETF {{ meeting.number }} Meeting Agenda</h1>
|
||||
<p>{{ meeting.city }}, {{ meeting.date|date:"F j" }} – {% ifnotequal meeting.date.month meeting.end_date.month %}{{ meeting.end_date|date:"F " }}{% endifnotequal %}{{ meeting.end_date|date:"j, Y" }}<br />
|
||||
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>
|
||||
(There's also a <a href="/meeting/{{meeting.number}}/agenda.txt">plaintext agenda</a> and a <a href="http://tools.ietf.org/agenda/{{meeting.number}}/">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.number %}
|
||||
|
||||
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()">
|
||||
|
@ -291,34 +304,34 @@ You can customize the agenda below to show only selected working group sessions.
|
|||
<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 %}
|
||||
{% if slot.show_location %}<a href="http://tools.ietf.org/agenda/{{meeting.number}}/venue/?room={{ slot.get_location|slugify }}">{{slot.get_location|escape}}</a>{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% 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">
|
||||
<tr id="{{meeting.number}}-{{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>{% if slot.show_location %}<a href="http://tools.ietf.org/agenda/{{meeting.number}}/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 }}/">{{slot.session.group.name}}</a>
|
||||
<img src="/images/color-palette-4x4.gif" alt="" onclick="pickAgendaColor('{{meeting.number}}-{{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.number }}/agenda/{{ slot.session.group.acronym }}/">{{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>
|
||||
<td class="materials">{% if slot.session.agenda %}drafts: <a href="/meeting/{{meeting.number}}/agenda/{{slot.session.group.acronym}}-drafts.tgz">tar</a>|<a href="/meeting/{{ meeting.number }}/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">
|
||||
<tr id="{{meeting.number}}-{{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 }}/" onload="r(this)"></iframe>
|
||||
<iframe width="100%" height="1px" src="about:blank" xsrc="/meeting/{{ meeting.number }}/agenda/{{ slot.session.group.acronym }}/" onload="r(this)"></iframe>
|
||||
{% else %}
|
||||
<b><i>Agenda submitted in {{slot.session.agenda.file_extension|upper}} format</i></b>
|
||||
{% endif %}
|
||||
|
@ -333,7 +346,7 @@ You can customize the agenda below to show only selected working group sessions.
|
|||
<tr>
|
||||
<td></td>
|
||||
<td colspan="5">
|
||||
<iframe width="100%" height="1px" src="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}/" onload="r(this)"></iframe>
|
||||
<iframe width="100%" height="1px" src="/meeting/{{ meeting.number }}/agenda/{{ slot.session.group.acronym }}/" onload="r(this)"></iframe>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
|
Loading…
Reference in a new issue