datatracker/ietf/templates/meeting/requests.html
Jennifer Richards ba7d468a4d
feat: show meeting requests beyond rg/wg groups (#4134)
* feat: show session requests for all "has_meetings" groups

* test: test changes to groups whose session requests are shown

Note the change in capitalization for the 'active' group state fixes
the test but does not seem to affect production (which I guess uses
case insensitive matching?)

* test: remove leftover debug statement

* feature: exclude admin/social sessions from meeting requests view

* test: test exclusion of admin/social sessions from meeting requests view

* feat: group all non-area groups as "other" on meeting requests page

* fix: prevent doubling of first section header

* test: verify that more of the sreqs are / are not linked
2022-06-29 09:49:33 -05:00

112 lines
6.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin %}
{% load ietf_filters static person_filters %}
{% block pagehead %}
<link rel="stylesheet" href="{% static "ietf/css/list.css" %}">
{% endblock %}
{% block title %}IETF {{ meeting.number }} timeslot requests{% endblock %}
{% block content %}
{% origin %}
<h1 class="title">
IETF {{ meeting.number }} timeslot requests
<br>
<small class="text-muted">{{ meeting.city }}, {{ meeting.country }}
{% if meeting.venue_name %} {{ meeting.venue_name }}{% endif %}
</small>
</h1>
{% regroup sessions by display_area as area_sessions %}
{% for area in area_sessions %}
<h2 class="mt-5" id="{% firstof area.grouper.acronym "other-groups" %}">
{% if area.grouper is not None %}
{{ area.grouper.acronym|upper }} <small class="text-muted">{{ area.grouper.name }}</small>
{% else %}
Other Groups
{% endif %}
</h2>
<p class="alert alert-info my-3">
<b>No timeslot request received for:</b>
{% for group in groups_not_meeting %}
{% if group.parent.id == area.grouper.id %}{{ group.acronym }}{% endif %}
{% endfor %}
</p>
<table class="table table-sm table-striped tablesorter">
<thead>
<tr>
<th scope="col" data-sort="group">Group</th>
<th scope="col" data-sort="count">Length</th>
<th scope="col" data-sort="num">Size</th>
<th scope="col" class="d-none d-sm-table-cell" data-sort="requester">Requester</th>
<th scope="col" class="d-none d-sm-table-cell" data-sort="ad">AD</th>
<th scope="col" data-sort="constraints">Constraints</th>
<th scope="col" data-sort="special">Special requests</th>
</tr>
</thead>
{% for session in area.list %}
{% ifchanged session.current_status_name %}
{% if not forloop.first %}</tbody>{% endif %}
<tbody>
<tr>
<th scope="col" class="table-warning" colspan="7">{{ session.current_status_name|capfirst }}</th>
</tr>
</tbody>
<tbody>
{% endifchanged %}
<tr>
<td>
<a href="{% url "ietf.secr.sreq.views.edit" num=meeting.number acronym=session.group.acronym %}">
{{ session.group.acronym }}
</a>
{% if session.joint_with_groups.count %}joint with {{ session.joint_with_groups_acronyms|join:' ' }}{% endif %}
</td>
<td>
{% if session.requested_duration %}{{ session.requested_duration|stringformat:"s"|slice:"0:4" }}{% endif %}
</td>
<td>{{ session.attendees|default:"" }}</td>
<td class="d-none d-sm-table-cell">{% person_link session.requested_by_person %}</td>
<td class="d-none d-sm-table-cell">
{% if session.group.ad_role %}
{% person_link session.group.ad_role.person %}
{% endif %}
</td>
<td>
{% if session.requested_duration %}
{% regroup session.constraints by name as prioritized_constraints %}
{% for grouped_constraint in prioritized_constraints %}
{% if not forloop.first %}
{% ifchanged grouped_constraint.grouper %}
<br>
{% endifchanged %}
{% endif %}
<b>{{ grouped_constraint.grouper.name }}:</b>
{% for constraint in grouped_constraint.list %}
{% with constraint.target.parent.id as constraint_target_parent_id %}
{% with constraint.source.parent.id as constraint_source_parent_id %}
{% with constraint.person as constraint_person %}
{% if constraint_target_parent_id == constraint_source_parent_id and not constraint_person %}<b>{% endif %}
{% if constraint.name.slug == "bethere" %}{% person_link constraint_person %}
{% else %}
{% with constraint.name.slug as constraint_name_slug %}
<span class="{% if constraint_name_slug == 'chair_conflict' %}text-danger{% elif constraint_name_slug == 'tech_overlap' %}text-info{% elif constraint_name_slug == 'key_participant' %}text-success{% else %}{{ constraint_name_slug }}{% endif %}">
{% endwith %}
{{ constraint.brief_display.strip }}</span>{% endif %}{% if constraint_target_parent_id == constraint_source_parent_id and not constraint_person %}</b>{% endif %}{% if not forloop.last %}, {% endif %}
{% endwith %}
{% endwith %}
{% endwith %}
{% endfor %}
{% endfor %}
{% endif %}
</td>
<td>
{% if session.comments %}{{ session.comments|linebreaksbr }}{% endif %}
</td>
</tr>
{% if forloop.last %}</tbody>{% endif %}
{% endfor %}
</table>
{% endfor %}
{% endblock %}
{% block js %}
<script src="{% static "ietf/js/list.js" %}"></script>
{% endblock %}