assignments on the base schedule are shown in the pages for the schedule, read-only. This allows managing things like breaks and misc sessions separately from the regular WG sessions. Base schedules are not allowed to be the base of other base schedules (the hierarchy can only be one level deep) to simplify the mental model and the code. Add link for creating new schedules instead of relying on copying Empty-Schedule and change the meeting creation code to no longer create the special Empty-Schedule. Instead a "base" schedule is created and a first schedule with the name and permissions of the user creating the meeting, using "base" as base. Speed up a couple of the Secretariat/AD agenda views by adding prefetches. - Legacy-Id: 18355
87 lines
3.3 KiB
HTML
87 lines
3.3 KiB
HTML
<div id="session{{ session.pk }}" class="session {% if not session.group.parent.scheduling_color %}untoggleable{% endif %} {% if session.parent_acronym %}parent-{{ session.parent_acronym }}{% endif %} {% if session.readonly %}readonly{% endif %}" style="width:{{ session.layout_width }}em;" data-duration="{{ session.requested_duration.total_seconds }}" {% if session.attendees != None %}data-attendees="{{ session.attendees }}"{% endif %}>
|
|
<div class="session-label {% if session.group and session.group.is_bof %}bof-session{% endif %}">
|
|
{{ session.scheduling_label }}
|
|
</div>
|
|
|
|
<div>
|
|
<span class="requested-duration">{{ session.requested_duration_in_hours|floatformat }}h</span>
|
|
|
|
{% if session.attendees != None %}
|
|
<span class="attendees">· {{ session.attendees }}</span>
|
|
{% endif %}
|
|
|
|
{% if session.comments %}
|
|
<span class="comments"><i class="fa fa-comment-o"></i></span>
|
|
{% endif %}
|
|
|
|
{% if session.constrained_sessions %}
|
|
<span class="constraints">
|
|
{% for label, sessions in session.constrained_sessions %}
|
|
<span data-sessions="{{ sessions|join:"," }}">{{ label }}</span>
|
|
{% endfor %}
|
|
</span>
|
|
{% endif %}
|
|
</div>
|
|
|
|
{# the JS uses this to display session information in the bottom panel #}
|
|
<div class="session-info">
|
|
<div class="title">
|
|
<strong>
|
|
<span class="time pull-right"></span>
|
|
{{ session.scheduling_label }}
|
|
· {{ session.requested_duration_in_hours }}h
|
|
{% if session.group %}
|
|
· {% if session.group.is_bof %}BoF{% else %}{{ session.group.type.name }}{% endif %}
|
|
{% endif %}
|
|
{% if session.attendees != None %}
|
|
· {{ session.attendees }} <i class="fa fa-user-o"></i>
|
|
{% endif %}
|
|
</strong>
|
|
</div>
|
|
|
|
{% if session.group %}
|
|
<div>
|
|
{{ session.group.name }}
|
|
{% if session.group.parent %}
|
|
· <span class="session-parent">{{ session.group.parent.acronym }}</span>
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if session.requested_by_person %}
|
|
<div>
|
|
<i title="Requested by" class="fa fa-user-circle-o"></i> {{ session.requested_by_person.plain_name }} {% if session.requested_time %}({{ session.requested_time|date:"Y-m-d" }}){% endif %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if session.resources.all %}
|
|
<div>
|
|
Resources:
|
|
{% for r in session.resources.all %}
|
|
{{ r.name }}{% if not forloop.last %},{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if session.comments %}
|
|
<div class="comments">
|
|
{{ session.comments|linebreaksbr }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if session.formatted_constraints %}
|
|
<div class="formatted-constraints">
|
|
{% for constraint_name, values in session.formatted_constraints.items %}
|
|
<div>
|
|
<span title="{{ constraint_name.name }}">{{ constraint_name.countless_formatted_editor_label }}</span>: {{ values|join:", " }}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% for s in session.other_sessions %}
|
|
<div class="other-session" data-othersessionid="{{ s.pk }}"><i class="fa fa-calendar"></i> Other session <span class="time" data-scheduled="scheduled: {time}" data-notscheduled="not yet scheduled"></span></div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|