More agenda template fixes.
- Legacy-Id: 19656
This commit is contained in:
parent
be3a8f71ce
commit
75b5fc158e
|
@ -2,7 +2,7 @@ module.exports = {
|
||||||
extends: ["eslint:recommended"],
|
extends: ["eslint:recommended"],
|
||||||
rules: {
|
rules: {
|
||||||
indent: ["error", 4],
|
indent: ["error", 4],
|
||||||
quotes: ["error", "double", { avoidEscape: true, allowTemplateLiterals: true }],
|
quotes: "off",
|
||||||
"no-multiple-empty-lines": ["error", { max: 2, maxEOF: 0 }],
|
"no-multiple-empty-lines": ["error", { max: 2, maxEOF: 0 }],
|
||||||
"quote-props": ["error", "as-needed"],
|
"quote-props": ["error", "as-needed"],
|
||||||
"brace-style": ["error", "1tbs", { allowSingleLine: true }],
|
"brace-style": ["error", "1tbs", { allowSingleLine: true }],
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="col" id="content">
|
<div class="col mx-3" id="content">
|
||||||
{% comment %} {% bootstrap_messages %} {% endcomment %}
|
{% comment %} {% bootstrap_messages %} {% endcomment %}
|
||||||
{% for message in messages %}
|
{% for message in messages %}
|
||||||
<div class="alert{% if message.level_tag %} alert-{% if message.level_tag == 'error' %}danger{% else %}{{ message.level_tag }}{% endif %}{% endif %}{% if message.extra_tags %} {{ message.extra_tags }}{% endif %} alert-dismissable fade show">
|
<div class="alert{% if message.level_tag %} alert-{% if message.level_tag == 'error' %}danger{% else %}{{ message.level_tag }}{% endif %}{% endif %}{% if message.extra_tags %} {{ message.extra_tags }}{% endif %} alert-dismissable fade show">
|
||||||
|
|
|
@ -7,48 +7,14 @@
|
||||||
{% load htmlfilters agenda_custom_tags%}
|
{% load htmlfilters agenda_custom_tags%}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
IETF {{ schedule.meeting.number }} meeting agenda
|
IETF {{ schedule.meeting.number }} Meeting Agenda
|
||||||
{% if "-utc" in request.path %}
|
{% if "-utc" in request.path %}
|
||||||
(UTC)
|
(UTC)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block morecss %}
|
{% block morecss %}
|
||||||
iframe#weekview { height: 600px; width: 100%; }
|
iframe#weekview { height: 25em; }
|
||||||
tr:not(:first-child) th.gap {
|
|
||||||
height: 3em !important;
|
|
||||||
background-color: inherit !important;
|
|
||||||
border: none !important;
|
|
||||||
}
|
|
||||||
tr:first-child th.gap {
|
|
||||||
height: 0 !important;
|
|
||||||
background-color: inherit !important;
|
|
||||||
border: none !important;
|
|
||||||
}
|
|
||||||
.session-materials .agenda-frame,.minutes-frame {
|
|
||||||
white-space: normal;
|
|
||||||
}
|
|
||||||
div.tz-display {
|
|
||||||
margin-bottom: 0.5em;
|
|
||||||
margin-top: 1em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.tz-display a {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.tz-display label {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.tz-display select {
|
|
||||||
min-width: 15em;
|
|
||||||
}
|
|
||||||
#affix .nav li.tz-display {
|
|
||||||
padding: 4px 20px;
|
|
||||||
}
|
|
||||||
#affix .nav li.tz-display a {
|
|
||||||
display: inline;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block bodyAttrs %}data-spy="scroll" data-target="#affix"{% endblock %}
|
{% block bodyAttrs %}data-spy="scroll" data-target="#affix"{% endblock %}
|
||||||
|
@ -57,14 +23,12 @@
|
||||||
{% origin %}
|
{% origin %}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
{% if "-utc" in request.path %}
|
||||||
{% if "-utc" in request.path %}
|
{% include "meeting/meeting_heading.html" with meeting=schedule.meeting updated=updated selected="agenda-utc" title_extra="(UTC)" %}
|
||||||
{% include "meeting/meeting_heading.html" with meeting=schedule.meeting updated=updated selected="agenda-utc" title_extra="(UTC)" %}
|
{% else %}
|
||||||
{% else %}
|
{% include "meeting/meeting_heading.html" with meeting=schedule.meeting updated=updated selected="agenda" title_extra="" %}
|
||||||
{% include "meeting/meeting_heading.html" with meeting=schedule.meeting updated=updated selected="agenda" title_extra="" %}
|
{% endif %}
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
|
@ -72,22 +36,25 @@
|
||||||
{% load cache %}
|
{% load cache %}
|
||||||
{% cache cache_time ietf_meeting_agenda_utc schedule.meeting.number request.path %}
|
{% cache cache_time ietf_meeting_agenda_utc schedule.meeting.number request.path %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-6"><h1>Agenda</h1></div>
|
<div class="col-5">
|
||||||
<div class="col-xs-6">
|
<h2>Agenda</h2>
|
||||||
<div class="tz-display">
|
</div>
|
||||||
<div><small>
|
<div class="col float-end">
|
||||||
<label for="timezone-select">Time zone:</label>
|
<div class="input-group input-group-sm">
|
||||||
<a id="meeting-timezone" onclick="ietf_timezone.use('{{ timezone }}')">Meeting</a> |
|
<label class="input-group-text border-secondary">Time zone:</label>
|
||||||
<a id="local-timezone" onclick="ietf_timezone.use('local')">Local</a> |
|
<button class="btn btn-outline-secondary" type="button" id="meeting-timezone" onclick="ietf_timezone.use('{{ timezone }}')">Meeting</button>
|
||||||
<a id="utc-timezone" onclick="ietf_timezone.use('UTC')">UTC</a>
|
<button class="btn btn-outline-secondary" type="button" id="local-timezone" onclick="ietf_timezone.use('local')">Local</button>
|
||||||
</small></div>
|
<button class="btn btn-outline-secondary" type="button" id="utc-timezone" onclick="ietf_timezone.use('UTC')">UTC</button>
|
||||||
<select id="timezone-select" class="tz-select">
|
<select id="timezone-select" class="tz-select form-select border-secondary">
|
||||||
{# Avoid blank while loading. JavaScript replaces the option list after init. #}
|
{# Avoid blank while loading. JavaScript replaces the option list after init. #}
|
||||||
<option selected>{{ timezone }}</option>
|
<option selected>{{ timezone }}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if is_current_meeting %}
|
{% if is_current_meeting %}
|
||||||
<p class="alert alert-info">
|
<p class="alert alert-info">
|
||||||
<b>Note:</b> IETF agendas are subject to change, up to and during a meeting.
|
<b>Note:</b> IETF agendas are subject to change, up to and during a meeting.
|
||||||
|
@ -100,23 +67,22 @@
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% include "meeting/agenda_filter.html" with filter_categories=filter_categories customize_button_text="Customize the agenda view..." %}
|
<p>
|
||||||
|
{% include "meeting/agenda_filter.html" with filter_categories=filter_categories customize_button_text="Customize the agenda view..." %}
|
||||||
|
</p>
|
||||||
<h2>Download as .ics</h2>
|
<h2>Download as .ics</h2>
|
||||||
<p class="buttonlist">
|
<p>
|
||||||
{% for fc in filter_categories %}
|
{% for fc in filter_categories %}
|
||||||
{% if not forloop.last %} {# skip the last group, it's the office hours/misc #}
|
{% if not forloop.last %} {# skip the last group, it's the office hours/misc #}
|
||||||
<div style="display:inline-block;margin-right:1em">
|
{% for p in fc|dictsort:"label" %}
|
||||||
{% for p in fc|dictsort:"label" %}
|
<a class="btn btn-primary btn-sm mb-3" href="{% url "ietf.meeting.views.agenda_ical" num=schedule.meeting.number %}?show={{p.keyword}}">{{p.label}}</a>
|
||||||
<a class="btn btn-default" href="{% url "ietf.meeting.views.agenda_ical" num=schedule.meeting.number %}?show={{p.keyword}}">{{p.label}}</a>
|
{% endfor %}
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<div style="display:inline-block">
|
|
||||||
<a class="btn btn-default" href="{% url "ietf.meeting.views.agenda_ical" num=schedule.meeting.number %}?show={{ non_area_keywords|join:',' }}">Non-area events</a>
|
<a class="btn btn-primary btn-sm mb-3" href="{% url "ietf.meeting.views.agenda_ical" num=schedule.meeting.number %}?show={{ non_area_keywords|join:',' }}">Non-area events</a>
|
||||||
<a id="ical-link" class="hidden btn btn-primary agenda-link filterable" href="{% url "ietf.meeting.views.agenda_ical" num=schedule.meeting.number %}">Customized schedule</a>
|
|
||||||
</div>
|
<a id="ical-link" class="hidden btn btn-primary btn-sm mb-3 agenda-link filterable" href="{% url "ietf.meeting.views.agenda_ical" num=schedule.meeting.number %}">Customized schedule</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
|
@ -127,18 +93,19 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<iframe class="hidden" id="weekview"></iframe>
|
<iframe class="hidden w-100" scrolling="no" id="weekview"></iframe>
|
||||||
|
|
||||||
|
<h2>Detailed Agenda</h2>
|
||||||
|
|
||||||
<table class="table table-sm table-striped">
|
<table class="table table-sm table-striped">
|
||||||
{% for item in filtered_assignments %}
|
{% for item in filtered_assignments %}
|
||||||
|
|
||||||
{% ifchanged item.timeslot.time|date:"Y-m-d" %}
|
{% ifchanged item.timeslot.time|date:"Y-m-d" %}
|
||||||
<tr><th class="gap" colspan="7"></th></tr>
|
|
||||||
<tr class="table-warning">
|
<tr class="table-warning">
|
||||||
<th colspan="7">
|
<th colspan="7">
|
||||||
{# The anchor here needs to be in a div, not in the th, in order for the anchor-target margin hack to work #}
|
{# The anchor here needs to be in a div, not in the th, in order for the anchor-target margin hack to work #}
|
||||||
<div class="anchor-target" id="{{item.timeslot.time|slugify}}"></div>
|
<div class="anchor-target" id="{{item.timeslot.time|slugify}}"></div>
|
||||||
{{ item.timeslot.time|date:"l, F j, Y" }}
|
<h6 class="mt-2">{{ item.timeslot.time|date:"l, F j, Y" }}</h6>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
{% endifchanged %}
|
{% endifchanged %}
|
||||||
|
@ -165,7 +132,7 @@
|
||||||
{% if item.timeslot.location.floorplan %}
|
{% if item.timeslot.location.floorplan %}
|
||||||
<div class="hidden-xs">
|
<div class="hidden-xs">
|
||||||
<a href="{% url 'ietf.meeting.views.floor_plan' num=schedule.meeting.number %}#{{floor.name|xslugify}}"
|
<a href="{% url 'ietf.meeting.views.floor_plan' num=schedule.meeting.number %}#{{floor.name|xslugify}}"
|
||||||
class="float-end" title="{{floor.name}}"><span class="badge bg-blank label-wide">{{floor.short}}</span></a>
|
class="float-end" title="{{floor.name}}"><span class="badge bg-secondary label-wide">{{floor.short}}</span></a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
@ -179,7 +146,7 @@
|
||||||
{% if item.session.current_status == 'canceled' %}
|
{% if item.session.current_status == 'canceled' %}
|
||||||
<span class="badge bg-danger float-end">CANCELLED</span>
|
<span class="badge bg-danger float-end">CANCELLED</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="float-end padded-left">
|
<div class="float-end ps-3">
|
||||||
{% if item.slot_type.slug == 'other' %}
|
{% if item.slot_type.slug == 'other' %}
|
||||||
{% if item.session.agenda or item.session.remote_instructions or item.session.agenda_note %}
|
{% if item.session.agenda or item.session.remote_instructions or item.session.agenda_note %}
|
||||||
{% include "meeting/session_buttons_include.html" with show_agenda=True item=item schedule=schedule %}
|
{% include "meeting/session_buttons_include.html" with show_agenda=True item=item schedule=schedule %}
|
||||||
|
@ -249,7 +216,7 @@
|
||||||
{% if item.timeslot.location.floorplan %}
|
{% if item.timeslot.location.floorplan %}
|
||||||
<div class="hidden-xs">
|
<div class="hidden-xs">
|
||||||
<a href="{% url 'ietf.meeting.views.floor_plan' num=schedule.meeting.number %}#{{floor.name|xslugify}}"
|
<a href="{% url 'ietf.meeting.views.floor_plan' num=schedule.meeting.number %}#{{floor.name|xslugify}}"
|
||||||
class="float-end" title="{{floor.name}}"><span class="badge bg-blank">{{floor.short}}</span></a>
|
class="float-end" title="{{floor.name}}"><span class="badge bg-secondary">{{floor.short}}</span></a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
@ -285,7 +252,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if item.session.historic_group.state_id == "bof" %}
|
{% if item.session.historic_group.state_id == "bof" %}
|
||||||
<span class="badge bg-success float-end">BOF</span>
|
<span class="badge bg-success float-end me-2">BOF</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if item.session.current_status == 'resched' %}
|
{% if item.session.current_status == 'resched' %}
|
||||||
|
|
|
@ -10,85 +10,64 @@ Optional parameters:
|
||||||
|
|
||||||
<div class="accordion" id="accordion">
|
<div class="accordion" id="accordion">
|
||||||
<div class="accordion-item">
|
<div class="accordion-item">
|
||||||
|
|
||||||
<h2 class="accordion-header" id="heading">
|
<h2 class="accordion-header" id="heading">
|
||||||
<button class="accordion-button {% if not always_show %}collapsed{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#collapse" aria-expanded="{% if not always_show %}false{% else %}true{% endif %}" aria-controls="collapse">
|
<button class="accordion-button {% if not always_show %}collapsed{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#customize" aria-expanded="{% if not always_show %}false{% else %}true{% endif %}" aria-controls="customize">
|
||||||
{% firstof customize_button_text "Customize..."%}
|
{% firstof customize_button_text "Customize..."%}
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="customize" class="{% if not always_show %}panel-collapse collapse{% endif %}">
|
|
||||||
<span hidden {# options to pass to the JS - correspond to keys in opts object #}
|
|
||||||
id="agenda-filter-options"
|
|
||||||
data-always-show="{% firstof always_show False %}">
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<div id="collapse" class="accordion-collapse collapse" aria-labelledby="heading" data-bs-parent="#accordion">
|
<div id="customize" class="accordion-collapse collapse{% if always_show %} show{% endif %}" aria-labelledby="heading" data-bs-parent="#accordion">
|
||||||
<div class="accordion-body">
|
<div class="accordion-body">
|
||||||
|
<span hidden {# options to pass to the JS - correspond to keys in opts object #}
|
||||||
|
id="agenda-filter-options"
|
||||||
|
data-always-show="{% firstof always_show False %}">
|
||||||
|
</span>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
You can customize the agenda view to show only selected sessions,
|
You can customize the agenda view to show only selected sessions,
|
||||||
by clicking on groups and areas in the table below.
|
by clicking on groups and areas in the table below.
|
||||||
To be able to return to the customized view later, bookmark the resulting URL.
|
To be able to return to the customized view later, bookmark the resulting URL.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{% if filter_categories|length %}
|
{% if filter_categories|length %}
|
||||||
<p>Groups displayed in <b><i>italics</i></b> are BOFs.</p>
|
<p>Groups displayed in <b><i>italics</i></b> are BOFs.</p>
|
||||||
|
|
||||||
{% with spacer_scale=5 %}
|
<div class="row">
|
||||||
{% with width_scale=filter_categories|agenda_width_scale:spacer_scale %}
|
{% for fc in filter_categories %}
|
||||||
<table class="table table-sm">
|
{% for area in fc %}
|
||||||
<thead>
|
<div class="col-1 ms-1">
|
||||||
<tr>
|
<div class="row">
|
||||||
{% for fc in filter_categories %}
|
{% if area.label or area.keyword %}
|
||||||
{% if not forloop.first %}
|
<button type="button" class="btn btn-sm btn-outline-primary pickview {{ area.keyword }}" data-filter-item="{{ area.keyword }}">
|
||||||
<th style="width:{% widthratio 1 width_scale 100 %}%"></th>
|
{% firstof area.label area.keyword %}
|
||||||
{% endif %}
|
</button>
|
||||||
{% for area in fc %}
|
{% endif %}
|
||||||
<th style="width:{% widthratio spacer_scale width_scale 100 %}%">
|
</div>
|
||||||
{% if area.keyword %}
|
<div class="row view{% if p.keyword %} {{ p.keyword }}{% endif %}">
|
||||||
<button class="btn btn-primary btn-block pickview {{ area.keyword }}"
|
<div class="m-0 p-0 btn-group-vertical btn-group-sm " role="group" aria-label="{% firstof area.label area.keyword %}">
|
||||||
data-filter-item="{{ area.keyword }}">
|
{% for group in area.children %}
|
||||||
{% firstof area.label area.keyword %}
|
<button type="button" class="overflow-hidden btn btn-outline-secondary pickview {{ group.keyword }}" {% if group.toggled_by %}data-filter-keywords="{{ group.toggled_by|join:"," }}"{% endif %} data-filter-item="{{ group.keyword }}">
|
||||||
</button>
|
<small>
|
||||||
|
{% if group.is_bof %}
|
||||||
|
<i>{{ group.label }}</i>
|
||||||
|
{% else %}
|
||||||
|
{{ group.label }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</th>
|
</small>
|
||||||
{% endfor %}
|
</button>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tr>
|
</div>
|
||||||
</thead>
|
</div>
|
||||||
<tbody>
|
</div>
|
||||||
<tr>
|
{% endfor %}
|
||||||
{% for fc in filter_categories %}
|
{% endfor %}
|
||||||
{% if not forloop.first %} <td></td> {% endif %}
|
|
||||||
{% for p in fc %}
|
</div>
|
||||||
<td class="view{% if p.keyword %} {{ p.keyword }}{% endif %}">
|
{% else %}
|
||||||
<div class="btn-group-vertical btn-block">
|
<blockquote><i>No WG / RG data available -- no WG / RG sessions have been scheduled yet.</i>
|
||||||
{% for button in p.children %}
|
</blockquote>
|
||||||
<div class="btn-group btn-group-xs btn-group-justified">
|
{% endif %}
|
||||||
<button class="btn btn-primary pickview {{ button.keyword }}"
|
|
||||||
{% if button.toggled_by %}data-filter-keywords="{{ button.toggled_by|join:"," }}"{% endif %}
|
|
||||||
data-filter-item="{{ button.keyword }}">
|
|
||||||
{% if button.is_bof %}
|
|
||||||
<i>{{ button.label }}</i>
|
|
||||||
{% else %}
|
|
||||||
{{ button.label }}
|
|
||||||
{% endif %}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endwith %}
|
|
||||||
{% endwith %}
|
|
||||||
{% else %}
|
|
||||||
<blockquote><i>No WG / RG data available -- no WG / RG sessions have been scheduled yet.</i>
|
|
||||||
</blockquote>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,75 +7,76 @@
|
||||||
|
|
||||||
{% if schedule != meeting.schedule %}
|
{% if schedule != meeting.schedule %}
|
||||||
<h3 class="alert alert-danger text-center">
|
<h3 class="alert alert-danger text-center">
|
||||||
This is schedule {{schedule.owner.email}}/{{ schedule.name }}, not the official schedule.
|
This is schedule {{ schedule.owner.email }}/{{ schedule.name }}, not the official schedule.
|
||||||
</h3>
|
</h3>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
IETF {{ meeting.number }} Meeting Agenda {{ title_extra }}
|
IETF {{ meeting.number }} Meeting Agenda {{ title_extra }}
|
||||||
<br>
|
|
||||||
<small>
|
|
||||||
{{ meeting.city|default:"Location TBD" }}, {{ meeting.date|date:"F j" }} -
|
|
||||||
{% if meeting.date.month != meeting.end_date.month %}
|
|
||||||
{{ meeting.end_date|date:"F " }}
|
|
||||||
{% endif %}
|
|
||||||
{{ meeting.end_date|date:"j, Y" }}
|
|
||||||
{% if updated %}
|
|
||||||
<span class="float-end">
|
|
||||||
Updated {{ updated|date:"Y-m-d \a\t G:i:s (T)" }}
|
|
||||||
</span>
|
|
||||||
{% endif %}
|
|
||||||
</small>
|
|
||||||
</h1>
|
</h1>
|
||||||
|
<h4>
|
||||||
{# <a> tags with the agenda-link filterable classes will be updated with show/hide parameters #}
|
{{ meeting.city|default:"Location TBD" }}, {{ meeting.date|date:"F j" }} -
|
||||||
<ul class="nav nav-tabs">
|
{% if meeting.date.month != meeting.end_date.month %}
|
||||||
<li class="nav-item">
|
{{ meeting.end_date|date:"F " }}
|
||||||
<a class="nav-link {% if selected == "agenda" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda' num=meeting.number %}"
|
|
||||||
class="agenda-link filterable">
|
|
||||||
Agenda
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "agenda-utc" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda' num=meeting.number utc='-utc' %}"
|
|
||||||
class="agenda-link filterable">
|
|
||||||
UTC Agenda
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% if user|has_role:"Secretariat,Area Director,IAB" %}
|
|
||||||
{% if schedule != meeting.schedule %}
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "by-room" %}active{% endif %}"
|
|
||||||
href="{% url 'ietf.meeting.views.agenda_by_room' num=meeting.number name=schedule.name owner=schedule.owner.email %}">by
|
|
||||||
Room</a></li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "by-type" %}active{% endif %}"
|
|
||||||
href="{% url 'ietf.meeting.views.agenda_by_type' num=meeting.number name=schedule.name owner=schedule.owner.email %}">by
|
|
||||||
Type</a></li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "room-view" %}active{% endif %}"
|
|
||||||
href="{% url 'ietf.meeting.views.room_view' num=meeting.number name=schedule.name owner=schedule.owner.email %}">Room
|
|
||||||
grid</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "by-room" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda_by_room' num=meeting.number %}">by Room</a></li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "by-type" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda_by_type' num=meeting.number %}">by Type</a></li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "room-view" %}active{% endif %}" href="{% url 'ietf.meeting.views.room_view' num=meeting.number %}">Room grid</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li class="nav-item">
|
{{ meeting.end_date|date:"j, Y" }}
|
||||||
<a class="nav-link {% if selected == "floor-plan" %}active{% endif %}" href="{% url 'ietf.meeting.views.floor_plan' num=meeting.number %}">Floor plan</a></li>
|
{% if updated %}
|
||||||
<li class="nav-item">
|
<span class="float-end">
|
||||||
<a class="nav-link" href="{% url 'ietf.meeting.views.agenda' num=meeting.number ext='.txt' %}">
|
Updated: {{ updated|date:"Y-m-d \a\t G:i:s (T)" }}
|
||||||
Plaintext
|
</span>
|
||||||
</a>
|
{% endif %}
|
||||||
</li>
|
</h4>
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link {% if selected == "select-sessions" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda_personalize' num=meeting.number %}"
|
<p>
|
||||||
class="agenda-link filterable">
|
{# a tags with the agenda-link filterable classes will be updated with show/hide parameters #}
|
||||||
Select Sessions
|
<ul class="nav nav-tabs">
|
||||||
</a>
|
<li class="nav-item">
|
||||||
</li>
|
<a class="nav-link {% if selected == "agenda" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda' num=meeting.number %}"
|
||||||
</ul>
|
class="agenda-link filterable">
|
||||||
|
Agenda
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "agenda-utc" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda' num=meeting.number utc='-utc' %}"
|
||||||
|
class="agenda-link filterable">
|
||||||
|
UTC Agenda
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% if user|has_role:"Secretariat,Area Director,IAB" %}
|
||||||
|
{% if schedule != meeting.schedule %}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "by-room" %}active{% endif %}"
|
||||||
|
href="{% url 'ietf.meeting.views.agenda_by_room' num=meeting.number name=schedule.name owner=schedule.owner.email %}">by
|
||||||
|
Room</a></li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "by-type" %}active{% endif %}"
|
||||||
|
href="{% url 'ietf.meeting.views.agenda_by_type' num=meeting.number name=schedule.name owner=schedule.owner.email %}">by
|
||||||
|
Type</a></li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "room-view" %}active{% endif %}"
|
||||||
|
href="{% url 'ietf.meeting.views.room_view' num=meeting.number name=schedule.name owner=schedule.owner.email %}">Room
|
||||||
|
grid</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "by-room" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda_by_room' num=meeting.number %}">by Room</a></li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "by-type" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda_by_type' num=meeting.number %}">by Type</a></li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "room-view" %}active{% endif %}" href="{% url 'ietf.meeting.views.room_view' num=meeting.number %}">Room grid</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "floor-plan" %}active{% endif %}" href="{% url 'ietf.meeting.views.floor_plan' num=meeting.number %}">Floor plan</a></li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{% url 'ietf.meeting.views.agenda' num=meeting.number ext='.txt' %}">
|
||||||
|
Plaintext
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {% if selected == "select-sessions" %}active{% endif %}" href="{% url 'ietf.meeting.views.agenda_personalize' num=meeting.number %}"
|
||||||
|
class="agenda-link filterable">
|
||||||
|
Select Sessions
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
Loading…
Reference in a new issue