{# Copyright The IETF Trust 2016-2020, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} {% load person_filters %} {% origin %} Document {% if document_html %}Document type{% else %}Type{% endif %} {% if doc.get_state_slug == "rfc" and not snapshot %} RFC {% if not document_html %} - {{ doc.std_level }} {% else %} {{ doc.std_level }} {% endif %} {% if published %} {% if document_html %}
{% else %}({% endif %}{{ doc.pub_date|date:"F Y" }}{% if not document_html %}){% endif %} {% else %} (Publication date unknown) {% endif %} {% if document_html %}
{% endif %} {% if has_verified_errata or has_errata %} {% if document_html %}View errata{% else %}Errata{% endif %} {% endif %} {% if document_html and doc.get_state_slug == "rfc" and not snapshot %} Report errata {% endif %} {% if doc.related_ipr %} IPR {% endif %} {% if obsoleted_by %}
Obsoleted by {{ obsoleted_by|urlize_related_source_list:document_html|join:", " }}
{% endif %} {% if updated_by %}
Updated by {{ updated_by|urlize_related_source_list:document_html|join:", " }}
{% endif %} {% if obsoletes %}
Obsoletes {{ obsoletes|urlize_related_target_list:document_html|join:", " }}
{% endif %} {% if updates %}
Updates {{ updates|urlize_related_target_list:document_html|join:", " }}
{% endif %} {% if status_changes %}
Status changed by {{ status_changes|urlize_related_source_list|join:", " }}
{% endif %} {% if proposed_status_changes %}
Proposed status changed by {{ proposed_status_changes|urlize_related_source_list|join:", " }}
{% endif %} {% if rfc_aliases %}
Also known as {{ rfc_aliases|join:", "|urlize_ietf_docs }}
{% endif %} {% if draft_name %}
Was {{ draft_name }} {% if submission %}({{ submission|safe }}){% endif %}
{% endif %} {% else %} {% if snapshot and doc.doc.get_state_slug == 'rfc' %} This is an older version of an Internet-Draft that was ultimately published as {{doc.doc.canonical_name|prettystdname}}. {% elif snapshot and doc.rev != latest_rev %} This is an older version of an Internet-Draft whose latest revision state is "{{ doc.doc.get_state }}". {% else %} {% if snapshot and doc.rev == latest_rev %}{{ doc.doc.get_state }}{% else %}{{ doc.get_state }}{% endif %} Internet-Draft {% if submission %}({{ submission|safe }}){% endif %} {% if resurrected_by %}- resurrect requested by {{ resurrected_by }}{% endif %} {% endif %} {% endif %} {% if doc.get_state_slug != "active" and doc.get_state_slug != "rfc" %}
Expired & archived
{% endif %} {% if document_html %} Select version {% include "doc/revisions_list.html" with document_html=document_html %} {% if diff_revisions|length > 1 %} Compare versions {% include "doc/document_history_form.html" with doc=doc diff_revisions=diff_revisions action=rfcdiff_base_url document_html=document_html snapshot=snapshot only %} {% endif %} {% endif %} Author{% if doc.pk %}{{ doc.authors|pluralize }}{% endif %} {% if can_edit_authors %} Edit {% endif %} {# Implementation that uses the current primary email for each author #} {% if doc.pk %}{% for author in doc.authors %} {% person_link author %}{% if not forloop.last %},{% endif %} {% endfor %}{% endif %} {% if document_html and not snapshot or document_html and doc.rev == latest_rev%}
Email authors {% endif %} {% if not document_html %} {# FIXME: This shows the date of the last history event, which is not what participants necessarily expect here. #} Last updated {{ doc.time|date:"Y-m-d" }} {% if latest_revision and latest_revision.time|date:"Y-m-d" != doc.time|date:"Y-m-d" %} (Latest revision {{ latest_revision.time|date:"Y-m-d" }}) {% endif %} {% endif %} {% if replaces or not document_html and can_edit_stream_info %} Replaces {% if can_edit_stream_info and not snapshot %} Edit {% endif %} {% if replaces %} {% if document_html %} {{ replaces|urlize_related_target_list:document_html|join:"
" }} {% else %} {{ replaces|urlize_related_target_list:document_html|join:", " }} {% endif %} {% else %} (None) {% endif %} {% endif %} {% if replaced_by %} Replaced by {% if document_html %} {{ replaced_by|urlize_related_source_list:document_html|join:"
" }} {% else %} {{ replaced_by|urlize_related_source_list:document_html|join:", " }} {% endif %} {% endif %} {% if can_view_possibly_replaces %} {% if possibly_replaces %} Possibly Replaces {% if can_edit_replaces and not snapshot %} Edit {% endif %} {% if document_html %} {{ possibly_replaces|urlize_related_target_list:document_html|join:"
" }} {% else %} {{ possibly_replaces|urlize_related_target_list:document_html|join:", " }} {% endif %} {% endif %} {% if possibly_replaced_by %} Possibly Replaced By {% if can_edit_replaces and not snapshot %} {% comment %}Edit{% endcomment %} {% endif %} {% if document_html %} {{ possibly_replaced_by|urlize_related_source_list:document_html|join:"
" }} {% else %} {{ possibly_replaced_by|urlize_related_source_list:document_html|join:", " }} {% endif %} {% endif %} {% endif %} RFC stream {% if can_change_stream and not snapshot %} Edit {% endif %} {% if stream_desc != "(None)" %} {% if doc.stream.name|lower in 'iab,irtf,ise,editorial' %} {% endif %} {% if document_html %} {% if doc.stream.name|lower in 'iab,ietf,irtf' %} {{ doc.stream.name|upper }} Logo {% else %} {{ stream_desc }} {% endif %} {% else %} {{ stream_desc }} {% endif %} {% if doc.stream.name|lower in 'iab,irtf,ise,editorial' %} {% endif %} {% else %} {{ stream_desc }} {% endif %} {% if doc.get_state_slug != "rfc" and not snapshot %} Intended RFC status {% if can_edit_stream_info and not snapshot %} Edit {% endif %} {% if doc.intended_std_level %} {{ doc.intended_std_level }} {% else %} (None) {% endif %} {% endif %} {% if document_html %}Other formats{% else %}Formats{% endif %} {% if document_html %} {% include "doc/document_format_buttons.html" with skip_format="htmlized" %} {% else %} {% include "doc/document_format_buttons.html" %} {% endif %} {% if not document_html %} {% for check in doc.submission.latest_checks %} {% if check.passed != None and check.symbol.strip %} {{ check.checker|title }} {% if check.errors or check.warnings %} {{ check.symbol|safe }} {% else %} {{ check.symbol|safe }} {% endif %} {{ check.errors }} errors, {{ check.warnings }} warnings {% include "doc/yang-check-modal-overlay.html" %} {% endif %} {% endfor %} {% if review_assignments or can_request_review %} Reviews {% for review_assignment in review_assignments %} {% include "doc/review_assignment_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 or can_submit_unsolicited_review_for_teams %}
{% if can_request_review %} Request review {% endif %} {% if can_submit_unsolicited_review_for_teams|length == 1 %} Submit unsolicited review {% elif can_submit_unsolicited_review_for_teams %} Submit unsolicited review {% endif %}
{% endif %} {% endif %} {% if conflict_reviews %} IETF conflict review {{ conflict_reviews|join:", "|urlize_ietf_docs }} {% endif %} {% endif %} {% with doc.docextresource_set.all as resources %} {% if resources or doc.group and doc.group.list_archive or can_edit_stream_info or can_edit_individual %} Additional resources {% if can_edit_stream_info or can_edit_individual %} Edit {% endif %} {% if resources or doc.group and doc.group.list_archive %} {% for resource in resources|dictsort:"display_name" %} {% if resource.name.type.slug == 'url' or resource.name.type.slug == 'email' %} {% firstof resource.display_name resource.name.name %}
{# Maybe make how a resource displays itself a method on the class so templates aren't doing this switching #} {% else %} {% firstof resource.display_name resource.name.name %}: {{ resource.value|escape }}
{% endif %} {% endfor %} {% if doc.group and doc.group.list_archive %} {% if doc.group.list_archive|startswith:settings.MAILING_LIST_ARCHIVE_URL %} Mailing list discussion {% elif doc.group.list_archive|is_valid_url %} Mailing list discussion {% else %} {{ doc.group.list_archive|urlencode }} {% endif %} {% endif %} {% endif %} {% endif %} {% endwith %}