datatracker/ietf/templates/doc/document_bofreq.html
Lars Eggert fd087d4e16
fix: Avoid crashes in urlize_ietf_docs (#4161)
* fix: Don't crash when urlreverse fails as part of urlize_ietf_docs

Also fix an HTMLization nit.

* Fix more corner cases found during test-crawl

* Handle "I-D.*"" reference-style matches

* Refactor use of bleach. Better Markdown linkification and formatting.

* Address review comment from @rjsparks
2022-07-07 12:27:30 -05:00

167 lines
7 KiB
HTML

{% extends "base.html" %}
{# Copyright The IETF Trust 2021, All Rights Reserved #}
{% load origin %}
{% load static %}
{% load ietf_filters %}
{% load person_filters 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 older version of this BOF request.</div>
{% endif %}
<table class="table table-sm table-borderless">
<tbody class="meta border-top">
<tr>
<th scope="row">Document</th>
<th scope="row">Type</th>
<td class="edit"></td>
<td>
{{ doc.get_state.slug|capfirst }} BOF request
{% if snapshot %}<span class="badge rounded-pill bg-warning">Snapshot</span>{% endif %}
</td>
</tr>
<tr>
<td></td>
<th scope="row">Title</th>
<td class="edit">
{% if not snapshot %}
{% if editor_can_manage or can_manage %}
{% doc_edit_button 'ietf.doc.views_bofreq.edit_title' name=doc.name %}
{% endif %}
{% endif %}
</td>
<th scope="row">{{ doc.title }}</th>
</tr>
<tr>
<td></td>
<th scope="row">Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
<tr>
<td></td>
<th scope="row">
<a href="{% url 'ietf.doc.views_help.state_help' type='bofreq' %}">State</a>
</th>
<td class="edit">
{% if not snapshot and can_manage %}
{% doc_edit_button 'ietf.doc.views_bofreq.change_state' name=doc.name %}
{% endif %}
</td>
<td>
{% if doc.get_state %}
<span title="{{ doc.get_state.desc }}" class="{% if doc.get_state.name|slugify == 'approved' %}text-success{% elif doc.get_state.name|slugify == 'declined' %}text-danger{% endif %}">{{ doc.get_state.name }}</span>
{% else %}
No document state
{% endif %}
</td>
</tr>
<tr id="editors">
<td></td>
<th scope="row">Editor{{ editors|pluralize }}</th>
<td class="edit">
{% if not snapshot %}
{% if editor_can_manage or can_manage %}
{% doc_edit_button 'ietf.doc.views_bofreq.change_editors' name=doc.name %}
{% endif %}
{% endif %}
</td>
<td>
{% for editor in editors %}
{% person_link editor %}{% if not forloop.last %},{% endif %}
{% endfor %}
</td>
</tr>
<tr id="responsible">
<td></td>
<th scope="row">Responsible leadership</th>
<td class="edit">
{% if not snapshot %}
{% if can_manage %}
{% doc_edit_button 'ietf.doc.views_bofreq.change_responsible' name=doc.name %}
{% endif %}
{% endif %}
</td>
<td>
{% for leader in responsible %}
{% person_link leader %}{% if not forloop.last %},{% endif %}
{% endfor %}
</td>
</tr>
{% with doc.docextresource_set.all as resources %}
{% if resources or editor_can_manage or can_manage %}
<tr>
<td></td>
<th scope="row">Additional resources</th>
<td class="edit">
{% if editor_can_manage or can_manage %}
<a class="btn btn-primary btn-sm"
href="{% url 'ietf.doc.views_draft.edit_doc_extresources' name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{% if resources %}
{% for resource in resources|dictsort:"display_name" %}
{% if resource.name.type.slug == 'url' or resource.name.type.slug == 'email' %}
<a href="{{ resource.value }}" title="{{ resource.name.name }}">
{% firstof resource.display_name resource.name.name %}
</a>
<br>
{# Maybe make how a resource displays itself a method on the class so templates aren't doing this switching #}
{% else %}
<span title="{{ resource.name.name }}">{% firstof resource.display_name resource.name.name %}: {{ resource.value|escape }}</span>
<br>
{% endif %}
{% endfor %}
{% endif %}
</td>
</tr>
{% endif %}
{% endwith %}
<tr>
<td></td>
<th scope="row">
Send notices to
</th>
<td class="edit">
{% if not snapshot %}
{% if can_manage %}
{% doc_edit_button 'ietf.doc.views_doc.edit_notify' name=doc.name %}
{% endif %}
{% endif %}
</td>
<td>
{{ doc.notify|default:'<span class="text-muted">(None)</span>' }}
</td>
</tr>
</tbody>
</table>
{% if not snapshot %}
{% if editor_can_manage or can_manage %}
<p id="change-request">
<a class="btn btn-primary"
href="{% url 'ietf.doc.views_bofreq.submit' name=doc.name %}">
Change BOF request text
</a>
</p>
{% endif %}
{% endif %}
<div class="card mt-5">
<div class="card-header">
{{ doc.name }}-{{ doc.rev }}
</div>
<div class="card-body">
{{ content }}
</div>
</div>
{% endblock %}
{% block js %}
<script src="{% static 'ietf/js/d3.js' %}">
</script>
<script src="{% static 'ietf/js/document_timeline.js' %}">
</script>
{% endblock %}