datatracker/ietf/templates/meeting/session_details.html
Henrik Levkowetz 23ac054ad6 Merged in [16554] from rjsparks@nostrum.com:
Rework how SlideSuggestion objects name their files. Improve the UI when there are multiple pending suggestions for updating the same presentation.
 - Legacy-Id: 16570
Note: SVN reference [16554] has been migrated to Git commit 1e8eb0ed6d227e32816c4bc352a7301691eaaaac
2019-07-21 21:03:13 +00:00

114 lines
3.6 KiB
HTML

{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin ietf_filters staticfiles %}
{% block title %}{{ meeting }} : {{ acronym }}{% endblock %}
{% block morecss %}
.ui-sortable tr {
cursor:pointer;
}
{% endblock %}
{% block content %}
{% origin %}
<h1>{{ meeting }} : {{ acronym }}
{% if meeting.date >= thisweek %}
<a class="regular pull-right" title="icalendar entry for {{acronym}}@{{meeting.number}}" href="{% url 'ietf.meeting.views.ical_agenda' num=meeting.number acronym=acronym %}"><span class="fa fa-calendar"></span></a>
{% endif %}
</h1>
{% with use_panels=unscheduled_sessions %}
{% if use_panels %}
<div class="panel panel-default">
<div class="panel-heading">Scheduled Sessions</div>
<div class="panel-body">
{% endif %}
{% include 'meeting/session_details_panel.html' with sessions=scheduled_sessions %}
{% if use_panels %}
</div>
</div>
<div class="panel panel-warning">
<div class="panel-heading">Unscheduled Sessions</div>
<div class="panel-body">
{% endif %}
{% include 'meeting/session_details_panel.html' with sessions=unscheduled_sessions %}
{% if use_panels %}
</div>
</div>
{% endif %}
{% endwith %}
{% if pending_suggestions %}
<div class="panel panel-info">
<div class="panel-heading">{% if can_manage_materials %}Proposed slides awaiting your approval{% else %}Your proposed slides awaiting chair approval{% endif %}</div>
<div id="proposedslidelist" class="panel-body">
{% for s in pending_suggestions %}
{% if can_manage_materials %}
<p><a href="{% url "ietf.meeting.views.approve_proposed_slides" slidesubmission_id=s.pk num=s.session.meeting.number %}">{{s.submitter}} - {{s.title}} ({{s.time}})</a></p>
{% else %}
<p>{{s.title}} ({{s.time}})</p>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
{% endblock %}
{# TODO don't rely on secr/js version of jquery-ui #}
{# Sorting based loosely on the original secr upload sorting and on http://www.avtex.com/blog/2015/01/27/drag-and-drop-sorting-of-table-rows-in-priority-order/ #}
{% block js %}
{% if can_manage_materials %}
<script type="text/javascript" src="{% static 'jquery/jquery.min.js' %}"></script>
<script type="text/javascript" src="{% static 'secr/js/jquery-ui-1.11.4.custom.min.js' %}"></script>
<script type="text/javascript" src="{% static 'jquery.cookie/jquery.cookie.js' %}"></script>
<script type="text/javascript">
$.ajaxSetup({
crossDomain: false,
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
}
}
});
$(document).ready(function() {
var rowWidthHelper = function (e, tr) {
var $originals = tr.children();
var $helper = tr.clone();
$helper.children().each(function(index)
{
$(this).width($originals.eq(index).width())
});
return $helper;
};
$(".slides tbody").sortable({
helper: rowWidthHelper,
stop: function(event,ui) {adjustDatabase(ui.item.parent())}
}).disableSelection();
});
function adjustDatabase(tbody) {
tbody.find('tr').each(function() {
count = $(this).parent().children().index($(this)) + 1;
old_order = $(this).attr("data-order");
if ( count != old_order ) {
$(this).attr("data-order", count);
$.post($(this).attr("data-url"),{'order':count});
}
});
}
</script>
{% endif %}
{% endblock %}