* Update vnu.jar * Fix py2 -> py3 issue * Run pyupgrade * test: Add default-jdk to images * test: Add option to also validate HTML with vnu.jar Since it's already installed in bin. Don't do this by default, since it increases the time needed for tests by ~50%. * fix: Stop the urlizer from urlizing in linkified mailto: text * More HTML fixes * More HTML validation fixes * And more HTML fixes * Fix floating badge * Ignore unicode errors * Only URLize docs that are existing * Final fixes * Don't URLize everything during test-crawl * Feed HTML into vnu using python rather than Java to speed things up * Allow test-crawl to start vnu on a different port * Increase retry count to vnu. Restore batch size to 30. * More HTML validation fixes * Use urllib3 to make requests to vnu, since overriding requests_mock is tricky * Undo commit of unmodified file * Also urlize ftp links * Fix matching of file name * More HTML fixes * Add `is_valid_url` filter * weekday -> data-weekday * urlencode URLs * Add and use vnu_fmt_message. Bump vnu max buffer. * Simplify doc_exists * Don't add tab link to mail archive if the URL is invalid * Run urlize_ietf_docs before linkify Reduces the possibility of generating incorrect HTML * Undo superfluous change * Runner fixes * Consolidate vnu message filtering into vnu_filter_message * Correctly handle multiple persons with same name * Minimze diff * Fix HTML nits * Print source snippet in vnu_fmt_message * Only escape if there is something to escape * Fix snippet * Skip crufty old IPR declarations * Only include modal when needed. Add handles. * Fix wordwrap+linkification * Update ietf/doc/templatetags/ietf_filters.py * Update ietf/doc/templatetags/tests_ietf_filters.py * Don't right-align second column
175 lines
7.2 KiB
HTML
175 lines
7.2 KiB
HTML
{% extends "base.html" %}
|
|
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
|
{% load origin %}
|
|
{% load static %}
|
|
{% load ietf_filters %}
|
|
{% load person_filters %}
|
|
{% load textfilters %}
|
|
{% block title %}{{ doc.title }}{% endblock %}
|
|
{% block content %}
|
|
{% origin %}
|
|
{{ top|safe }}
|
|
{% include "doc/revisions_list.html" %}
|
|
<div id="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">Document</th>
|
|
<th scope="row">
|
|
{% if doc.get_state_slug not in approved_states %}
|
|
Proposed status change
|
|
{% else %}
|
|
Status change
|
|
{% endif %}
|
|
</th>
|
|
<td class="edit">
|
|
{% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %}
|
|
<a class="btn btn-primary btn-sm float-end"
|
|
href="{% url 'ietf.doc.views_status_change.edit_title' name=doc.name %}">
|
|
Edit
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<th scope="row">
|
|
{{ doc.title }}
|
|
{% if snapshot %}<span class="badge bg-warning">Snapshot</span>{% endif %}
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<th scope="row">Last updated</th>
|
|
<td class="edit"></td>
|
|
<td>{{ doc.time|date:"Y-m-d" }}</td>
|
|
</tr>
|
|
{% regroup sorted_relations by relationship.name as relation_groups %}
|
|
{% for relation_group in relation_groups %}
|
|
<tr>
|
|
<td></td>
|
|
<th scope="row">{{ relation_group.grouper }}</th>
|
|
<td class="edit"></td>
|
|
<td>
|
|
{% for rel in relation_group.list %}
|
|
{{ rel.target.document.canonical_name|upper|urlize_ietf_docs }}{% if not forloop.last %},{% endif %}
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
<tr>
|
|
<td></td>
|
|
<th scope="row">
|
|
<a href="{% url 'ietf.doc.views_help.state_help' type="status-change" %}">State</a>
|
|
</th>
|
|
<td class="edit">
|
|
{% if not snapshot and user|has_role:"Area Director,Secretariat" %}
|
|
<a class="btn btn-primary btn-sm float-end"
|
|
href="{% url "ietf.doc.views_status_change.change_state" name=doc.name %}">
|
|
Edit
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<span title="{{ doc.get_state.desc }}">{{ doc.get_state.name }}</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody class="meta border-top">
|
|
<tr>
|
|
<th scope="row">IESG</th>
|
|
<th scope="row">Telechat date</th>
|
|
<td class="edit">
|
|
{% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %}
|
|
<a class="btn btn-primary btn-sm float-end"
|
|
href="{% url 'ietf.doc.views_doc.telechat_date;status-change' name=doc.name %}">
|
|
Edit
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if not telechat %}
|
|
<span class="text-muted">(None)</span>
|
|
{% else %}
|
|
On agenda of {{ telechat.telechat_date|date:"Y-m-d" }} IESG telechat
|
|
{% if doc.returning_item %}(returning item){% endif %}
|
|
{% endif %}
|
|
{% if ballot_summary %}
|
|
<br>
|
|
<i>{{ ballot_summary }}</i>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<th scope="row">Responsible AD</th>
|
|
<td class="edit">
|
|
{% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %}
|
|
<a class="btn btn-primary btn-sm float-end"
|
|
href="{% url 'ietf.doc.views_status_change.edit_ad' name=doc.name %}">
|
|
Edit
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>{% person_link doc.ad %}</td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<th scope="row">Send notices to</th>
|
|
<td class="edit">
|
|
{% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug not in approved_states %}
|
|
<a class="btn btn-primary btn-sm float-end"
|
|
href="{% url 'ietf.doc.views_doc.edit_notify;status-change' name=doc.name %}">
|
|
Edit
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ doc.notify|linkify }}
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="buttonlist">
|
|
{% if not snapshot and user|has_role:"Area Director,Secretariat" %}
|
|
{% if doc.get_state_slug not in approved_states %}
|
|
<a class="btn btn-primary"
|
|
href="{% url 'ietf.doc.views_status_change.edit_relations' name=doc.name %}">
|
|
Edit affected RFCs
|
|
</a>
|
|
<a class="btn btn-primary"
|
|
href="{% url 'ietf.doc.views_status_change.last_call' name=doc.name %}">
|
|
Edit last call text
|
|
</a>
|
|
{% endif %}
|
|
{% if doc.get_state_slug != 'apprsent' %}
|
|
<a class="btn btn-primary"
|
|
href="{% url 'ietf.doc.views_status_change.submit' name=doc.name %}">
|
|
Edit status change text
|
|
</a>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if request.user|has_role:"Secretariat" and doc.get_state_slug == 'appr-pend' %}
|
|
<a class="btn btn-warning"
|
|
href="{% url 'ietf.doc.views_status_change.approve' name=doc.name %}">
|
|
Approve RFC status change
|
|
</a>
|
|
{% endif %}
|
|
</p>
|
|
{% if doc.rev %}
|
|
<div class="card mt-5">
|
|
<div class="card-header">
|
|
{{ doc.name }}-{{ doc.rev }}
|
|
</div>
|
|
<div class="card-body">
|
|
<pre>{{ content|maybewordwrap|urlize_ietf_docs|linkify }}</pre>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|
|
{% block js %}
|
|
<script src="{% static 'ietf/js/d3.js' %}">
|
|
</script>
|
|
<script src="{% static 'ietf/js/document_timeline.js' %}">
|
|
</script>
|
|
{% endblock %} |