symposion_app/pinaxcon/templates/symposion/schedule/_grid.html
James Polley 28d10ff9fc Remove the personalised bits of session chair display
- The schedule grid page is ridculously database-query heavy and hence
  terribly lacking in perfmantitude.
- Caching can help with this, but the caching implemention at present
  is not user-aware. If one user looks at the page, they'll get a
  "YOU" in all the places they're chair and something else everywhere
  else - and then everyone will see that for the next 600 seconds,
  then YOU will become someone else
- to avoid this, remove the request.user-specific bit of the template
2018-01-17 00:53:53 +11:00

75 lines
2.7 KiB
HTML

{% load lca2018_tags %}
{% load waffle_tags %}
<table class="calendar table table-bordered">
<thead>
<tr>
<th class="time">&nbsp;</th>
{% for room in timetable.rooms %}
<th>{{ room.name }}</th>
{% endfor %}
</tr>
{% with timetable|day_has_tracks:timetable.day as has_tracks %}
{% if has_tracks %}
<tr>
<th class="time">&nbsp;</th>
{% for room in timetable.rooms %}
{% with room|trackname:timetable.day as track_name %}
<th class="track-name">{% if track_name %}<p>{{ track_name }}{% endif %}</th>
{% endwith %}
{% endfor %}
</tr>
{% endif %}
{% endwith %}
</thead>
<tbody>
{% for row in timetable %}
<tr>
<td class="time"><h4>{{ row.time|date:"h:iA" }}</h4></td>
{% for slot in row.slots %}
<td class="slot slot-{{ slot.kind.label }}" colspan="{{ slot.colspan }}" rowspan="{{ slot.rowspan }}">
{% if slot.kind.label == "talk" or slot.kind.label == "tutorial" %}
{% if not slot.content %}
{% else %}
<span class="title">
<a href="{% url "schedule_presentation_detail" slot.content.pk %}">{{ slot.content.title }}</a>
</span>
<span class="speaker">
{{ slot.content.speakers|join:", " }}
</span>
{% flag "session_chair" %}
{% if slot.sessions %}
<div>
{% for session in slot.sessions.all %}
<em>Session chair:
{% if not session.chair %}
<a href="{% url "schedule_session_detail" session.id %}">Volunteer! 🙋</a>
{% endif %}</em>
{% endfor %}
</div>
{% endif %}
{% endflag %}
{% endif %}
{% elif slot.kind.label == "shortbreak" %}
{% else %}
{% if slot.content_override %}
{{ slot.content_override_html|safe }}
{% else %}
{{ slot.kind.label }}
{% endif %}
{% endif %}
{% if "break" in slot.kind.label %}
{% else %}
<span class="room">
{{ slot.rooms|join:", "}}<span class="endtime"> ends {{ slot.end|date:"h:iA" }}</span>
</span>
{% endif %}
</td>
{% endfor %}
{% if forloop.last %}
<td colspan="{{ timetable.rooms|length }}"></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>