<table class="calendar table table-bordered"> <thead> <tr> <th class="time"> </th> {% for room in timetable.rooms %} <th>{{ room.name }}</th> {% endfor %} </tr> </thead> <tbody> {% for row in timetable %} <tr> <td class="time">{{ row.time|date:"h:iA" }}</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 %} <a class="btn btn-xs edit-slot" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">+</a> {% else %} <span class="title"><a class="edit-slot" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">{{ slot.content.title }}</a></span> <span class="speaker">{{ slot.content.speaker }}</span> {% endif %} {% else %} {% if slot.content_override.raw %} {{ slot.content_override.rendered|safe }} {% else %} {{ slot.kind.label }} {% endif %} — <a class="edit-slot" 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 }}"></td> {% endif %} </tr> {% endfor %} </tbody> </table>