Made the revision list at the top of document pages take up less room. Added a warning above the document meta-information for old revisions. Made the background in the cell of the revision being shown have warning colour when showing old revisions. Gave the document meta-information tables the same sectioned look as the WG meta-information tables, as requested by a reviewer.

- Legacy-Id: 9421
This commit is contained in:
Henrik Levkowetz 2015-04-08 14:59:39 +00:00
parent cde9dfde2e
commit 31e4f1fec7
8 changed files with 770 additions and 559 deletions

View file

@ -107,6 +107,7 @@ def document_main(request, name, rev=None):
revisions.append(h.rev)
if not doc.rev in revisions:
revisions.append(doc.rev)
latest_rev = doc.rev
snapshot = False
@ -340,6 +341,27 @@ def document_main(request, name, rev=None):
except ObjectDoesNotExist:
pass
replaces = [d.name for d in doc.related_that_doc("replaces")]
replaced_by = [d.name for d in doc.related_that("replaces")]
published = doc.latest_event(type="published_rfc")
started_iesg_process = doc.latest_event(type="started_iesg_process")
# We'd like to group rows in the document information table, with a first row giving the
# group label. This would be easy if all browsers supported the rowspan="0" (zero)
# semantics of the html standard, but only Firefox and Opera do, so we have to count
# how many entries there will be in each section here, instead. Bah!
table_rows = dict(doc=5, stream=3, iesg=5, iana=3, rfced=2)
table_rows['doc'] += 1 if replaces or can_edit_stream_info else 0
table_rows['doc'] += 1 if replaced_by else 0
table_rows['doc'] += 1 if doc.get_state_slug != "rfc" else 0
table_rows['doc'] += 1 if conflict_reviews else 0
table_rows['stream'] += 1 if consensus else 0
table_rows['stream'] += 1 if shepherd_writeup or can_edit_shepherd_writeup else 0
table_rows['stream'] += 1 if published and started_iesg_process and published.time < started_iesg_process.time else 0
table_rows['iesg'] += 1 if iesg_state and (doc.note or can_edit) else 0
return render_to_response("doc/document_draft.html",
dict(doc=doc,
group=group,
@ -350,6 +372,9 @@ def document_main(request, name, rev=None):
revisions=revisions,
snapshot=snapshot,
latest_revision=latest_revision,
latest_rev=latest_rev,
table_rows=table_rows,
can_edit=can_edit,
can_change_stream=can_change_stream,
@ -367,8 +392,8 @@ def document_main(request, name, rev=None):
submission=submission,
resurrected_by=resurrected_by,
replaces=[d.name for d in doc.related_that_doc("replaces")],
replaced_by=[d.name for d in doc.related_that("replaces")],
replaces=replaces,
replaced_by=replaced_by,
updates=[prettify_std_name(d.name) for d in doc.related_that_doc("updates")],
updated_by=[prettify_std_name(d.document.canonical_name()) for d in doc.related_that("updates")],
obsoletes=[prettify_std_name(d.name) for d in doc.related_that_doc("obs")],
@ -378,7 +403,7 @@ def document_main(request, name, rev=None):
proposed_status_changes=proposed_status_changes,
rfc_aliases=rfc_aliases,
has_errata=doc.tags.filter(slug="errata"),
published=doc.latest_event(type="published_rfc"),
published=published,
file_urls=file_urls,
stream_state_type_slug=stream_state_type_slug,
stream_state=stream_state,
@ -390,7 +415,7 @@ def document_main(request, name, rev=None):
rfc_editor_state=doc.get_state("draft-rfceditor"),
iana_review_state=doc.get_state("draft-iana-review"),
iana_action_state=doc.get_state("draft-iana-action"),
started_iesg_process=doc.latest_event(type="started_iesg_process"),
started_iesg_process=started_iesg_process,
shepherd_writeup=shepherd_writeup,
search_archive=search_archive,
actions=actions,
@ -420,6 +445,8 @@ def document_main(request, name, rev=None):
can_manage = can_manage_group_type(request.user, doc.group.type_id)
table_rows = dict(doc=5, wg=2, iesg=3)
return render_to_response("doc/document_charter.html",
dict(doc=doc,
top=top,
@ -427,12 +454,14 @@ def document_main(request, name, rev=None):
content=content,
txt_url=doc.href(),
revisions=revisions,
latest_rev=latest_rev,
snapshot=snapshot,
telechat=telechat,
ballot_summary=ballot_summary,
group=group,
milestones=milestones,
can_manage=can_manage,
table_rows=table_rows,
),
context_instance=RequestContext(request))
@ -450,16 +479,21 @@ def document_main(request, name, rev=None):
if doc.get_state_slug() in ("iesgeval"):
ballot_summary = needed_ballot_positions(doc, doc.active_ballot().active_ad_positions().values())
table_rows = dict(doc=4, wg=2, iesg=3)
table_rows['iesg'] += 1 if not snapshot else 0
return render_to_response("doc/document_conflict_review.html",
dict(doc=doc,
top=top,
content=content,
revisions=revisions,
latest_rev=latest_rev,
snapshot=snapshot,
telechat=telechat,
conflictdoc=conflictdoc,
ballot_summary=ballot_summary,
approved_states=('appr-reqnopub-pend','appr-reqnopub-sent','appr-noprob-pend','appr-noprob-sent')
approved_states=('appr-reqnopub-pend','appr-reqnopub-sent','appr-noprob-pend','appr-noprob-sent'),
table_rows=table_rows,
),
context_instance=RequestContext(request))
@ -484,16 +518,21 @@ def document_main(request, name, rev=None):
else:
sorted_relations=None
table_rows = dict(doc=5, wg=2, iesg=3)
table_rows['iesg'] += sorted_relations.count() if sorted_relations else 0
return render_to_response("doc/document_status_change.html",
dict(doc=doc,
top=top,
content=content,
revisions=revisions,
latest_rev=latest_rev,
snapshot=snapshot,
telechat=telechat,
ballot_summary=ballot_summary,
approved_states=('appr-pend','appr-sent'),
sorted_relations=sorted_relations,
table_rows=table_rows,
),
context_instance=RequestContext(request))
@ -536,6 +575,7 @@ def document_main(request, name, rev=None):
top=top,
content=content,
revisions=revisions,
latest_rev=latest_rev,
snapshot=snapshot,
can_manage_material=can_manage_material,
other_types=other_types,
@ -546,6 +586,11 @@ def document_main(request, name, rev=None):
raise Http404
def document_history(request, name):
doc = get_object_or_404(Document, docalias__name=name)
top = render_document_top(request, doc, "history", name)

View file

@ -13,111 +13,142 @@
{% include "doc/revisions_list.html" %}
<table class="table table-condensed table-striped">
<tr>
<th>
{% if doc.get_state_slug != "approved" %}
Proposed charter
{% else %}
Charter
{% endif %}
</th>
<td class="edit"></td>
<td>
{{ group.name }} {{ group.type.name }}
<a href="{{ group.about_url }}">({{ group.acronym }})</a>
<table class="table table-condensed">
<thead id="message-row">
<tr>
{% if doc.rev != latest_rev %}
<th colspan="4" class="alert-warning">&nbsp;The information below is for an old version of the document</th>
{% else %}
<th colspan="4">&nbsp;</th>
{% endif %}
</tr>
</thead>
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
<tr>
<th>Title</th>
<td class="edit">
{% if not snapshot and can_manage %}
{% doc_edit_button "charter_change_title" name=doc.name %}
{% endif %}
</td>
<td>{{ doc.title }}</td>
</tr>
<tr>
<th>WG state</th>
<td class="edit"></td>
<td>{{ group.state.name }}</td>
</tr>
<tr>
<th><a href="/doc/help/state/charter/">Charter state</a></th>
<td class="edit">
{% if not snapshot and can_manage %}
{% doc_edit_button "charter_change_state" name=doc.name %}
{% endif %}
</td>
<td>
<span title="{{ doc.get_state.desc }}">{{ doc.get_state.name }}</span>
{% if chartering == "initial" %}
<span class="label label-info">Initial chartering</span>
{% endif %}
{% if chartering == "rechartering" %}
<span class="label label-info">Rechartering</span>
{% endif %}
</td>
</tr>
{% if not snapshot and chartering %}
<tbody>
<tr>
<th>Telechat date</th>
<td class="edit">
{% if can_manage %}
{% doc_edit_button "charter_telechat_date" name=doc.name %}
{% endif %}
</td>
<td>
{% if not telechat %}
(None)
{% else %}
On agenda of {{ telechat.telechat_date|date:"Y-m-d" }} IESG telechat
{% endif %}
<th rowspan="{{table_rows.doc}}">Document</th>
</tr>
{% if ballot_summary %}
<br><i>{{ ballot_summary }}</i>
{% endif %}
</td>
{% endif %}
<tr>
<th>
{% if doc.get_state_slug != "approved" %}
Proposed charter
{% else %}
Charter
{% endif %}
</th>
<td class="edit"></td>
<td>
{{ group.name }} {{ group.type.name }}
<a href="{{ group.about_url }}">({{ group.acronym }})</a>
<tr>
<th>Responsible AD</th>
<td class="edit">
{% if can_manage %}
{% doc_edit_button "charter_edit_ad" name=doc.name %}
{% endif %}
</td>
<td>
{{ doc.ad|default:"(None)" }}
</td>
</tr>
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
<tr>
<th>Send notices to</th>
<td class="edit">
{% if can_manage %}
{% doc_edit_button "charter_edit_notify" name=doc.name %}
{% endif %}
</td>
<td>
{{ doc.notify|default:"(None)" }}
</td>
</tr>
<tr>
<th>Title</th>
<td class="edit">
{% if not snapshot and can_manage %}
{% doc_edit_button "charter_change_title" name=doc.name %}
{% endif %}
</td>
<td>{{ doc.title }}</td>
</tr>
<tr>
<th>Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
<tr>
<th>Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
<tr>
<th><a href="/doc/help/state/charter/">State</a></th>
<td class="edit">
{% if not snapshot and can_manage %}
{% doc_edit_button "charter_change_state" name=doc.name %}
{% endif %}
</td>
<td>
<span title="{{ doc.get_state.desc }}">{{ doc.get_state.name }}</span>
{% if chartering == "initial" %}
<span class="label label-info">Initial chartering</span>
{% endif %}
{% if chartering == "rechartering" %}
<span class="label label-info">Rechartering</span>
{% endif %}
</td>
</tr>
</tbody>
<tbody>
<tr>
<th rowspan="{{table_rows.wg}}">WG</th>
</tr>
<tr>
<th>State</th>
<td class="edit"></td>
<td>{{ group.state.name }}</td>
</tr>
</tbody>
<tbody>
<tr>
<th rowspan="{{table_rows.iesg}}">IESG</th>
</tr>
{% if not snapshot and chartering %}
<tr>
<th>Telechat date</th>
<td class="edit">
{% if can_manage %}
{% doc_edit_button "charter_telechat_date" name=doc.name %}
{% endif %}
</td>
<td>
{% if not telechat %}
(None)
{% else %}
On agenda of {{ telechat.telechat_date|date:"Y-m-d" }} IESG telechat
{% endif %}
{% if ballot_summary %}
<br><i>{{ ballot_summary }}</i>
{% endif %}
</td>
{% endif %}
<tr>
<th>Responsible AD</th>
<td class="edit">
{% if can_manage %}
{% doc_edit_button "charter_edit_ad" name=doc.name %}
{% endif %}
</td>
<td>
{{ doc.ad|default:"(None)" }}
</td>
</tr>
<tr>
<th>Send notices to</th>
<td class="edit">
{% if can_manage %}
{% doc_edit_button "charter_edit_notify" name=doc.name %}
{% endif %}
</td>
<td>
{{ doc.notify|default:"(None)" }}
</td>
</tr>
</tbody>
</table>
<p class="buttonlist">

View file

@ -9,92 +9,115 @@
{% include "doc/revisions_list.html" %}
<table class="table table-condensed table-striped">
<tr>
<th>
{% if doc.get_state_slug not in approved_states %}
Proposed conflict review
{% else %}
Conflict review
{% endif %}
</th>
<td class="edit"></td>
<td>
<a href="{% url "doc_view" name=conflictdoc.canonical_name %}">
{{ conflictdoc.canonical_name }}{% if conflictdoc.get_state_slug != 'rfc' %}-{{ conflictdoc.rev }}{% endif %}
</a>
<span class="label label-info">{{conflictdoc.stream}} stream</span>
<table class="table table-condensed">
<thead id="message-row">
<tr>
{% if doc.rev != latest_rev %}
<th colspan="4" class="alert-warning">&nbsp;The information below is for an old version of the document</th>
{% else %}
<th colspan="4">&nbsp;</th>
{% endif %}
</tr>
</thead>
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
<tr>
<th><a href="/doc/help/state/conflict-review/">Conflict review state</a></th>
<td class="edit">
{% if not snapshot and user|has_role:"Area Director,Secretariat" %}
<a title="{{ doc.get_state.desc }}" class="btn btn-default btn-xs pull-right" href="{% url "conflict_review_change_state" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.get_state.name }}
</td>
</tr>
{% if not snapshot %}
<tbody>
<tr>
<th>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-default btn-xs pull-right" href="{% url "conflict_review_telechat_date" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{% if not telechat %}
(None)
{% 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>
<th rowspan="{{table_rows.doc}}">Document</th>
</tr>
{% endif %}
<tr>
<th>Shepherding 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-default btn-xs pull-right" href="{% url "conflict_review_ad" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.ad}}
</td>
</tr>
<tr>
<th>
{% if doc.get_state_slug not in approved_states %}
Proposed conflict review
{% else %}
Conflict review
{% endif %}
</th>
<td class="edit"></td>
<td>
<a href="{% url "doc_view" name=conflictdoc.canonical_name %}">
{{ conflictdoc.canonical_name }}{% if conflictdoc.get_state_slug != 'rfc' %}-{{ conflictdoc.rev }}{% endif %}
</a>
<span class="label label-info">{{conflictdoc.stream}} stream</span>
<tr>
<th>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-default btn-xs pull-right" href="{% url "conflict_review_notices" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.notify}}
</td>
</tr>
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
<tr>
<th>Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
<tr>
<th>Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
<tr>
<th><a href="/doc/help/state/conflict-review/">State</a></th>
<td class="edit">
{% if not snapshot and user|has_role:"Area Director,Secretariat" %}
<a title="{{ doc.get_state.desc }}" class="btn btn-default btn-xs pull-right" href="{% url "conflict_review_change_state" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.get_state.name }}
</td>
</tr>
</tbody>
</tbody>
<tr>
<th rowspan="{{table_rows.iesg}}">IESG</th>
</tr>
{% if not snapshot %}
<tr>
<th>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-default btn-xs pull-right" href="{% url "conflict_review_telechat_date" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{% if not telechat %}
(None)
{% 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>
{% endif %}
<tr>
<th>Shepherding 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-default btn-xs pull-right" href="{% url "conflict_review_ad" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.ad}}
</td>
</tr>
<tr>
<th>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-default btn-xs pull-right" href="{% url "conflict_review_notices" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.notify}}
</td>
</tr>
</tbody>
</table>
<h2>Conflict review<br><small>{{ conflictdoc.name }}-{{ conflictdoc.rev }}</small></h2>

View file

@ -18,308 +18,357 @@
{% block content %}
{{ top|safe }}
<table class="table table-condensed table-striped">
<tr>
<th>Document 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="//www.rfc-editor.org/errata_search.php?rfc={{ rfc_number }}" rel="nofollow">Errata</a>{% else %}; No errata{% endif %})
{% include "doc/revisions_list.html" %}
{% 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>
<table class="table table-condensed">
<thead id="message-row">
<tr>
{% if doc.rev != latest_rev %}
<th colspan="4" class="alert-warning">&nbsp;The information below is for an old version of the document</th>
{% else %}
<th colspan="4">&nbsp;</th>
{% endif %}
</tr>
</thead>
{% if replaces or can_edit_stream_info %}
<tbody>
<tr>
<th>Replaces</th>
<td class="edit">
{% if can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_replaces" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ replaces|join:", "|urlize_ietf_docs|default:"(None)" }}
</td>
<th rowspan="{{table_rows.doc}}">Document</th>
</tr>
{% endif %}
{% if replaced_by %}
<tr>
<th>Replaced by</th>
<td class="edit"></td>
<td>
{{ replaced_by|join:", "|urlize_ietf_docs }}
</td>
<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="//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>
{% endif %}
<tr>
<th>Document stream</th>
<td class="edit">
{% if can_change_stream %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_stream" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.stream|default:"(None)" }}
</td>
</tr>
<tr>
<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 %}
</td>
</tr>
{% if doc.get_state_slug != "rfc" %}
<tr>
<th>Intended RFC status</th>
<td class="edit">
{% if can_edit or can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_intended_status" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.intended_std_level|default:"(None)" }}
</td>
<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 %}
</td>
</tr>
{% endif %}
<tr>
<th>Other versions</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 conflict_reviews %}
<tr>
<th>IETF conflict review</th>
<td class="edit"></td>
<td>{{ conflict_reviews|join:", "|urlize_ietf_docs }}</td>
</tr>
{% endif %}
<tr>
{% if doc.stream %}
<th><a href="{% url "ietf.help.views.state" doc=doc.type.slug type=doc.stream.slug %}">{{ doc.stream }} state</th>
<td class="edit">
{% if doc.stream and can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_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>
{% if replaces or can_edit_stream_info %}
<tr>
<th>Replaces</th>
<td class="edit">
{% if can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_replaces" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ replaces|join:", "|urlize_ietf_docs|default:"(None)" }}
</td>
</tr>
{% endif %}
</tr>
{% if consensus %}
{% if replaced_by %}
<tr>
<th>Replaced by</th>
<td class="edit"></td>
<td>
{{ replaced_by|join:", "|urlize_ietf_docs }}
</td>
</tr>
{% endif %}
<tr>
<th>Consensus</th>
<td class="edit">
{% if can_edit or can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_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>
<th>Stream</th>
<td class="edit">
{% if can_change_stream %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_stream" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.stream|default:"(None)" }}
</td>
</tr>
{% endif %}
<tr>
<th>Document shepherd</th>
<td class="edit">
{% if can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_edit_shepherd" name=doc.name %}">Edit</a>
{% elif is_shepherd %}
<a class="btn btn-default btn-xs" href="{% url "doc_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 doc.get_state_slug != "rfc" %}
<tr>
<th>Intended RFC status</th>
<td class="edit">
{% if can_edit or can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_intended_status" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.intended_std_level|default:"(None)" }}
</td>
</tr>
{% endif %}
{% if shepherd_writeup or can_edit_shepherd_writeup %}
<tr>
<th>Shepherd write-up</th>
<td class="edit">
{% if can_edit_shepherd_writeup %}
{% url "doc_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 "doc_shepherd_writeup" name=doc.name %}">Show</a>
(last changed {{ shepherd_writeup.time|date:"Y-m-d"}})
{% else %}
(None)
{% endif %}
</td>
<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>
{% endif %}
{% if published and started_iesg_process and published.time < started_iesg_process.time %}
{% if conflict_reviews %}
<tr>
<th>IETF conflict review</th>
<td class="edit"></td>
<td>{{ conflict_reviews|join:", "|urlize_ietf_docs }}</td>
</tr>
{% endif %}
</tbody>
<tbody>
<tr>
<th colspan="3" class="warning">This information refers to IESG processing after the RFC was initially published:</th>
<th rowspan="{{table_rows.stream}}">Stream</th>
</tr>
{% endif %}
<tr>
{% if doc.stream %}
<th><a href="{% url "ietf.help.views.state" doc=doc.type.slug type=doc.stream.slug %}">
{% if doc.stream.slug == "ietf" %} WG {% else %} {{ doc.stream }} {% endif %} state
</th>
<td class="edit">
{% if doc.stream and can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_stream_state" name=doc.name state_type=stream_state_type_slug %}">Edit</a>
{% endif %}
</td>
<td>
{{ stream_state|default:"(None)" }}
<tr>
<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 "doc_change_state" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ iesg_state_summary|default:"I-D Exists" }}
</td>
</tr>
{% 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 %}
<tr>
<th>Consensus</th>
<td class="edit">
{% if can_edit or can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_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>Document shepherd</th>
<td class="edit">
{% if can_edit_stream_info %}
<a class="btn btn-default btn-xs" href="{% url "doc_edit_shepherd" name=doc.name %}">Edit</a>
{% elif is_shepherd %}
<a class="btn btn-default btn-xs" href="{% url "doc_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>Shepherd write-up</th>
<td class="edit">
{% if can_edit_shepherd_writeup %}
{% url "doc_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 "doc_shepherd_writeup" name=doc.name %}">Show</a>
(last changed {{ shepherd_writeup.time|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 colspan="3" class="warning">This information refers to IESG processing after the RFC was initially published:</th>
</tr>
{% endif %}
</tbody>
<tbody>
<tr>
<th rowspan="{{table_rows.iesg}}">IESG</th>
</tr>
<tr>
<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 "doc_change_state" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ iesg_state_summary|default:"I-D Exists" }}
</td>
</tr>
<tr>
<th>Telechat date</th>
<td class="edit">
{% if can_edit %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_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>Responsible AD</th>
<td class="edit">
{% if can_edit %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_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>IESG note</th>
<td class="edit">
{% if can_edit %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_iesg_note" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.note|default:"(None)"|linebreaksbr }}
</td>
</tr>
{% endif %}
{% endif %}
<tr>
<th>Send notices to</th>
<td class="edit">
{% if can_edit_notify %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_notify" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.notify|default:"(None)"}}
</td>
</tr>
</tbody>
{% if iana_review_state %}
<tbody>
<tr>
<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 %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_iana_state" name=doc.name state_type="iana-review" %}">Edit</a>
{% endif %}
</td>
<td>
{{ iana_review_state }}
</td>
<th rowspan="{{table_rows.iana}}">IANA</th>
</tr>
<tr>
<th>IANA action state</th>
<td class="edit">
{% if can_edit_iana_state %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_iana_state" name=doc.name state_type="iana-action" %}">Edit</a>
{% endif %}
</td>
<td>
{{ iana_action_state }}
</td>
<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 %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_iana_state" name=doc.name state_type="iana-review" %}">Edit</a>
{% endif %}
</td>
<td>
{{ iana_review_state }}
</td>
</tr>
<tr>
<th>IANA action state</th>
<td class="edit">
{% if can_edit_iana_state %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_iana_state" name=doc.name state_type="iana-action" %}">Edit</a>
{% endif %}
</td>
<td>
{{ iana_action_state }}
</td>
</tr>
</tbody>
{% endif %}
{% if rfc_editor_state %}
<tr>
<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="//www.rfc-editor.org/queue2.html#{{ doc.name }}">{{ rfc_editor_state }}</a></td>
</tr>
{% endif %}
<tbody>
<tr>
<th>Telechat date</th>
<td class="edit">
{% if can_edit %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_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 rfc_editor_state %}
<tr>
<th rowspan="{{table_rows.rfced}}">RFC Editor</th>
</tr>
{% if ballot_summary %}
<br><i>{{ ballot_summary }}</i>
{% endif %}
</td>
</tr>
<tr>
<th>Responsible AD</th>
<td class="edit">
{% if can_edit %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_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>IESG note</th>
<td class="edit">
{% if can_edit %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_iesg_note" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.note|default:"(None)"|linebreaksbr }}
</td>
</tr>
<tr>
<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="//www.rfc-editor.org/queue2.html#{{ doc.name }}">{{ rfc_editor_state }}</a></td>
</tr>
{% endif %}
{% endif %}
<tr>
<th>Send notices to</th>
<td class="edit">
{% if can_edit_notify %}
<a class="btn btn-default btn-xs" href="{% url "doc_change_notify" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.notify|default:"(None)"}}
</td>
</tr>
</tbody>
</table>
<p class="buttonlist">
@ -364,13 +413,12 @@
<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
<a href="//www.ietf.org/archive/id/{{ doc.name }}-{{ doc.rev }}.txt">https://www.ietf.org/archive/id/{{ doc.name }}-{{ doc.rev }}.txt</a>
This Internet-Draft is no longer active. A copy of
the expired Internet-Draft can be found at<br/>
<a href="{{doc.href}}">{{doc.href}}</a>
</div>
<div class="panel-body">
<p>This Internet-Draft is no longer active. A copy of
the expired Internet-Draft can be found here:<br/>
<a href="{{doc.href}}">{{doc.href}}</a>
<p>
<h4>Abstract</h4>
<p>{{ doc.abstract }}</p>

View file

@ -9,7 +9,17 @@
{% include "doc/revisions_list.html" %}
<table class="table table-condensed table-striped">
<table class="table table-condensed">
<thead id="message-row">
<tr>
{% if doc.rev != latest_rev %}
<th colspan="4" class="alert-warning">&nbsp;The information below is for an old version of the document</th>
{% else %}
<th colspan="4">&nbsp;</th>
{% endif %}
</tr>
</thead>
<tr>
<th>{% if doc.meeting_related %}Meeting{% endif %} {{ doc.type.name }}</th>
<td class="edit"></td>

View file

@ -9,99 +9,127 @@
{% include "doc/revisions_list.html" %}
<table class="table table-condensed table-striped">
<tr>
<th>
{% 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-default btn-xs pull-right" href="{% url "status_change_title" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.title }}
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
{% if doc.rev != latest_rev %}
<p class="alert alert-warning"> The information below is for an old version of the document</p>
{% endif %}
<table class="table table-condensed">
<thead id="message-row">
<tr>
{% if doc.rev != latest_rev %}
<th colspan="4" class="alert-warning">&nbsp;The information below is for an old version of the document</th>
{% else %}
<th colspan="4">&nbsp;</th>
{% endif %}
</tr>
</thead>
<tbody>
<tr>
<th rowspan="{{table_rows.doc}}">Document</th>
</tr>
<tr>
<th>
{% 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-default btn-xs pull-right" href="{% url "status_change_title" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{ doc.title }}
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
<tr>
<th>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 %}
{% for relation_group in relation_groups %}
<tr>
<th>{{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>
<th>{{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>
<th><a href="{% url "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-default btn-xs pull-right" href="{% url "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>
{% endfor %}
<tr>
<th><a href="{% url "state_help" type="status-change" %}">Review state</a></th>
<td class="edit">
{% if not snapshot and user|has_role:"Area Director,Secretariat" %}
<a class="btn btn-default btn-xs pull-right" href="{% url "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>
<tr>
<th rowspan="{{table_rows.doc}}">IESG</th>
</tr>
<tr>
<th>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-default btn-xs pull-right" href="{% url "status_change_telechat_date" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{% if not telechat %}
(None)
{% else %}
On agenda of {{ telechat.telechat_date|date:"Y-m-d" }} IESG telechat
{% if doc.returning_item %}(returning item){% endif %}
{% endif %}
<tr>
<th>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-default btn-xs pull-right" href="{% url "status_change_telechat_date" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{% if not telechat %}
(None)
{% 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>
{% if ballot_summary %}
<br><i>{{ ballot_summary }}</i>
{% endif %}
</td>
</tr>
<tr>
<th>Shepherding 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-default btn-xs pull-right" href="{% url "status_change_ad" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.ad}}
</td>
</tr>
<tr>
<th>Shepherding 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-default btn-xs pull-right" href="{% url "status_change_ad" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.ad}}
</td>
</tr>
<tr>
<th>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-default btn-xs pull-right" href="{% url "status_change_notices" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.notify}}
</td>
</tr>
<tr>
<th>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-default btn-xs pull-right" href="{% url "status_change_notices" name=doc.name %}">Edit</a>
{% endif %}
</td>
<td>
{{doc.notify}}
</td>
</tr>
<tr>
<th>Last updated</th>
<td class="edit"></td>
<td>{{ doc.time|date:"Y-m-d" }}</td>
</tr>
</tbody>
</table>
<p class="buttonlist">

View file

@ -1,7 +1,7 @@
<ul class="pagination">
<ul class="pagination revlist">
<li class="disabled"><a><b>Versions</b></a></li>
{% for rev in revisions %}
<li {% if rev == doc.rev %}class="active"{% endif %}>
<li {% if rev == doc.rev %}{% if rev == latest_rev %}class="active"{% else %}class="warning"{% endif %}{% endif %}>
<a href="{% url "doc_view" name=doc.name %}{% if not forloop.last %}{{ rev }}/{% endif %}" >{{ rev }}</a>
</li>
{% endfor %}

View file

@ -66,12 +66,27 @@ body { padding-top: 70px; }
/* Style the left menu */
.nav-header { font-weight: bold; padding-bottom: 2px;}
.nav-header:not(:first-child) { padding: 10px 0 2px 0 }
.nav-stacked>li, .nav-stacked>li+li { margin: 0; line-height: 1.214; }
.nav-stacked>li>a { padding: 2px 8px; }
.leftmenu {
max-width: 200px;
.navbar {
font-family: "PT Sans Caption", "Trebuchet", "Seravek", sans-serif;
}
.nav-stacked>li, .nav-stacked>li+li { margin: 0; line-height: 1.214; }
.nav-stacked>li>a { padding: 0.125em 0.5em; }
.leftmenu {
max-width: 195px;
font-family: "PT Sans Caption", "Trebuchet", "Seravek", sans-serif;
font-size: 0.917em;
}
.leftmenu .nav {
overflow-wrap: break-word
}
.navbar-brand > img {
display: inline;
margin-top: -7px;
}
.leftmenu .nav { overflow-wrap: break-word }
/* Hack to make anchor-targets take up a bit more space vertically
to work around the position fixed navbar which otherwise covers them */
@ -80,13 +95,13 @@ body { padding-top: 70px; }
display: block;
position: relative;
width: 0;
height: 50px;
margin-top: -50px;
height: 65px;
margin-top: -65px;
}
/* Style navbar buttons */
.navbar-btn { color:#777; }
.navbar-btn:hover { color: #333; }
/* .navbar-btn { color:#777; } */
/* .navbar-btn:hover { color: #333; } */
/* Make the panel title font normally large */
.panel-title { font-size: 14px }
@ -189,15 +204,6 @@ ampersand you get is dependent on which fonts are available in the browser. Hac
}
.visible-nojs { display: block !important; }
.navbar {
font-family: "PT Sans Caption", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.navbar-brand > img {
display: inline;
margin-top: -7px;
}
/* Development Mode tool bar */
.navbar-dev {
@ -311,3 +317,23 @@ form.add-email textarea {
table.materials .snippable {
width: 25em;
}
.revlist {
font-family: "PT Sans Caption", "Trebuchet", "Seravek", sans-serif;
font-size: 0.7071em;
}
.pagination.revlist {
margin: 1em 0 0.5em 0;
}
.pagination.revlist>li>a, .pagination.revlist>li>a:hover, .pagination.revlist>li>a:active {
padding: 4px 8px;
}
.revlist>li.warning>a, .revlist>li.warning>a:hover, .revlist>li.warning>a:active {
background-color: #f9c0a4; /* warning colour */
}
/* This is for the <thead> of document meta-information tables, which can either be empty or hold an alert-warning */
#message-row tr th {
padding: 0.2em 0.5em;
}