datatracker/ietf/templates/doc/document_material.html
Robert Sparks 06b9df10ee
feat: warn about materials for cancelled sessions (#7959)
* feat: warn about materials for cancelled sessions

* fix: handle viewing a DocHistory material object
2024-09-23 10:09:50 -05:00

192 lines
8.9 KiB
HTML

{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin %}
{% load static %}
{% load ietf_filters textfilters tz %}
{% block title %}{{ doc.title|default:"Untitled" }}{% endblock %}
{% block content %}
{% origin %}
{{ top|safe }}
{% include "doc/revisions_list.html" %}
<div id="doc-timeline"></div>
{% if doc.rev != latest_rev %}
<div class="alert alert-warning my-3">The information below is for an old version of the document.</div>
{% endif %}
<table class="table table-sm table-borderless">
<tbody class="meta border-top">
<tr>
<th scope="row">
{% if doc.meeting_related %}Meeting{% endif %}
{{ doc.type.name }}
</th>
<td class="edit"></td>
<td>
{% if doc.group %}
{{ doc.group.name }}
<a href="{{ doc.group.about_url }}">({{ doc.group.acronym }})</a>
{{ doc.group.type.name }}
{% endif %}
{% if snapshot %}<span class="badge rounded-pill text-bg-warning">Snapshot</span>{% endif %}
</td>
</tr>
{% if doc.meeting_related %}
<tr>
<th scope="row">
Date and time
</th>
<td class="edit"></td>
<td>
{% with session=doc.get_related_session %}
{% with timeslot=session.official_timeslotassignment.timeslot %}
{% if session.meeting %}
<a href="{% url 'ietf.meeting.views.session_details' num=session.meeting.number acronym=session.group.acronym %}" class="session-time date me-3" data-start-utc="{{ timeslot.time|utc|date:'Y-m-d H:i' }}" data-end-utc="{{ timeslot.end_time|utc|date:'Y-m-d H:i' }}">{{ timeslot.time|utc|date:'Y-m-d H:i' }}</a>
{% include "meeting/tz-display.html" with meeting_timezone=session.meeting.time_zone id_suffix="" minimal=True only %}
{% endif %}
{% endwith %}
{% endwith %}
</td>
</tr>
{% endif %}
<tr>
<th scope="row">Title</th>
<td class="edit">
{% if not snapshot and can_manage_material %}
{% doc_edit_button 'ietf.doc.views_material.edit_material' name=doc.name action="title" %}
{% endif %}
</td>
<th scope="row">{{ doc.title|default:'<span class="text-body-secondary">(None)</span>' }}</th>
</tr>
{% if doc.abstract or doc.type_id == 'slides' and can_manage_material and not snapshot %}
<tr>
<th scope="row">Abstract</th>
<td class="edit">
{% if not snapshot and can_manage_material %}
{% doc_edit_button 'ietf.doc.views_material.edit_material' name=doc.name action="abstract" %}
{% endif %}
</td>
<td>{{ doc.abstract|format_snippet }}</td>
</tr>
{% endif %}
<tr>
<th scope="row">State</th>
<td class="edit">
{% if not snapshot and can_manage_material %}
{% doc_edit_button 'ietf.doc.views_material.edit_material' name=doc.name action="state" %}
{% endif %}
</td>
<td>
{% if doc.get_state.name %}
{{ doc.get_state.name }}
{% else %}
<span class="text-body-secondary">(None)</span>
{% endif %}
</td>
</tr>
{% if other_types %}
<tr>
<th scope="row">Other versions</th>
<td class="edit"></td>
<td>
{% for t, url in other_types %}
<a href="{{ url }}">{{ t }}</a>{% if not forloop.last %},{% endif %}
{% endfor %}
</td>
</tr>
{% endif %}
{% if doc.type_id == 'procmaterials' and doc.external_url|length > 0 %}
<tr>
<th scope="row">External URL</th>
<td class="edit"></td>
<td>
<a href="{{ doc.external_url }}">{{ doc.external_url }}</a>
</td>
</tr>
{% endif %}
{% if doc.type_id != 'procmaterials' %}
{% if presentations or can_manage_material %}
<tr>
<th scope="row">On agenda</th>
<td class="edit">
{% if not snapshot and can_manage_material %}
{% doc_edit_button "ietf.doc.views_doc.all_presentations" name=doc.name %}
{% endif %}
</td>
<td>
{% if presentations %}
{% for pres in presentations %}
{{ pres.session.short_name }} at {{ pres.session.meeting }}
{% if pres.rev != doc.rev %}(version -{{ pres.rev }}){% endif %}
<br>
<b>Remote instructions:</b>
{% if pres.session.agenda_note|first_url|conference_url %}
<a href="{{ pres.session.agenda_note|first_url }}" title="Online conference">
<i class="bi bi-beople"></i>
</a>
{% elif pres.session.remote_instructions|first_url|conference_url %}
<a href="{{ pres.session.remote_instructions|first_url }}"
title="Online conference">
<i class="bi bi-people"></i>
</a>
{% endif %}
{{ pres.session.remote_instructions|linkify }}
{% if not forloop.last %}<br>{% endif %}
{% endfor %}
{% else %}
<span class="text-body-secondary">(None)</span>
{% endif %}
</td>
</tr>
{% endif %}
{% endif %}
<tr>
<th scope="row">Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
</tbody>
</table>
<p class="buttonlist">
{% if can_upload %}
<a class="btn btn-primary"
href="{% url 'ietf.doc.views_material.edit_material' name=doc.name action="revise" %}">
Upload New Revision
</a>
{% endif %}
</p>
{% if session_statusid == "canceled" %}
<div class="alert alert-warning">The session for this document was cancelled.</div>
{% endif %}
<div id="materials-content" class="card mt-5">
<div class="card-header">{{ doc.name }}-{{ doc.rev }}</div>
<div class="card-body{% if content_is_html %} text-break{% endif %}">
{% if doc.rev and content != None %}
{% if content_is_html %}
{{ content|sanitize|safe }}
{% else %}
<pre>{{ content|maybewordwrap|urlize_ietf_docs|linkify }}</pre>
{% endif %}
{% else %}
Not available as plain text.
{% if other_types %}
<a href="{{ other_types.0.1 }}">Download as {{ other_types.0.0.upper }}</a>.
{% endif %}
{% endif %}
</div>
</div>
{% endblock %}
{% block js %}
<script src="{% static 'ietf/js/d3.js' %}"></script>
<script src="{% static 'ietf/js/document_timeline.js' %}"></script>
{% if doc.meeting_related %}
<script src="{% static 'ietf/js/moment.js' %}"></script>
<script src="{% static 'ietf/js/upcoming.js' %}"></script>
<script src="{% static 'ietf/js/timezone.js' %}"></script>
<script>
$(function () {
// Init with best guess at local timezone.
ietf_timezone.set_tz_change_callback(timezone_changed);
ietf_timezone.initialize('local');
});
</script>
{% endif %}
{% endblock %}