datatracker/ietf/templates/meeting/edit_meeting_schedule.html
Ole Laursen 5faccf5379 Put the time slots in the new meeting schedule editor on a time scale
per day. This opens the possibility of having the slots not match
across the different rooms.

Add colors to session in areas/IRTF. Add support for toggling display
of areas/IRTF.

Show graphical hint when a time slot is overfull.
 - Legacy-Id: 17415
2020-03-09 19:40:31 +00:00

125 lines
4 KiB
HTML

{% extends "base.html" %}
{# Copyright The IETF Trust 2015-2020, All Rights Reserved #}
{% load origin %}
{% load staticfiles %}
{% load ietf_filters %}
{% block morecss %}
{% for parent in session_parents %}
.parent-{{ parent.acronym }} {
background: linear-gradient(to right, {{ parent.scheduling_color }} 0.4em, #fff 0.5em);
}
{% endfor %}
{% endblock morecss %}
{% block title %}{{ schedule.name }}: IETF {{ meeting.number }} meeting schedule{% endblock %}
{% block js %}
<script>
jQuery.ajaxSetup({
crossDomain: false, // obviates need for sameOrigin test
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
}
}
});
</script>
<script type="text/javascript" src="{% static 'ietf/js/edit-meeting-schedule.js' %}"></script>
<script type='text/javascript'>
var ietfScheduleData = {{ schedule_data|safe }};
</script>
{% endblock js %}
{% block content %}
{% origin %}
<div class="edit-meeting-schedule">
<p class="pull-right">
<a href="{% url "ietf.meeting.views.copy_meeting_schedule" num=meeting.number owner=schedule.owner_email name=schedule.name %}">Copy schedule</a>
&middot;
<a href="{% url "ietf.meeting.views.list_schedules" num=meeting.number %}">All schedules for meeting</a>
</p>
<p>
Schedule name: {{ schedule.name }}
&middot;
Owner: {{ schedule.owner }}
{% if not can_edit %}
&middot;
<em>You can't edit this schedule. Take a copy first.</em>
{% endif %}
</p>
<div class="edit-grid">
{# note: in order for all this to align properly, make sure there's the same markup in all columns #}
<div class="time-labels-column schedule-column">
<h5>&nbsp;</h5>
{% for d in time_labels %}
<div class="day-label">
<strong>{{ d.day|date:"D" }}</strong><br>
<i>{{ d.day|date:"Y-m-d" }}</i>
</div>
<div class="day" style="height: {{ d.height }}em;">
{% for t, vertical_alignment, vertical_offset, horizontal_alignment in d.labels %}
<div class="time-label {{ vertical_alignment }}-aligned text-{{ horizontal_alignment }}" style="{{ vertical_alignment }}: {{ vertical_offset }}em;">
<span>{{ t|date:"H:i" }}</span>
</div>
{% endfor %}
</div>
{% endfor %}
</div>
{% for r in room_columns %}
<div class="room-column schedule-column">
<h5>{{ r.room.name }}{% if r.room.capacity %} ({{ r.room.capacity }} <i class="fa fa-user-o"></i>{% endif %})</h5>
{% for d in r.days %}
<div class="day-label">
<strong>{{ d.day|date:"D" }}</strong><br>
<i>{{ d.day|date:"Y-m-d" }}</i>
</div>
<div class="day" style="height: {{ d.height }}em;">
{% for t in d.timeslots %}
<div class="timeslot" data-timeslot="{{ t.timeslot.pk }}" data-duration="{{ t.timeslot.duration.total_seconds }}" style="top: {{ t.offset }}em; height: {{ t.height }}em;">
{% for assignment, session in t.timeslot.session_assignments %}
{% include "meeting/edit_meeting_schedule_session.html" %}
{% endfor %}
</div>
{% endfor %}
</div>
{% endfor %}
</div>
{% endfor %}
</div>
<div class="scheduling-panel">
<h5>Not yet assigned</h5>
<div class="unassigned-sessions">
{% for session in unassigned_sessions %}
{% include "meeting/edit_meeting_schedule_session.html" %}
{% endfor %}
</div>
<div class="session-parent-toggles">
Show:
{% for p in session_parents %}
<label class="parent-{{ p.acronym }}"><input type="checkbox" checked value="{{ p.acronym }}"> {{ p.acronym }}</label>
{% endfor %}
</div>
</div>
</div>
{% endblock %}