* ci: Also check generated HTML with the "vnu" validator Because HTML Tidy apparently misses a bunch of errors. * thead -> tbody * More fixes * More fixes * Start checker in test runner
110 lines
6 KiB
HTML
110 lines
6 KiB
HTML
{% 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 group.parent as area_sessions %}
|
||
{% for area in area_sessions %}
|
||
<h2 class="mt-5" id="{{ area.grouper.acronym }}">
|
||
{{ area.grouper.acronym|upper }} <small class="text-muted">{{ area.grouper.name }}</small>
|
||
</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 data-sort="group">Group</th>
|
||
<th data-sort="num">Length</th>
|
||
<th data-sort="num">Size</th>
|
||
<th data-sort="requester">Requester</th>
|
||
<th data-sort="ad">AD</th>
|
||
<th data-sort="constraints">Constraints</th>
|
||
<th data-sort="special">Special requests</th>
|
||
</tr>
|
||
</thead>
|
||
{% for session in area.list %}
|
||
{% ifchanged %}
|
||
<tbody>
|
||
<tr>
|
||
<th class="table-warning" colspan="7">{{ session.current_status_name|capfirst }}</th>
|
||
</tr>
|
||
</tbody>
|
||
{% endifchanged %}
|
||
<tbody>
|
||
<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>{% person_link session.requested_by_person %}</td>
|
||
<td>
|
||
{% 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 == 'conflict' %}text-danger{% elif constraint_name_slug == 'conflic2' %}text-warning{% elif constraint_name_slug == 'conflic3' %}text-success{% else %}{{ constraint_name_slug }}{% endif %}">
|
||
{% endwith %}
|
||
{{ constraint.brief_display }}
|
||
</span>
|
||
{% endif %}{% if not forloop.last %},{% endif %}
|
||
{% if constraint_target_parent_id == constraint_source_parent_id and not constraint_person %}</b>{% endif %}
|
||
{% endwith %}
|
||
{% endwith %}
|
||
{% endwith %}
|
||
{% endfor %}
|
||
{% endfor %}
|
||
{% endif %}
|
||
</td>
|
||
<td>
|
||
{% if session.comments %}{{ session.comments|linebreaksbr }}{% endif %}
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
{% endfor %}
|
||
</table>
|
||
{% endfor %}
|
||
{% endblock %}
|
||
{% block js %}
|
||
<script src="{% static "ietf/js/list.js" %}"></script>
|
||
{% endblock %} |