<table class="calendar table table-bordered">
    <thead>
        <tr>
            <th class="time">&nbsp;</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.content.proposal.kind.slug }}" colspan="{{ slot.colspan }}" rowspan="{{ slot.rowspan }}">
                      {# this is a kludge until the slot.kind model has a property #}
                      {# to distinguish a presentation from a non-presentation slot #}
                        {% if slot.kind.label in "Track 5 Track 4 Track 3 Track 2 Track 1 Tutorial Track 5 Tutorial Track 4 Tutorial Track 3 Tutorial Track 2 Tutorial Track 1 Tutorials Track 1 Tutorials Track 2" %}
                            {% if slot.content %}
                                <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>
                            {% endif %}
                        {% else %}
                            {% if slot.content_override.raw %}
                                {{ slot.content_override.rendered|safe }}
                            {% else %}
                                {{ slot.kind.label }}
                            {% endif %}
                        {% endif %}
                    </td>
                {% endfor %}
                {% if forloop.last %}
                    <td colspan="{{ timetable.rooms|length }}"></td>
                {% endif %}
            </tr>
        {% endfor %}
    </tbody>
</table>

<table class="calendar table table-bordered">
    <thead>
        <tr>
            <th class="time">&nbsp;</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.content.proposal.kind.slug }}" colspan="{{ slot.colspan }}" rowspan="{{ slot.rowspan }}">
                      {% if slot.content %}
                          <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>
                      {% else %}
                        {% if slot.content_override_html %}
                            {{ slot.content_override_html|safe }}
                        {% else %}
                            {{ slot.kind.label }}
                        {% endif %}
                      {% endif %}
                    </td>
                {% endfor %}
                {% if forloop.last %}
                    <td colspan="{{ timetable.rooms|length }}"></td>
                {% endif %}
            </tr>
        {% endfor %}
    </tbody>
</table>

Simplify schedule cell display logic.
Simplify schedule cell display logic.

If slot has an attached presentation (slot.content will return True),
display presentation and speaker information. Otherwise, if slot has a
content override, display that. Otherwise, display the label of the slot
kind.

This eliminates the need to have hardcode slot kind labels (see #69) and
ensure that content overrides will display properly.
