symposion_app/pinaxcon/templates/symposion/schedule/_grid.html
2022-12-09 00:20:40 +10:00

83 lines
3.2 KiB
HTML

{% load lca2018_tags %}
{% load waffle_tags %}
<table class="calendar table table-bordered" data-date="{{ timetable.day.date|date:'c' }}">
<thead>
<tr>
<th scope="row" class="time"><em>Room</em></th>
{% for room in timetable.rooms %}
<th scope="column">{{ room.name }}</th>
{% endfor %}
</tr>
{% with timetable|day_has_tracks:timetable.day as has_tracks %}
{% if has_tracks %}
<tr>
<th scope="row" class="time"><em>Track</em></th>
{% for room in timetable.rooms %}
{% with room|trackname:timetable.day as track_name %}
<th scope="column" class="track-name">{% if track_name %}<p>{{ track_name }}</p>{% endif %}</th>
{% endwith %}
{% endfor %}
</tr>
{% endif %}
{% endwith %}
</thead>
<tbody>
{% for row in timetable %}
<tr class="calendar-row">
<th scope="row" class="time" data-time="{{ timetable.day.date|date:'c' }}T{{ row.time|date:'c' }}"><p>{{ row.time|date:"h:iA" }}</p></th>
{% for slot in row.slots %}
<td class="slot slot-{{ slot.kind.label }}" colspan="{{ slot.colspan }}" rowspan="{{ slot.rowspan }}" data-starttime="{{ slot.start_datetime|date:'c' }}" data-endtime="{{ slot.end_datetime|date:'c' }}">
{% with slot.kind.label.lower as label %}
{% if label == "talk" or label == "tutorial" %}
{% if slot.content.unpublish and not request.user.is_staff %}
<p><em>To be announced</em></p>
{% elif slot.content %}
<p>
<a href="{% url "schedule_presentation_detail" slot.content.pk %}">{{ slot.content.title }}</a>
<br />
{{ slot.content.speakers|join:", " }}
</p>
{% if slot.content.unpublish %}
<span class="badge badge-pill badge-warning">Unpublished</span>
{% endif %}
{% flag "session_chair" %}
{% if slot.sessions and not edit_schedule %}
<div>
{% for session in slot.sessions.all %}
<em>Session chair:
{% if not session.chair %}
<a href="{% url "schedule_session_detail" session.id %}">Volunteer! 🙋</a>
{% else %}
<a href="{% url "schedule_session_detail" session.id %}">{{ session.chair.user.attendee.attendeeprofilebase.attendeeprofile.name }}</a>
{% endif %}
</em>
{% endfor %}
</div>
{% endif %}
{% endflag %}
{% endif %}
{% elif label == "shortbreak" %}
{% else %}
{% if slot.content_override %}
{{ slot.content_override_html|safe }}
{% else %}
<div class="d-flex align-items-center">
<p>{{ slot.kind.label }}</p>
</div>
{% endif %}
{% endif %}
{% endwith %}
{% if edit_schedule %}
<a class="btn btn-secondary btn-sm edit-slot" role="button" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">Edit</a>
{% endif %}
</td>
{% endfor %}
{% if forloop.last %}
<td colspan="{{ timetable.rooms|length }}"><em>Day End</em></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>