datatracker/ietf/templates/doc/search/search_result_row.html
Henrik Levkowetz 814e1315b5 Added a new document tab for some documents, showing htmlized drafts and RFCs
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
2017-03-20 14:08:52 +00:00

109 lines
4.5 KiB
HTML

{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %}
{% load widget_tweaks %}
{% load ietf_filters %}
{% load ballot_icon %}
<tr {% spaceless %}
{% if color_row_positions %}
{% with doc|ballotposition:user as pos %}
{% if pos %}class="position-{{pos.slug}}-row"{% endif %}
{% endwith %}
{% endif %}
{% endspaceless %}>
<td>
{% if user.is_authenticated %}
<a href="{% url "ietf.community.views.untrack_document" username=request.user.username name=doc.name %}" class="track-untrack-doc {% if not doc.tracked_in_personal_community_list %}hide{% endif %}" title="Remove from your personal ID list">
<span class="fa fa-bookmark"></span>
</a>
<a href="{% url "ietf.community.views.track_document" username=request.user.username name=doc.name %}" class="track-untrack-doc {% if doc.tracked_in_personal_community_list %}hide{% endif %}" title="Add to your personal ID list">
<span class="fa fa-bookmark-o"></span>
</a>
{% endif %}
</td>
<td class="doc">
<div>
<a class="symbol-link" href="{{ doc.get_absolute_url }}"><span class="fa fa-info-circle fa-lg"></span></a>
<a href="{% url 'ietf.doc.views_doc.document_html' name=doc.canonical_name %}">{% if doc.get_state_slug == "rfc" %}RFC {{ doc.rfc_number }}{% else %}{{ doc.name }}-{{ doc.rev }}{% endif %}</a>
{% if doc.get_state_slug == "rfc" and "draft" in doc.name %}
<i>(was {{ doc.name }})</i>
{% endif %}
<br>
<b>{{ doc.title }}</b>
{% if doc.has_errata %}
<a class="label label-danger" href="https://www.rfc-editor.org/errata_search.php?rfc={{ doc.rfc_number }}">Errata</a>
{% endif %}
</div>
{% if user|has_role:"Secretariat" and doc.reschedule_form %}
<div class="form-group">
<label for="{{ doc.reschedule_form.telechat_date.auto_id}}">Reschedule:</label>
{{ doc.reschedule_form.telechat_date|add_class:"form-control input-sm" }}
</div>
{% if doc.reschedule_form.show_clear %}
<div class="checkbox">
<label>{{ doc.reschedule_form.clear_returning_item }} <b>Clear "returning item"</b></label>
</div>
{% endif %}
{% endif %}
</td>
<td>
<span class="text-nowrap">
{% if doc.latest_revision_date|timesince_days|new_enough:request and doc.get_state_slug != "rfc" %}<a href="{{ rfcdiff_base_url }}?url2={{ doc.name }}-{{ doc.rev }}">{% endif %}
{% if doc.get_state_slug == "rfc" %}{{ doc.latest_revision_date|date:"Y-m" }}{% else %}{{ doc.latest_revision_date|date:"Y-m-d" }}{% endif %}
{% if doc.latest_revision_date|timesince_days|new_enough:request and doc.get_state_slug != "rfc" %}</a>{% endif %}
</span>
{% 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 pull-right" title="{{check.checker|title}} returned warnings or errors.">{{ check.symbol|safe }}</span>
{% else %}
<span class="checker-success pull-right" title="{{check.checker|title}} passed">{{ check.symbol|safe }}</span>
{% endif %}
{% endif %}
{% endfor %}
{% if doc.pages %}
<br><small class="text-muted">{{doc.pages}} page{{ doc.pages|pluralize }}</small>
{% endif %}
{% if doc.latest_revision_date|timesince_days|new_enough:request %}
<wbr><span class="label label-success">New</span>
{% endif %}
{% if doc.get_state_slug == "active" and doc.expirable and doc.expires|timesince_days|expires_soon:request %}
<wbr><span class="label label-warning">Expires soon</span>
{% endif %}
</td>
{% include "doc/search/status_columns.html" %}
<td class="ipr text-center">
{% if doc.related_ipr %}
<a href="{% url "ietf.ipr.views.search" %}?submit=draft&amp;id={{ doc.name }}">
<span class="label label-default">{{ doc.related_ipr|length }}</span>
</a>
{% endif %}
</td>
{% if ad_name == None or ad_name != doc.ad.plain_name %}
<td class="area-director">
{% if doc.ad %}
<a title="Area Director" href="mailto:{{ doc.ad.email_address|urlencode }}">{{ doc.ad }}</a><br>
{% endif %}
{% if doc.shepherd %}<a title="Shepherd" href="mailto:{{doc.shepherd}}"><small class="text-muted">{{doc.shepherd.person.name}}</small></a>{% endif %}
</td>
{% endif %}
{% if color_row_positions %}
{% with doc|ballotposition:user as pos %}
<td {% if pos %}class="changebar position-{{pos.slug}}"{% endif %}></td>
{% endwith %}
{% endif %}
</tr>