Files @ 7fac10241ec7
Branch filter:

Location: symposion_app/pinaxcon/templates/symposion/schedule/_grid.html

Joel Addison
Improve attendee reports

Display attendee profile data in normal table without DataTables so
sorting is not applied, causing data to be confusing to read.
Include item quantity in attendee data report for accurate schwag packing.
{% load lca2018_tags %}
{% load waffle_tags %}

<table class="calendar table table-bordered">
  <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>Miniconf</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"><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 }}">
        {% 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>