using the htmlization code previously developed for tools.ietf.org. As the generation of the htmlized page is a bit too costly to do on the fly for often-referenced drafts and RFCs, the part of each page which contains the htmlized document is cached on file with a cache time of 2 weeks. Changed all links which pointed to the htmlized version on tools to instead point at the datatracker htmlized document. Tweaked some URLs which didn't permit retrieval of intermediate-rev-charters. Narrowed the pattern for document names to disallow dots in names, and instead explicitly enumerated the few historical draftw with dots in the name. Added a file-system cache for the htmlized documents, and specified a max_entries value for caches, overriding the default 300 entries. Tweaked the code for new author email entries to provide a time if missing in an updated entry. Changed links in various email templates which pointed at tools.ietf.org pages to instead point at datatracker pages, where appropriate. Changed the search result rows to provide links to both the current meta- information document pages (with a (i) info symbol) and to the new htmlized document pages. - Legacy-Id: 13040
605 lines
22 KiB
HTML
605 lines
22 KiB
HTML
{% extends "base.html" %}
|
|
{# Copyright The IETF Trust 2016, All Rights Reserved #}
|
|
{% load origin %}
|
|
{% load staticfiles %}
|
|
{% load ietf_filters %}
|
|
{% load cache %}
|
|
|
|
{% block pagehead %}
|
|
<link rel="alternate" type="application/atom+xml" title="Document changes" href="/feed/document-changes/{{ name }}/">
|
|
<meta name="description" content="{{ doc.title }} {% if doc.get_state_slug == "rfc" %}(RFC {{ rfc_number }}{% if published %}, {{ published.time|date:"F Y" }}{% endif %}{% if obsoleted_by %}; obsoleted by {{ obsoleted_by|join:", " }}{% endif %}){% else %}(Internet-Draft, {{ doc.time|date:"Y" }}){% endif %}">
|
|
<script src="{% static 'd3/d3.min.js' %}"></script>
|
|
<script src="{% static 'jquery/jquery.min.js' %}"></script>
|
|
<script src="{% static 'ietf/js/document_timeline.js' %}"></script>
|
|
{% endblock %}
|
|
|
|
{% block morecss %}
|
|
.inline { display: inline; }
|
|
{% endblock %}
|
|
|
|
{% block title %}
|
|
{% if doc.get_state_slug == "rfc" %}
|
|
RFC {{ rfc_number }}
|
|
{% else %}
|
|
{{ name }}-{{ doc.rev }}
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
{% origin %}
|
|
{{ top|safe }}
|
|
|
|
{% include "doc/revisions_list.html" %}
|
|
<div id="timeline"></div>
|
|
|
|
<table class="table table-condensed">
|
|
<thead id="message-row">
|
|
<tr>
|
|
{% if doc.rev != latest_rev %}
|
|
<th colspan="4" class="alert-warning">The information below is for an old version of the document</th>
|
|
{% else %}
|
|
<th colspan="4"></th>
|
|
{% endif %}
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody class="meta">
|
|
<tr>
|
|
<th>Document</th>
|
|
<th>Type</th>
|
|
<td class="edit"></td>
|
|
<td>
|
|
{% if doc.get_state_slug == "rfc" %}
|
|
RFC - {{ doc.std_level }}
|
|
({% if published %}{{ published.time|date:"F Y" }}{% else %}publication date unknown{% endif %}{% if has_errata %}; <a href="https://www.rfc-editor.org/errata_search.php?rfc={{ rfc_number }}" rel="nofollow">Errata</a>{% else %}; No errata{% endif %})
|
|
|
|
{% if obsoleted_by %}<div>Obsoleted by {{ obsoleted_by|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if updated_by %}<div>Updated by {{ updated_by|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if obsoletes %}<div>Obsoletes {{ obsoletes|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if updates %}<div>Updates {{ updates|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if status_changes %}<div>Status changed by {{ status_changes|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if proposed_status_changes %}<div>Proposed status changed by {{ proposed_status_changes|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if rfc_aliases %}<div>Also known as {{ rfc_aliases|join:", "|urlize_ietf_docs }}</div>{% endif %}
|
|
{% if draft_name %}<div>Was <a href="/doc/{{ draft_name}}/">{{ draft_name }}</a> {% if submission %}({{ submission|safe }}){% endif %}</div>{% endif %}
|
|
{% else %}
|
|
{{ doc.get_state }} Internet-Draft {% if submission %}({{ submission|safe }}){% endif %}
|
|
{% if resurrected_by %}- resurrect requested by {{ resurrected_by }}{% endif %}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>Last updated</th>
|
|
<td class="edit"></td>
|
|
<td>
|
|
{{ doc.time|date:"Y-m-d" }}
|
|
{% if latest_revision and latest_revision.time.date != doc.time.date %}
|
|
(latest revision {{ latest_revision.time|date:"Y-m-d" }})
|
|
{% endif %}
|
|
{% for check in doc.submission.checks.all %}
|
|
{% if check.passed != None and check.symbol.strip %}
|
|
{% if check.errors or check.warnings %}
|
|
<span class="checker-warning" title="Submission {{check.checker|title}} returned warnings or errors.">{{ check.symbol|safe }}</span>
|
|
{% else %}
|
|
<span class="checker-success" title="Submission {{check.checker|title}} passed">{{ check.symbol|safe }}</span>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if replaces or can_edit_stream_info %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Replaces</th>
|
|
<td class="edit">
|
|
{% if can_edit_stream_info and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.replaces' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ replaces|join:", "|urlize_ietf_docs|default:"(None)" }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
{% if replaced_by %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Replaced by</th>
|
|
<td class="edit"></td>
|
|
<td>
|
|
{{ replaced_by|join:", "|urlize_ietf_docs }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
{% if can_view_possibly_replaces %}
|
|
{% if possibly_replaces %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Possibly Replaces</th>
|
|
<td class="edit">
|
|
{% if can_edit_replaces and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.review_possibly_replaces' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ possibly_replaces|join:", "|urlize_ietf_docs }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
{% if possibly_replaced_by %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Possibly Replaced By</th>
|
|
<td class="edit">
|
|
{% if can_edit_replaces and not snapshot %}
|
|
{% comment %}<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.review_possibly_replaces' name=doc.name %}">Edit</a>{% endcomment %}
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ possibly_replaced_by|join:", "|urlize_ietf_docs }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>Stream</th>
|
|
<td class="edit">
|
|
{% if can_change_stream and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_stream' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ doc.stream|default:"(None)" }}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if doc.get_state_slug != "rfc" %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Intended RFC status</th>
|
|
<td class="edit">
|
|
{% if can_edit_stream_info and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_intention' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ doc.intended_std_level|default:"(None)" }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>Formats</th>
|
|
<td class="edit"></td>
|
|
<td>
|
|
{% if doc.get_state_slug != "active" and doc.get_state_slug != "rfc" %}<div class="pull-right label label-warning">Expired & archived</div>{% endif %}
|
|
{% if file_urls %}
|
|
{% for label, url in file_urls %}
|
|
<a class="btn btn-default btn-xs" href="{{ url }}">
|
|
<span class="fa fa-file-{% if label == "pdf" %}pdf-{% elif label == "xml" or label == "html" %}code-{% elif label == "plain text" %}text-{% endif %}o"></span>
|
|
{{ label }}</a>
|
|
{% endfor %}
|
|
{% else %}
|
|
(not online)
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if review_requests or can_request_review %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Reviews</th>
|
|
<td class="edit"></td>
|
|
<td>
|
|
{% for review_request in review_requests %}
|
|
{% include "doc/review_request_summary.html" with current_doc_name=doc.name current_rev=doc.rev %}
|
|
{% endfor %}
|
|
|
|
{% if no_review_from_teams %}
|
|
{% for team in no_review_from_teams %}
|
|
{{ team.acronym.upper }}{% if not forloop.last %},{% endif %}
|
|
{% endfor %}
|
|
will not review this version
|
|
{% endif %}
|
|
|
|
{% if can_request_review %}
|
|
<div>
|
|
<a class="btn btn-default btn-xs" href="{% url "ietf.doc.views_review.request_review" doc.name %}"><span class="fa fa-check-circle-o"></span> Request review</a>
|
|
</div>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
|
|
{% if conflict_reviews %}
|
|
<tr>
|
|
<th></th>
|
|
<th>IETF conflict review</th>
|
|
<td class="edit"></td>
|
|
<td>{{ conflict_reviews|join:", "|urlize_ietf_docs }}</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
</tbody>
|
|
<tbody class="meta">
|
|
<tr>
|
|
<th>Stream</th>
|
|
{% if doc.stream %}
|
|
<th>
|
|
{% if doc.stream.slug != "legacy" %}
|
|
<a href="{% url "ietf.help.views.state" doc=doc.type.slug type=doc.stream.slug %}">
|
|
{% if doc.stream_id == 'ietf' %} WG {% else %} {{ doc.stream }} {% endif %} state
|
|
</a>
|
|
{% else %}
|
|
Legacy state
|
|
{% endif %}
|
|
</th>
|
|
<td class="edit">
|
|
{% if doc.stream and can_edit_stream_info and doc.stream.slug != "legacy" and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_stream_state' name=doc.name state_type=stream_state_type_slug %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ stream_state|default:"(None)" }}
|
|
|
|
{% for m in milestones %}
|
|
<span title="{{ m.desc }} ({{ m.group.acronym }} milestone)" class="milestone">{{ m.due|date:"M Y" }}</span>
|
|
{% endfor %}
|
|
|
|
{% if stream_tags %}
|
|
<div class="stream-tags">{% for tag in stream_tags %}{{ tag.name }}{% if not forloop.last %}, {% endif %}{% endfor %}</div>
|
|
{% endif %}
|
|
</td>
|
|
{% else %}
|
|
<th>Stream state</th>
|
|
<td class="edit"></td>
|
|
<td>(No stream defined)</td>
|
|
{% endif %}
|
|
</tr>
|
|
|
|
{% if consensus and not doc.stream_id == 'ietf' %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Consensus Boilerplate</th>
|
|
<td class="edit">
|
|
{% if can_edit_stream_info and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.edit_consensus' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<span title="Whether the document is the result of a community consensus process as defined in RFC 5741">{{ consensus }}</span>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
{% if presentations or user|has_role:"Secretariat,Area Director,WG Chair,WG Secretary,RG Chair,RG Secretary,IRTF Chair,Team Chair" or can_edit_stream_info %}
|
|
<tr>
|
|
<th></th>
|
|
<th>On Agenda</th>
|
|
<td class="edit">
|
|
{% if not snapshot %}
|
|
{% if user|has_role:"Secretariat,Area Director,WG Chair,WG Secretary,RG Chair,RG Secretary,IRTF Chair,Team Chair" or can_edit_stream_info %}
|
|
{% doc_edit_button "ietf.doc.views_doc.all_presentations" name=doc.name %}
|
|
{% endif %}
|
|
{% endif %}
|
|
</td>
|
|
|
|
<td>
|
|
{% if presentations %}
|
|
{% for pres in presentations %}{{ pres.session.short_name }} at {{ pres.session.meeting }} {% if pres.rev and pres.rev != doc.rev %}(version -{{ pres.rev }}){% endif %}{% if not forloop.last %}, {% endif %}{% endfor %}
|
|
{% else %}
|
|
None
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
{% if doc.stream_id == 'ietf' or doc.stream_id == 'ise' %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Document shepherd</th>
|
|
<td class="edit">
|
|
|
|
{% if can_edit_stream_info and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.edit_shepherd' name=doc.name %}">Edit</a>
|
|
{% elif is_shepherd %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_shepherd_email' name=doc.name %}">Change Email</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if doc.shepherd %}{{ doc.shepherd.person }}{% else %}No shepherd assigned{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if shepherd_writeup or can_edit_shepherd_writeup %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Shepherd write-up</th>
|
|
<td class="edit">
|
|
{% if can_edit_shepherd_writeup %}
|
|
{% url 'ietf.doc.views_draft.edit_shepherd_writeup' name=doc.name as doc_edit_url %}
|
|
{% if doc_edit_url %}
|
|
<a class="btn btn-default btn-xs" href="{{doc_edit_url}}">Edit</a>
|
|
{% endif %}
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if shepherd_writeup %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_doc.document_shepherd_writeup' name=doc.name %}">Show</a>
|
|
(last changed {{ shepherd_writeup.time|date:"Y-m-d"}})
|
|
{% else %}
|
|
(None)
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% else %}
|
|
<tr>
|
|
<th></th>
|
|
<th>RFC Editor Note</th>
|
|
<td class="edit">
|
|
{% if can_edit_stream_info %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_ballot.ballot_rfceditornote' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if doc.has_rfc_editor_note %}(last changed {{ doc.has_rfc_editor_note|date:"Y-m-d"}}){% else %}(None){% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
{% if published and started_iesg_process and published.time < started_iesg_process.time %}
|
|
<tr>
|
|
<th></th>
|
|
<th colspan="3" class="warning">This information refers to IESG processing after the RFC was initially published:</th>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
</tbody>
|
|
|
|
{% if not doc.stream_id == 'iab' %}
|
|
<tbody class="meta">
|
|
<tr>
|
|
<th>IESG</th>
|
|
<th><a href="{% url "ietf.help.views.state" doc=doc.type.slug type="iesg" %}">IESG state</a></th>
|
|
<td class="edit">
|
|
{% if iesg_state and can_edit %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_state' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ iesg_state_summary|default:"I-D Exists" }}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if consensus and doc.stream_id == 'ietf' %}
|
|
<tr>
|
|
<th></th>
|
|
<th>Consensus Boilerplate</th>
|
|
<td class="edit">
|
|
{% if can_edit or can_edit_stream_info and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.edit_consensus' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<span title="Whether the document is the result of a community consensus process as defined in RFC 5741">{{ consensus }}</span>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>Telechat date</th>
|
|
<td class="edit">
|
|
{% if can_edit and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_doc.telechat_date' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if telechat %}
|
|
On agenda of {{ telechat.telechat_date }} IESG telechat
|
|
{% if telechat.returning_item %}
|
|
(returning item)
|
|
{% endif %}
|
|
{% else %}
|
|
{% if can_edit %}
|
|
(None)
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if ballot_summary %}
|
|
<br><i>{{ ballot_summary }}</i>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>Responsible AD</th>
|
|
<td class="edit">
|
|
{% if can_edit %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.edit_ad' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ doc.ad|default:"(None)" }}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if iesg_state %}
|
|
{% if doc.note or can_edit %}
|
|
<tr>
|
|
<th></th>
|
|
<th>IESG note</th>
|
|
<td class="edit">
|
|
{% if can_edit and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.edit_iesg_note' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ doc.note|default:"(None)"|linebreaksbr }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>Send notices to</th>
|
|
<td class="edit">
|
|
{% if can_edit_notify and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_doc.edit_notify' name=doc.name %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ doc.notify|default:"(None)"}}
|
|
</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
{% endif %}
|
|
|
|
{% if iana_review_state %}
|
|
<tbody class="meta">
|
|
<tr>
|
|
<th>IANA</th>
|
|
<th><a href="{% url "ietf.help.views.state" doc=doc.type.slug type="iana-review" %}">IANA review state</a></th>
|
|
<td class="edit">
|
|
{% if can_edit_iana_state and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_iana_state' name=doc.name state_type="iana-review" %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ iana_review_state }}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th></th>
|
|
<th>IANA action state</th>
|
|
<td class="edit">
|
|
{% if can_edit_iana_state and not snapshot %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_draft.change_iana_state' name=doc.name state_type="iana-action" %}">Edit</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ iana_action_state }}
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
{% endif %}
|
|
|
|
<tbody class="meta">
|
|
{% if rfc_editor_state %}
|
|
<tr>
|
|
<th>RFC Editor</th>
|
|
<th><a href="{% url "ietf.help.views.state" doc=doc.type.slug type="rfceditor" %}">RFC Editor state</a></th>
|
|
<td class="edit"></td>
|
|
<td><a href="https://www.rfc-editor.org/queue2.html#{{ doc.name }}">{{ rfc_editor_state }}</a></td>
|
|
</tr>
|
|
{% endif %}
|
|
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="buttonlist">
|
|
<a class="btn btn-default btn-xs" href="mailto:{{ doc.name }}@ietf.org?subject=Mail%20regarding%20{{ doc.name }}"><span class="fa fa-envelope-o"></span> Email authors</a>
|
|
<a class="btn btn-default btn-xs" href="{% url "ietf.ipr.views.search" %}?submit=draft&id={{ doc.name }}" rel="nofollow"><span class="fa fa-bolt"></span> IPR {% if doc.related_ipr %} <span class="badge">{{doc.related_ipr|length}}</span>{% endif %}</a>
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_doc.document_references' doc.canonical_name %}" rel="nofollow"><span class="fa fa-long-arrow-left"></span> References</a>
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_doc.document_referenced_by' doc.canonical_name %}" rel="nofollow"><span class="fa fa-long-arrow-right"></span> Referenced by</a>
|
|
<a class="btn btn-default btn-xs" href="https://www.ietf.org/tools/idnits?url=https://www.ietf.org/archive/id/{{ doc.filename_with_rev }}" rel="nofollow" target="_blank"><span class="fa fa-exclamation"></span> Nits</a>
|
|
<div class="dropdown inline">
|
|
<button class="btn btn-default btn-xs dropdown-toggle" type="button" id="ddSearchMenu" data-toggle="dropdown" aria-expanded="true">
|
|
<span class="fa fa-search"></span> Search lists <span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu" role="menu">
|
|
<li role="presentation"><a role="menuitem" href="https://mailarchive.ietf.org/arch/search?q={{ doc.name }}" rel="nofollow" target="_blank">IETF Mail Archive</a></li>
|
|
<li role="presentation"><a role="menuitem" href="https://www.google.com/search?as_q={{ doc.name }}&as_sitesearch={{ search_archive }}" rel="nofollow" target="_blank">Google</a></li>
|
|
{% if user|has_role:"Area Director" %}
|
|
<li role="presentation"><a role="menuitem" href="https://www.iesg.org/bin/c5i?mid=6&rid=77&target={{ doc.name }}" rel="nofollow" target="_blank">ARO</a> </li>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
{% if user.is_authenticated %}
|
|
<a class="btn btn-default btn-xs track-untrack-doc {% if not doc.tracked_in_personal_community_list %}hide{% endif %}" href="{% url "ietf.community.views.untrack_document" username=user.username name=doc.name %}" title="Remove from your personal ID list"><span class="fa fa-bookmark"></span> Untrack</a>
|
|
<a class="btn btn-default btn-xs track-untrack-doc {% if doc.tracked_in_personal_community_list %}hide{% endif %}" href="{% url "ietf.community.views.track_document" username=user.username name=doc.name %}" title="Add to your personal ID list"><span class="fa fa-bookmark-o"></span> Track</a>
|
|
{% endif %}
|
|
|
|
{% if can_edit and iesg_state %}
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_ballot.lastcalltext' name=doc.name %}">Last call text</a>
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_ballot.ballot_writeupnotes' name=doc.name %}">Ballot text</a>
|
|
<a class="btn btn-default btn-xs" href="{% url 'ietf.doc.views_ballot.ballot_approvaltext' name=doc.name %}">Announcement text</a>
|
|
{% endif %}
|
|
|
|
{% if actions %}
|
|
{% for label, url in actions %}
|
|
<a class="btn btn-default btn-xs" href="{{ url }}">{{ label|capfirst_allcaps }}</a>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% if doc.get_state_slug == "active" or doc.get_state_slug == "rfc" %}
|
|
|
|
{% if split_content %}
|
|
{{ content|safe }}
|
|
<a class="btn btn-default btn-block" href="?include_text=1"><span class="fa fa-caret-down"></span> Show full document text</a>
|
|
{% else %}
|
|
<div class="col-md-12">
|
|
<div class="col-md-2"></div>
|
|
<div class="col-md-8 rfcmarkup">
|
|
{% with 1209600 as two_weeks %}
|
|
{% cache two_weeks htmlized doc.name doc.rev using="htmlized" %}
|
|
<div>
|
|
{{ doc.htmlized|default:"Generation of htmlized text failed"|safe }}
|
|
</div>
|
|
{% endcache %}
|
|
{% endwith %}
|
|
</div>
|
|
<div class="col-md-2"></div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
<p></p>
|
|
<div class="panel panel-warning">
|
|
<div class="panel-heading">
|
|
This Internet-Draft is no longer active. A copy of
|
|
the expired Internet-Draft can be found at<br/>
|
|
{% url 'ietf.doc.views_doc.document_html' name=doc.name rev=doc.rev as html_url %}
|
|
<a href="{{ html_url }}">{{ html_url }}</a>
|
|
</div>
|
|
<div class="panel-body">
|
|
<p>
|
|
|
|
<h4>Abstract</h4>
|
|
<p>{{ doc.abstract }}</p>
|
|
|
|
<h4>Authors</h4>
|
|
<p>
|
|
{% for author in doc.documentauthor_set.all %}
|
|
{% if not author.author.invalid_address %}
|
|
<span class="fa fa-envelope-o"></span>
|
|
<a href="mailto:{{ author.author.address }}">
|
|
{% endif %}
|
|
{{ author.author.person }}
|
|
{% if not author.author.invalid_address %}
|
|
({{ author.author.address }})</a>
|
|
{% endif %}
|
|
{% if not forloop.last %}<br>{% endif %}
|
|
{% endfor %}
|
|
</p>
|
|
<p>(Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|