Added links to agenda/materials pop-up, materials download, etherpad, jabber room, and webex call-in session for interims on the upcoming meetings page. With the earlier changes from [17555], this fixes issue #2937.

- Legacy-Id: 17576
Note: SVN reference [17555] has been migrated to Git commit e9756d8987
This commit is contained in:
Henrik Levkowetz 2020-04-03 09:19:34 +00:00
parent d2ba857003
commit b74ce877f8
6 changed files with 90 additions and 8 deletions

View file

@ -783,13 +783,15 @@ class SchedTimeSessAssignment(models.Model):
"""Return sensible id string for session, e.g. suitable for use as HTML anchor."""
components = []
components.append(self.schedule.meeting.number)
if not self.timeslot:
components.append("unknown")
if not self.session or not (getattr(self.session, "historic_group") or self.session.group):
components.append("unknown")
else:
components.append(self.timeslot.time.strftime("%a-%H%M"))
components.append(self.timeslot.time.strftime("%Y-%m-%d-%a-%H%M"))
g = getattr(self.session, "historic_group", None) or self.session.group

View file

@ -66,8 +66,8 @@ type_ietf_only_patterns = [
# This is a limited subset of the list above -- many of the views above won't work for interim meetings
type_interim_patterns = [
url(r'^agenda/(?P<session>[A-Za-z0-9-]+)-drafts.pdf$', views.session_draft_pdf),
url(r'^agenda/(?P<session>[A-Za-z0-9-]+)-drafts.tgz$', views.session_draft_tarfile),
url(r'^agenda/(?P<acronym>[A-Za-z0-9-]+)-drafts.pdf$', views.session_draft_pdf),
url(r'^agenda/(?P<acronym>[A-Za-z0-9-]+)-drafts.tgz$', views.session_draft_tarfile),
url(r'^materials/%(document)s((?P<ext>\.[a-z0-9]+)|/)?$' % settings.URL_REGEXPS, views.materials_document),
url(r'^agenda.json$', views.json_agenda)
]

View file

@ -2246,6 +2246,8 @@ def upcoming(request):
timeslotassignments__timeslot__time__gte=today
)
).filter(current_status__in=('sched','canceled'))
for session in interim_sessions:
session.historic_group = session.group
entries = list(ietf_meetings)
entries.extend(list(interim_sessions))

View file

@ -0,0 +1,42 @@
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load textfilters %}
{% load origin %}
{% origin %}
{% if session.agenda %}
{% with session.official_timeslotassignment as item %}
{% include "meeting/session_agenda_include.html" %}
<!-- agenda pop-up button -->
<button class="btn btn-default btn-xs" data-toggle="modal" data-target="#modal-{{item.slug}}" title="Show meeting materials"><span class="fa fa-arrows-alt"></span></button>
<!-- materials tar file -->
<a class="btn btn-default btn-xs" href="/meeting/{{meeting.number}}/agenda/{{session.group.acronym}}-drafts.tgz" title="Download meeting materials as .tar archive"><span class="fa fa-file-archive-o"></span></a>
<!-- materials PDF file -->
<a class="btn btn-default btn-xs" href="/meeting/{{ meeting.number }}/agenda/{{session.group.acronym}}-drafts.pdf" title="Download meeting materials as PDF file"><span class="fa fa-file-pdf-o"></span></a>
{% endwith %}
{% endif %}
<!-- etherpad -->
<a class="btn btn-default btn-xs" href="https://etherpad.ietf.org/p/notes-ietf-{{ meeting.number }}?useMonospaceFont=true" title="Etherpad for note-takers"><span class="fa fa-edit"></span></a>
<!-- Jabber -->
<a class="btn btn-default btn-xs" href="xmpp:{{session.jabber_room_name}}@jabber.ietf.org?join" title="Jabber room for {{session.jabber_room_name}}"><span class="fa fa-lightbulb-o"></span></a>
<!-- webex -->
{% if "https://ietf.webex.com" in session.agenda_note|first_url %}
<a class="btn btn-default btn-xs"
href="{{ session.agenda_note|first_url }}"
title="Webex session"><span class="fa fa-phone"></span>
</a>
{% elif "https://ietf.webex.com" in session.remote_instructions|first_url %}
<a class="btn btn-default btn-xs"
href="{{ session.remote_instructions|first_url }}"
title="Webex session"><span class="fa fa-phone"></span>
</a>
{% elif item.timeslot.location.webex_url %}
<a class="btn btn-default btn-xs"
href="{{item.timeslot.location.webex_url|format:session }}"
title="Webex session"><span class="fa fa-phone"></span>
</a>
{% else %}
<span class="btn btn-default btn-xs">
<span class="fa fa-phone" style="color: #ddd;"
title="No webex info found in remote instructions or agenda note"></span>
</span>
{% endif %}

View file

@ -1,9 +1,9 @@
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin %}
{% load origin %}{% origin %}
{% load staticfiles %}
{% load textfilters %}
{% load ietf_filters %}
<div class="modal fade" id="modal-{{ item.slug }}" tabindex="-1" role="dialog" aria-labelledby="label-{{ item.slug }}" aria-hidden="true">
<div class="modal fade text-left" id="modal-{{ item.slug }}" tabindex="-1" role="dialog" aria-labelledby="label-{{ item.slug }}" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">

View file

@ -48,7 +48,8 @@
<tr>
<th>Date</th>
<th>Group</th>
<th>Name</th>
<th>Meeting</th>
<th class="sorter-false text-right">&nbsp;</th>
</tr>
</thead>
<tbody>
@ -59,19 +60,24 @@
<td>{{ meeting.date }} - {{ meeting.end }}</td>
<td>ietf</td>
<td><a href="{% url 'ietf.meeting.views.agenda' num=meeting.number %}">IETF {{ meeting.number }}</a></td>
<td></td>
{% endwith %}
{% elif entry|classname == 'Session' %}
{% with session=entry %}
{% with session=entry meeting=entry.meeting%}
<td>{{ session.official_timeslotassignment.timeslot.utc_start_time | date:"Y-m-d H:i"}} - {{ session.official_timeslotassignment.timeslot.utc_end_time | date:"H:i e" }}</td>
<td>{{ session.group.acronym }}</td>
<td><a href="{% url 'ietf.group.views.group_about' acronym=session.group.acronym %}">{{ session.group.acronym }}</a></td>
<td>
<a href="{% url 'ietf.meeting.views.session_details' num=session.meeting.number acronym=session.group.acronym %}">{{ session.meeting.number }}{% if session.current_status == 'canceled' %}&nbsp;&nbsp;<span class="label label-warning">CANCELLED</span>{% endif %}</a>
</td>
<td class='text-right'>
{% include "meeting/interim_session_buttons.html" %}
</td>
{% endwith %}
{% else %}
<td><span class="label-warning">Unexpected entry type: {{entry|classname}}</span></td>
<td></td>
<td></td>
<td></td>
{% endif %}
</tr>
{% endfor %}
@ -132,5 +138,35 @@
calendar.render();
});
$(".modal").on("show.bs.modal", function () {
var i = $(this).find(".frame");
if ($(i).data("src")) {
$.get($(i).data("src"), function (data, status, xhr) {
var t = xhr.getResponseHeader("content-type");
if (t.indexOf("text/plain") > -1) {
data = "<pre class='agenda'>" + data + "</pre>";
} else if(t.indexOf("text/html") > -1) {
// nothing to do here
} else {
data = "<p>Unknown type: " + xhr.getResponseHeader("content-type") + "</p>";
}
$(i).html(data);
});
}
var j = $(this).find(".frame2");
if ($(j).data("src")) {
$.get($(j).data("src"), function (data, status, xhr) {
var t = xhr.getResponseHeader("content-type");
if (t.indexOf("text/plain") > -1) {
data = "<pre class='agenda'>" + data + "</pre>";
} else if(t.indexOf("text/html") > -1) {
// nothing to do here
} else {
data = "<p>Unknown type: " + xhr.getResponseHeader("content-type") + "</p>";
}
$(j).html(data);
});
}
});
</script>
{% endblock %}