More fixes.
- Legacy-Id: 19812
This commit is contained in:
parent
46ca676736
commit
6fa5fa073e
|
@ -501,7 +501,7 @@ class BallotWriteupsTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertEqual(len(q('textarea[name=ballot_writeup]')), 1)
|
||||
self.assertFalse(q('[class=help-block]:contains("not completed IETF Last Call")'))
|
||||
self.assertFalse(q('[class=form-text]:contains("not completed IETF Last Call")'))
|
||||
self.assertTrue(q('[type=submit]:contains("Save")'))
|
||||
self.assertCountEqual(draft.action_holders.all(), [])
|
||||
|
||||
|
@ -525,7 +525,7 @@ class BallotWriteupsTests(TestCase):
|
|||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertEqual(len(q('textarea[name=ballot_writeup]')), 1)
|
||||
self.assertTrue(q('[class=help-block]:contains("not completed IETF Last Call")'))
|
||||
self.assertTrue(q('[class=text-danger]:contains("not completed IETF Last Call")'))
|
||||
self.assertTrue(q('[type=submit]:contains("Save")'))
|
||||
|
||||
def test_edit_approval_text(self):
|
||||
|
|
|
@ -11,7 +11,7 @@ $(function () {
|
|||
form.on("keydown", ".new-relation-row input[type=text]", function () {
|
||||
var top = $(this).closest(".new-relation-row");
|
||||
top.removeClass("new-relation-row");
|
||||
top.find(".help-block").remove();
|
||||
top.find(".form-text").remove();
|
||||
top.find(".delete").show();
|
||||
top.find("input,select").each(function () {
|
||||
this.name += counter;
|
||||
|
|
|
@ -2652,7 +2652,7 @@ Subject: test
|
|||
r = self.client.post(url, files)
|
||||
if r.status_code != 302:
|
||||
q = PyQuery(r.content)
|
||||
print(q('div.invalid-feedback span.help-block div').text())
|
||||
print(q('div.invalid-feedback span.form-text div').text())
|
||||
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% block title %}404 Not Found{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<img class="ietflogo" src="{% static 'ietf/images/ietflogo.png' %}" alt="IETF" style="width: 10em">
|
||||
<img class="ietflogo"
|
||||
src="{% static 'ietf/images/ietflogo.png' %}"
|
||||
alt="IETF"
|
||||
style="width: 10em">
|
||||
<div class='alert'>
|
||||
|
||||
<h2>Restricted Access.</h2>
|
||||
|
||||
<p>{{ exception }}</p>
|
||||
|
||||
<p>If you think this is a server error, please contact <a href="mailto:{{ bugreport_email }}">{{ bugreport_email }}</a>.</p>
|
||||
|
||||
<p>
|
||||
{{ exception }}
|
||||
</p>
|
||||
<p>
|
||||
If you think this is a server error, please contact
|
||||
<a href="mailto:{{ bugreport_email }}">{{ bugreport_email }}</a>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% endblock %}
|
|
@ -1,20 +1,23 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% block title %}404 Not Found{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<img class="ietflogo" src="{% static 'ietf/images/ietflogo.png' %}" alt="IETF" style="width: 10em">
|
||||
<img class="ietflogo"
|
||||
src="{% static 'ietf/images/ietflogo.png' %}"
|
||||
alt="IETF"
|
||||
style="width: 10em">
|
||||
<div class='alert'>
|
||||
|
||||
<h2>The page you were looking for couldn't be found.</h2>
|
||||
|
||||
|
||||
<p> The requested URL was not found on this server. If you entered the URL
|
||||
manually please check your spelling and try again.</p>
|
||||
|
||||
<p>If you think this is a server error, please contact <a href="mailto:{{ bugreport_email }}">{{ bugreport_email }}</a>.</p>
|
||||
|
||||
<p>
|
||||
The requested URL was not found on this server. If you entered the URL
|
||||
manually please check your spelling and try again.
|
||||
</p>
|
||||
<p>
|
||||
If you think this is a server error, please contact
|
||||
<a href="mailto:{{ bugreport_email }}">{{ bugreport_email }}</a>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% endblock %}
|
|
@ -1,13 +1,14 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% block title %}500 Internal Server Error{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<img class="ietflogo" src="{% static 'ietf/images/ietflogo.png' %}" alt="IETF" style="width: 10em">
|
||||
|
||||
<img class="ietflogo"
|
||||
src="{% static 'ietf/images/ietflogo.png' %}"
|
||||
alt="IETF"
|
||||
style="width: 10em">
|
||||
<h2>Internal Server Error.</h2>
|
||||
|
||||
<p class="error-text">
|
||||
The server encountered an internal error and was unable to complete
|
||||
your request. Either the server is overloaded or there was an
|
||||
|
@ -19,7 +20,7 @@
|
|||
A failure report with details about what happened has been sent to the
|
||||
server administrators. It would be helpful if you would file a bug
|
||||
report with additional information at the
|
||||
<a href="https://trac.ietf.org/trac/ietfdb/newticket">IETF database issue tracker</a>, too.
|
||||
<a href="https://trac.ietf.org/trac/ietfdb/newticket">IETF database issue tracker</a>
|
||||
, too.
|
||||
</p>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,3 +1,4 @@
|
|||
{# bs5ok #}
|
||||
{% extends "admin/change_form.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
@ -14,4 +15,4 @@
|
|||
{% if has_absolute_url %}<li><a href="../../../r/{{ content_type_id }}/{{ object_id }}/" class="viewsitelink">{% trans "View on site" %}</a></li>{% endif%}
|
||||
</ul>
|
||||
{% endif %}{% endif %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,3 +1,4 @@
|
|||
{# bs5ok #}
|
||||
{% extends "admin/change_list.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
@ -16,4 +17,4 @@
|
|||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,3 +1,4 @@
|
|||
{# bs5ok #}
|
||||
{% extends "admin/base_site.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
@ -43,4 +44,4 @@
|
|||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,3 +1,4 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2015-2021, All Rights Reserved #}
|
||||
<!doctype html>
|
||||
{% load ietf_filters static %}
|
||||
|
@ -37,18 +38,7 @@
|
|||
</head>
|
||||
<body class="position-relative"
|
||||
data-group-menu-data-url="{% url 'ietf.group.views.group_menu_data' %}">
|
||||
<nav class="navbar navbar-expand-lg
|
||||
{% if server_mode and server_mode != "production" %}
|
||||
navbar-light bg-warning
|
||||
{% else %}
|
||||
navbar-dark bg-secondary
|
||||
{% endif %}
|
||||
|
||||
{% if navbar_mode %}
|
||||
{{ navbar_mode }}
|
||||
{% else %}
|
||||
fixed-top
|
||||
{% endif %}">
|
||||
<nav class="navbar navbar-expand-lg {% if server_mode and server_mode != "production" %} navbar-light bg-warning {% else %} navbar-dark bg-secondary {% endif %} {% if navbar_mode %} {{ navbar_mode }} {% else %} fixed-top {% endif %}">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<img alt="IETF Logo"
|
||||
|
@ -62,12 +52,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
{% if not user.is_authenticated %}
|
||||
<a class="d-none d-sm-block mx-5 btn
|
||||
{% if server_mode and server_mode == "production" %}
|
||||
btn-warning
|
||||
{% else %}
|
||||
btn-info
|
||||
{% endif %}"
|
||||
<a class="d-none d-sm-block mx-5 btn {% if server_mode and server_mode == "production" %} btn-warning {% else %} btn-info {% endif %}"
|
||||
rel="nofollow"
|
||||
href="/accounts/login/?next={{ request.get_full_path|urlencode }}">
|
||||
Sign
|
||||
|
@ -105,13 +90,7 @@
|
|||
{% endif %}
|
||||
<div class="col overflow-hidden mx-3" id="content">
|
||||
{% for message in messages %}
|
||||
<div class="alert
|
||||
{% if message.level_tag %}
|
||||
alert-{% if message.level_tag == 'error' %}danger{% else %}{{ message.level_tag }}{% endif %}
|
||||
{% endif %}
|
||||
{% if message.extra_tags %}
|
||||
{{ message.extra_tags }}
|
||||
{% endif %} alert-dismissable fade show">
|
||||
<div class="alert {% if message.level_tag %} alert-{% if message.level_tag == 'error' %}danger{% else %}{{ message.level_tag }}{% endif %} {% endif %} {% if message.extra_tags %} {{ message.extra_tags }}{% endif %} alert-dismissable fade show">
|
||||
<button type="button"
|
||||
class="btn-close float-end"
|
||||
data-bs-dismiss="alert"
|
||||
|
@ -159,11 +138,12 @@
|
|||
<br />
|
||||
{% if python_version %}Python {{ python_version }}{% endif %}
|
||||
{% if django_version %}Django {{ django_version }}{% endif %}
|
||||
<br>
|
||||
{% include "debug.html" %}
|
||||
</p>
|
||||
</footer>
|
||||
{% endblock footer %}
|
||||
</div>
|
||||
{% include "debug.html" %}
|
||||
{% block js %}
|
||||
{% endblock js %}
|
||||
{% if debug %}
|
||||
|
|
|
@ -1,23 +1,18 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Subscription to {{ clist.long_name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>Subscription to {{ clist.long_name }}</h1>
|
||||
|
||||
{% bootstrap_messages %}
|
||||
|
||||
<p>Get notified when changes happen to any of the tracked documents.</p>
|
||||
|
||||
<p>
|
||||
Get notified when changes happen to any of the tracked documents.
|
||||
</p>
|
||||
{% if existing_subscriptions %}
|
||||
<h2>Existing subscriptions</h2>
|
||||
|
||||
<ul class="list-group">
|
||||
{% for s in existing_subscriptions %}
|
||||
<li class="list-group-item email-subscription">
|
||||
|
@ -25,36 +20,37 @@
|
|||
{% csrf_token %}
|
||||
<code>{{ s.email.address }}</code> - {{ s.get_notify_on_display }}
|
||||
<input type="hidden" name="subscription_id" value="{{ s.pk }}">
|
||||
<button class="btn btn-danger btn-sm" type="submit" name="action" value="unsubscribe">Unsubscribe</button>
|
||||
<button class="btn btn-danger btn-sm"
|
||||
type="submit"
|
||||
name="action"
|
||||
value="unsubscribe">Unsubscribe</button>
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<p><a class="btn btn-primary" href="{{ clist.get_absolute_url }}">Back to list</a></p>
|
||||
|
||||
<p>
|
||||
<a class="btn btn-secondary" href="{{ clist.get_absolute_url }}">Back to list</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<h2>Add new subscription</h2>
|
||||
|
||||
<p class="text-muted">The email addresses you can choose between are those registered in <a href="{% url "ietf.ietfauth.views.profile" %}">your profile</a>.</p>
|
||||
|
||||
<p class="text-muted">
|
||||
The email addresses you can choose between are those registered in
|
||||
<a href="{% url "ietf.ietfauth.views.profile" %}">your profile</a>
|
||||
.
|
||||
</p>
|
||||
{% if form.fields.email.queryset %}
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
|
||||
|
||||
|
||||
<a class="btn btn-primary" href="{{ clist.get_absolute_url }}">Back to list</a>
|
||||
|
||||
<a class="btn btn-secondary" href="{{ clist.get_absolute_url }}">Back to list</a>
|
||||
<button type="submit" name="action" value="subscribe" class="btn btn-primary">Subscribe</button>
|
||||
|
||||
|
||||
</form>
|
||||
{% else %}
|
||||
<div class="alert alert-danger">You do not have any active email addresses registered with your account. Go to <a href="{% url "ietf.ietfauth.views.profile" %}">your profile and add or activate one</a>.</div>
|
||||
|
||||
<a class="btn btn-primary" href="{{ clist.get_absolute_url }}">Back to list</a>
|
||||
<div class="alert alert-danger">
|
||||
You do not have any active email addresses registered with your account. Go to
|
||||
<a href="{% url "ietf.ietfauth.views.profile" %}">your profile and add or activate one</a>
|
||||
.
|
||||
</div>
|
||||
<a class="btn btn-secondary" href="{{ clist.get_absolute_url }}">Back to list</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,18 +1,16 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}{% origin %}
|
||||
{% load origin %}
|
||||
{% origin %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Remove tracking of document {{ name }}{% endblock %}
|
||||
|
||||
{% bootstrap_messages %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>Remove {{ name }} from the list?</p>
|
||||
|
||||
|
||||
|
||||
<input type="submit" class="btn btn-primary" value="Remove tracking of document">
|
||||
|
||||
|
||||
</form>
|
||||
<p>
|
||||
Remove {{ name }} from the list?
|
||||
</p>
|
||||
<input type="submit"
|
||||
class="btn btn-primary"
|
||||
value="Remove tracking of document">
|
||||
</form>
|
|
@ -1,94 +1,110 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}{% origin %}
|
||||
{% load origin %}
|
||||
{% origin %}
|
||||
{% if debug %}
|
||||
{% if sql_debug %}
|
||||
{% load debug_filters %}
|
||||
|
||||
<div id="debug">
|
||||
<hr>
|
||||
<p>
|
||||
{{ sql_queries|length }} queries ({{ sql_queries|timesum }}s)
|
||||
{% if sql_queries|length != 0 %}
|
||||
<a class="btn btn-primary btn-sm"
|
||||
onclick="$('#debug-query-table').toggleClass('hide');">Show</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
<table class="table table-sm tablesorter hide" id="debug-query-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-header="sequence">#</th>
|
||||
<th data-header="query">SQL</th>
|
||||
<th data-header="count">Count</th>
|
||||
<th data-header="where">WHERE</th>
|
||||
<th data-header="loc">View/ Templ.</th>
|
||||
<th data-header="time">Time</th>
|
||||
<th data-header="acc">Acc.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% with sql_queries|annotate_sql_queries as sql_query_info %}
|
||||
{% for query in sql_query_info %}
|
||||
<tr class="sql">
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td>{{ query.sql|expand_comma|escape }}</td>
|
||||
<td>{{ query.count }}</td>
|
||||
<td>{{ query.where }}</td>
|
||||
<td>
|
||||
{{ query.loc }}
|
||||
{% if query.origin %}
|
||||
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#modal-{{forloop.counter}}" >Origin</button>
|
||||
{% endif %}
|
||||
<div class="modal fade" id="modal-{{forloop.counter}}" tabindex="-1" role="dialog" aria-labelledby="modal-title-{{forloop.counter}}">
|
||||
<div class="modal-dialog modal-max" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="modal-title-{{forloop.counter}}">QuerySet Origin for Query #{{forloop.counter}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File (line)</th>
|
||||
<th>Method</th>
|
||||
<th>Code</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if query.origin %}
|
||||
{% for origin in query.origin %}
|
||||
<tr class="origin">
|
||||
<td>{{ origin.1 }}({{ origin.2 }})</td>
|
||||
<td>{{ origin.6 }}()</td>
|
||||
<td class="code">
|
||||
{% for l in origin.4 %}
|
||||
<table>
|
||||
<tr><td class="{% if forloop.counter0 == origin.5 %} current{% endif %}"> {{l}}</td></tr>
|
||||
</table>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{{ sql_queries|length }} queries ({{ sql_queries|timesum }}s)
|
||||
{% if sql_queries|length != 0 %}
|
||||
<a class="btn btn-primary btn-sm"
|
||||
onclick="$('#debug-query-table').toggleClass('visually-hidden');">Show</a>
|
||||
{% endif %}
|
||||
<div id="debug-query-table" class="visually-hidden">
|
||||
<small class="text-start">
|
||||
<table class="table table-sm tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-sort="num">#</th>
|
||||
<th data-sort="query">SQL</th>
|
||||
<th data-sort="num">Count</th>
|
||||
<th data-sort="where">WHERE</th>
|
||||
<th data-sort="num">View/Templ.</th>
|
||||
<th data-sort="num">Time</th>
|
||||
<th data-sort="num">Acc.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% with sql_queries|annotate_sql_queries as sql_query_info %}
|
||||
{% for query in sql_query_info %}
|
||||
<tr class="sql">
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td>{{ query.sql|expand_comma|escape }}</td>
|
||||
<td>{{ query.count }}</td>
|
||||
<td>{{ query.where }}</td>
|
||||
<td>
|
||||
{{ query.loc }}
|
||||
{% if query.origin %}
|
||||
<button type="button"
|
||||
class="btn btn-primary btn-sm"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#modal-{{ forloop.counter }}">
|
||||
Origin
|
||||
</button>
|
||||
<div class="modal fade"
|
||||
id="modal-{{ forloop.counter }}"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="modal-title-{{ forloop.counter }}">
|
||||
<div class="modal-dialog modal-max" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-bs-dismiss="modal"
|
||||
aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="modal-title-{{ forloop.counter }}">QuerySet Origin for Query #{{ forloop.counter }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File (line)</th>
|
||||
<th>Method</th>
|
||||
<th>Code</th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for origin in query.origin %}
|
||||
<tr class="origin">
|
||||
<td>{{ origin.1 }}({{ origin.2 }})</td>
|
||||
<td>{{ origin.6 }}()</td>
|
||||
<td class="code">
|
||||
{% for l in origin.4 %}
|
||||
<table>
|
||||
<tr>
|
||||
<td class="{% if forloop.counter0 == origin.5 %} current{% endif %}"> {{l }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>{{ query.time }}</td>
|
||||
<td>{{ query.time_accum }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ query.time }}</td>
|
||||
<td>{{ query.time_accum }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
</tbody>
|
||||
</table>
|
||||
</small>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class='text-center text-muted small'>Add 'ietf.context_processors.sql_debug' to settings.TEMPLATE_CONTECT_PROCESSORS to turn on the SQL statement table</div>
|
||||
<div class='text-center text-muted'>
|
||||
Add 'ietf.context_processors.sql_debug' to settings.TEMPLATE_CONTECT_PROCESSORS to turn on the SQL statement table
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
|
@ -1,24 +1,24 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Add comment for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add comment<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<h1>
|
||||
Add comment
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
<p class="help-block">The comment will be added to the history trail.</p>
|
||||
|
||||
<p class="form-text">
|
||||
The comment will be added to the history trail.
|
||||
</p>
|
||||
{% bootstrap_button button_type="submit" content="Submit" %}
|
||||
<a class="btn btn-secondary float-end" href="{% url "ietf.doc.views_doc.document_main" name=doc.name %}">Back</a>
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.name %}">Back</a>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
|
@ -1,29 +1,37 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
{% load ietf_filters %}
|
||||
|
||||
{% block title %}Approval announcement writeup for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approval announcement writeup<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1>
|
||||
Approval announcement writeup
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form approval_text_form %}
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="save_approval_text" value="Save text">Save text</button>
|
||||
<button type="submit" class="btn btn-warning" name="regenerate_approval_text" value="Regenerate text">Regenerate text</button>
|
||||
<button type="submit"
|
||||
class="btn btn-primary"
|
||||
name="save_approval_text"
|
||||
value="Save text">Save text</button>
|
||||
<button type="submit"
|
||||
class="btn btn-warning"
|
||||
name="regenerate_approval_text"
|
||||
value="Regenerate text">
|
||||
Regenerate text
|
||||
</button>
|
||||
{% if user|has_role:"Secretariat" and can_announce %}
|
||||
<a class="btn btn-primary" href="{% url 'ietf.doc.views_ballot.approve_ballot' name=doc.name %}">Approve ballot</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url 'ietf.doc.views_ballot.approve_ballot' name=doc.name %}">Approve ballot</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock%}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Approve ballot for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approve ballot<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1>
|
||||
Approve ballot
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<pre>{{ announcement }}</pre>
|
||||
|
||||
|
||||
|
||||
<pre class="border p-3">{{ announcement }}</pre>
|
||||
{% if action == "to_announcement_list" %}
|
||||
<button class="btn btn-primary" type="submit">Notify RFC Editor, send announcement & close ballot</button>
|
||||
{% elif action == "to_rfc_editor" %}
|
||||
<button class="btn btn-primary" type="submit">Email RFC Editor & close ballot</button>
|
||||
{% elif action == "do_not_publish" %}
|
||||
<button class="btn btn-primary" type="submit">Email RFC Editor (DNP) & close ballot"/>
|
||||
<button class="btn btn-primary" type="submit">Email RFC Editor (DNP) & close ballot"</button>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,36 +1,51 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2019, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Approve downward references for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approve downward references<br><small class="text-muted">The ballot for <a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a> was just approved</small></h1>
|
||||
|
||||
<h1>
|
||||
Approve downward references
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<p>
|
||||
The ballot for
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a>
|
||||
was just approved.
|
||||
</p>
|
||||
{% if not downrefs_to_rfc %}
|
||||
<p>No downward references for <a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></p>
|
||||
<p>
|
||||
No downward references for
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a>
|
||||
</p>
|
||||
<a class="btn btn-secondary"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">Back</a>
|
||||
{% else %}
|
||||
<p>Add downward references to RFCs to the downref registry, if they were identified in the IETF Last Call and approved by the Sponsoring Area Director.<p>
|
||||
<p><b>Last Call text for this document:</b><p>
|
||||
<pre>
|
||||
{{ last_call_text }}
|
||||
</pre>
|
||||
<p><b>This document has downward references to the following RFCs.<br>Which downward references, if any, are to be added to the downref registry?</b></p>
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form approve_downrefs_form %}
|
||||
|
||||
|
||||
<p>
|
||||
<a class="btn btn-primary" href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">Add no downref entries</a>
|
||||
<button type="submit" class="btn btn-warning" value="Save checked downrefs">Add checked downref entries</button>
|
||||
</p>
|
||||
|
||||
|
||||
</form>
|
||||
<p>
|
||||
Add downward references to RFCs to the DOWNREF registry, if they were identified in the IETF Last Call and approved by the Sponsoring Area Director.
|
||||
</p>
|
||||
<p>
|
||||
<b>Last Call text for this document:</b>
|
||||
</p>
|
||||
<pre class="border p-3">
|
||||
{{ last_call_text }}
|
||||
</pre>
|
||||
<p>
|
||||
<b>This document has downward references to the following RFCs.
|
||||
<br>
|
||||
Which downward references, if any, are to be added to the DOWNREF registry?</b>
|
||||
</p>
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form approve_downrefs_form %}
|
||||
<a class="btn btn-primary"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Add no DOWNREF entries
|
||||
</a>
|
||||
<button type="submit" class="btn btn-warning" value="Save checked downrefs">Add checked DOWNREF entries</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,19 +1,29 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% block title %}Ballot issued for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Ballot issued<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<p>Ballot has been sent out.</p>
|
||||
|
||||
<h1>
|
||||
Ballot issued
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<p>
|
||||
Ballot for
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a>
|
||||
has been sent out.
|
||||
</p>
|
||||
{% if doc.telechat_date %}
|
||||
<p>The document is currently on the {{ doc.telechat_date }} telechat agenda.</p>
|
||||
<p>
|
||||
The document is currently on the <b>{{ doc.telechat_date }}</b> telechat agenda.
|
||||
</p>
|
||||
{% else %}
|
||||
<p>The document is not on any telechat agenda.</p>
|
||||
<p>
|
||||
The document is not on any telechat agenda.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<a class="btn btn-secondary"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">Back</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,27 +1,29 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Clear ballot for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Clear ballot<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1>
|
||||
Clear ballot
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p class="alert alert-danger">
|
||||
<b>Clear the ballot for {{ doc }}?</b>
|
||||
<b>Clear the ballot for
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a>?
|
||||
</b>
|
||||
<br>
|
||||
This will clear all ballot positions and discuss entries.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-danger">Clear</button>
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,28 +1,29 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Defer ballot for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Defer ballot<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1>
|
||||
Defer ballot
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p class="alert alert-danger">
|
||||
<b>Defer the ballot for {{ doc }}?</b>
|
||||
<b>Defer the ballot for
|
||||
<a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a>?
|
||||
</b>
|
||||
<br>
|
||||
The ballot will then be put on the IESG agenda of {{ telechat_date }}.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-danger">Defer ballot</button>
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,55 +1,64 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Change position for {{ balloter.plain_name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change position for {{ balloter.plain_name }} regarding <br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<div class="question">{{ ballot.ballot_type.question }}</div>
|
||||
|
||||
<h1>
|
||||
Change position for {{ balloter.plain_name }}
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<div class="alert alert-warning my-3">
|
||||
<b>{{ ballot.ballot_type.question }}</b>
|
||||
</div>
|
||||
{% if ballot_deferred %}
|
||||
<p class="alert alert-info">
|
||||
<p class="alert alert-info my-3">
|
||||
Ballot deferred by {{ ballot_deferred.by }} on {{ ballot_deferred.time|date:"Y-m-d" }}.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<form method="post" id="ballot-form">
|
||||
<form method="post" id="ballot-form" class="my-3">
|
||||
{% csrf_token %}
|
||||
|
||||
{% for field in form %}
|
||||
{% if field.name == "discuss" %}<div id="div_id_discuss">{% endif %}
|
||||
{% bootstrap_field field %}
|
||||
{% if field.name == "discuss" and old_pos and old_pos.discuss_time %}
|
||||
<div class="help-block">Last edited {{ old_pos.discuss_time }}</div>
|
||||
<div class="form-text">Last edited {{ old_pos.discuss_time }}</div>
|
||||
{% elif field.name == "comment" and old_pos and old_pos.comment_time %}
|
||||
<div class="help-block">Last edited {{ old_pos.comment_time }}</div>
|
||||
<div class="form-text">Last edited {{ old_pos.comment_time }}</div>
|
||||
{% endif %}
|
||||
{% if field.name == "discuss" %}</div>{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="send_mail" value="Save and send email">Save & send email</button>
|
||||
<input type="submit" class="btn btn-primary" value="Save">
|
||||
|
||||
{% if doc.type_id == "draft" or doc.type_id == "conflrev" %}
|
||||
{% if doc.stream.slug != "irtf" %}
|
||||
{% if ballot_deferred %}
|
||||
<input type="submit" class="btn btn-warning" name="Undefer" value="Undefer ballot">
|
||||
{% else %}
|
||||
<input type="submit" class="btn btn-danger" name="Defer" value="Defer ballot">
|
||||
<div class="mt-3">
|
||||
<button type="submit"
|
||||
class="btn btn-primary"
|
||||
name="send_mail"
|
||||
value="Save and send email">Save & send email</button>
|
||||
<input type="submit" class="btn btn-primary" value="Save">
|
||||
{% if doc.type_id == "draft" or doc.type_id == "conflrev" %}
|
||||
{% if doc.stream.slug != "irtf" %}
|
||||
{% if ballot_deferred %}
|
||||
<input type="submit"
|
||||
class="btn btn-warning"
|
||||
name="Undefer"
|
||||
value="Undefer ballot">
|
||||
{% else %}
|
||||
<input type="submit"
|
||||
class="btn btn-danger"
|
||||
name="Defer"
|
||||
value="Defer ballot">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script>
|
||||
var block_pos = {{ blocking_positions|safe }};
|
||||
|
@ -68,4 +77,4 @@
|
|||
|
||||
discussToggle($("input[name=position]:checked").val());
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,28 +1,32 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2019, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load static %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/datepicker.css' %}">
|
||||
{% endblock %}
|
||||
{% block title %}Issue ballot for {{ doc }}?{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>{{ question }}</h1>
|
||||
|
||||
<h1>
|
||||
Issue ballot
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<p>
|
||||
{{ question }}
|
||||
</p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{# curly percent bootstrap_form approval_text_form curly percent #}
|
||||
|
||||
Due date for this ballot:
|
||||
<input type="text" placeholder={{ fillerdate }} name="duedate">
|
||||
|
||||
|
||||
|
||||
<input type="text" data-provide="datepicker" data-date-format="yyyy-mm-dd" placeholder={{ fillerdate }} name="duedate">
|
||||
<button type="submit" class="btn btn-primary" name="irsg_button" value="Yes">Yes</button>
|
||||
<button type="submit" class="btn btn-primary" name="irsg_button" value="No">No</button>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% block js %}
|
||||
<script src="{% static 'ietf/js/datepicker.js' %}"></script>
|
||||
{% endblock %}
|
|
@ -1,25 +1,23 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2019, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Close ballot for {{ doc }}?{% endblock %}
|
||||
|
||||
{% block title %}Close ballot for {{ doc }}{% endblock %}
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>{{ question }}</h1>
|
||||
|
||||
<h1>
|
||||
Close ballot
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<p>
|
||||
{{ question }}
|
||||
</p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{# curly percent bootstrap_form approval_text_form curly percent #}
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="irsg_button" value="Yes">Yes</button>
|
||||
<button type="submit" class="btn btn-primary" name="irsg_button" value="No">No</button>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,38 +1,47 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
{% load ietf_filters %}
|
||||
|
||||
{% block title %}Last call text for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Last call text<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1 class="mb-3">
|
||||
Last call text
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form last_call_form %}
|
||||
|
||||
{% if can_request_last_call and need_intended_status %}
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
You need to select intended status of {{ need_intended_status }} and regenerate last call text to request last call.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="save_last_call_text">Save text</button>
|
||||
{% if can_request_last_call and not need_intended_status %}
|
||||
<button type="submit" class="btn btn-primary" name="send_last_call_request" value="Save and Request Last Call">Save text & request last call</button>
|
||||
<button type="submit"
|
||||
class="btn btn-primary"
|
||||
name="send_last_call_request"
|
||||
value="Save and Request Last Call">
|
||||
Save text & request last call
|
||||
</button>
|
||||
{% endif %}
|
||||
<button type="submit" class="btn btn-warning" name="regenerate_last_call_text" value="Regenerate Last Call Text">Regenerate text</button>
|
||||
<button type="submit"
|
||||
class="btn btn-warning"
|
||||
name="regenerate_last_call_text"
|
||||
value="Regenerate Last Call Text">
|
||||
Regenerate text
|
||||
</button>
|
||||
{% if user|has_role:"Secretariat" and can_make_last_call %}
|
||||
<a class="btn btn-primary" href="{% url 'ietf.doc.views_ballot.make_last_call' name=doc.name %}">Issue last call</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url 'ietf.doc.views_ballot.make_last_call' name=doc.name %}">Issue last call</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock%}
|
||||
{% endblock %}
|
|
@ -1,32 +1,38 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2016, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}RFC Editor Note for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>RFC Editor Note for<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1 class="mb-3">
|
||||
RFC Editor Note
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
{% bootstrap_messages %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form ballot_rfceditornote_form %}
|
||||
|
||||
<div class="help-block">
|
||||
<div class="form-text mb-3">
|
||||
RFC Editor Note. This text will be appended to all announcements and messages to the RFC Editor.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="save_ballot_rfceditornote" value="Save Ballot RFC Editor Note">Save</button>
|
||||
<button type="submit" class="btn btn-warning" name="clear_ballot_rfceditornote" value="Clear Ballot RFC Editor Note">Clear</button>
|
||||
|
||||
|
||||
<button type="submit"
|
||||
class="btn btn-primary"
|
||||
name="save_ballot_rfceditornote"
|
||||
value="Save Ballot RFC Editor Note">
|
||||
Save
|
||||
</button>
|
||||
<button type="submit"
|
||||
class="btn btn-warning"
|
||||
name="clear_ballot_rfceditornote"
|
||||
value="Clear Ballot RFC Editor Note">
|
||||
Clear
|
||||
</button>
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock%}
|
||||
{% endblock %}
|
|
@ -1,55 +1,45 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% load ietf_filters %}
|
||||
|
||||
{% block title %}Send ballot position for {{ balloter }}{% endblock %}
|
||||
|
||||
{% block title %}Send ballot position for {{ balloter }} on {{ doc }}{% endblock %}
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Send ballot position for {{ balloter }} on <a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></h1>
|
||||
|
||||
<form method="post">
|
||||
<h1>
|
||||
Send ballot position for {{ balloter }}
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form class="mt-3" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="form-group">
|
||||
<label>From</label>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">From</label>
|
||||
<input class="form-control" type="text" placeholder="{{ frm }}" disabled>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>To</label>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">To</label>
|
||||
<input class="form-control" type="text" placeholder="{{ to }}" disabled>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
{% bootstrap_form cc_select_form %}
|
||||
{% bootstrap_form cc_select_form %}
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Additional Cc Addresses</label>
|
||||
<input class="form-control" name="extra_cc">
|
||||
<div class="form-text">Separate email addresses with commas.</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Additional Cc Addresses</label>
|
||||
<input class="form-control" name="extra_cc" >
|
||||
<div class="help-block">Separate email addresses with commas.</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Subject</label>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Subject</label>
|
||||
<input class="form-control" type="text" placeholder="{{ subject }}" disabled>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Body</label>
|
||||
<pre>{{ body|maybewordwrap }}</pre>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Body</label>
|
||||
<pre class="border p-3">{{ body|maybewordwrap }}</pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-danger">Send</button>
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,27 +1,27 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Undefer ballot for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Undefer ballot<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<form class="undefer" method="post">
|
||||
<h1>
|
||||
Undefer ballot
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form class="undefer mt-3" method="post">
|
||||
{% csrf_token %}
|
||||
<p class="alert alert-danger">
|
||||
<b>Undefer the ballot for {{ doc }}?</b>
|
||||
<br>
|
||||
The ballot will then be put on the IESG agenda of {{ telechat_date }}.
|
||||
The ballot will then be put on the IESG agenda of <b>{{ telechat_date }}</b>.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<button class="btn btn-danger" type="submit">Undefer ballot</button>
|
||||
|
||||
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,34 +1,42 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2016, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Ballot writeup and notes for {{ doc }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>Ballot writeup and notes<br><small class="text-muted"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<h1>
|
||||
Ballot writeup and notes
|
||||
<br>
|
||||
<small class="text-muted">{{ doc }}</small>
|
||||
</h1>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form ballot_writeup_form %}
|
||||
|
||||
<div class="help-block">
|
||||
<div class="form-text my-3">
|
||||
Technical summary, Working Group summary, document quality, personnel, IRTF note, IESG note, IANA note. This text will be appended to all announcements and messages to the IRTF or RFC Editor.
|
||||
|
||||
{% if ballot_issue_danger %}
|
||||
<p class="text-danger">This document has not completed IETF Last Call. Please do not issue the ballot early without good reason.</p>
|
||||
<p class="text-danger">
|
||||
This document has not completed IETF Last Call. Please do not issue the ballot early without good reason.
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="save_ballot_writeup" value="Save Ballot Writeup">Save</button>
|
||||
<button type="submit" class={% if ballot_issue_danger %}"btn btn-danger"{% else %}"btn btn-warning"{% endif %} name="issue_ballot" value="Save and Issue Ballot">Save & {% if ballot_issued %}re-{% endif %}issue ballot</button>
|
||||
|
||||
|
||||
<button type="submit"
|
||||
class="btn btn-primary"
|
||||
name="save_ballot_writeup"
|
||||
value="Save Ballot Writeup">Save</button>
|
||||
<button type="submit"
|
||||
class="btn {% if ballot_issue_danger %}btn-danger{% else %}btn-warning{% endif %}"
|
||||
name="issue_ballot"
|
||||
value="Save and Issue Ballot">
|
||||
Save &
|
||||
{% if ballot_issued %}re-{% endif %}
|
||||
issue ballot
|
||||
</button>
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
|
||||
{% endblock%}
|
||||
{% endblock %}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
{% csrf_token %}
|
||||
{% bootstrap_form ballot_writeup_form %}
|
||||
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
Working group summary, personnel, IAB note, IESG note, IANA note.
|
||||
</div>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
<p class="help-block">The comment will be added to the history trail.</p>
|
||||
<p class="form-text">The comment will be added to the history trail.</p>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
{% bootstrap_form form %}
|
||||
|
||||
{% if state and state.slug == "rfcqueue" %}
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
<b>Note:</b> If you pull the draft out of the
|
||||
<i>{{ state.name }}</i> state, the RFC Editor and IANA will be notified
|
||||
by email with this comment, so they can update their queues.
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</small></h1>
|
||||
|
||||
{% if action == "new" %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
{% if group is not None %}
|
||||
Below you can upload a document for the group {{ group.name }}
|
||||
<a href="{% url "ietf.group.views.materials" acronym=group.acronym %}">({{ group.acronym }})</a>.
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<input name="new_relation_row_" type="text" class="form-control" placeholder="rfc...">
|
||||
<p class="help-block">Enter new affected RFC.</p>
|
||||
<p class="form-text">Enter new affected RFC.</p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
|
@ -34,7 +34,7 @@
|
|||
<option value="{{rel.slug}}" {% if choice_slug == rel.slug %}selected{%endif%}>{{rel.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<p class="help-block">Select proposed new status.</p>
|
||||
<p class="form-text">Select proposed new status.</p>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<button class="btn btn-danger delete" style="display:none">Delete</button>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
<p class="help-block">The comment will be added to the history trail for the group.</p>
|
||||
<p class="form-text">The comment will be added to the history trail for the group.</p>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
|
||||
<h1>Customize Workflow for {{ group.acronym }} {{ group.type.name }}</h1>
|
||||
|
||||
<p class="help-block">Below you can customize the draft states and tags used in the
|
||||
<p class="form-text">Below you can customize the draft states and tags used in the
|
||||
<a href="{{ group.about_url }}">{{ group.acronym }} {{ group.type.name }}</a>. Note that some states are
|
||||
mandatory for group operation and cannot be deactivated.</p>
|
||||
|
||||
{% if group.type_id == "wg" %}
|
||||
<p class="help-block">You can see the default Working Group I-D State Diagram
|
||||
<p class="form-text">You can see the default Working Group I-D State Diagram
|
||||
in <a href="/doc/html/rfc6174#section-4.1">Section 4.1 of RFC6174</a>.</p>
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
// fixup styling a bit in case the confirm checkbox is shown
|
||||
if ($(this).next().find("#id_confirm_acronym").length > 0) {
|
||||
$(this).css("margin-bottom", 0);
|
||||
$(this).find(".help-block").css("margin-bottom", 0);
|
||||
$(this).find(".form-text").css("margin-bottom", 0);
|
||||
if ($(this).hasClass("is-invalid"))
|
||||
$(this).next().addClass("is-invalid");
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</button>
|
||||
{% endif %}
|
||||
</form>
|
||||
<p class="help-block my-3">
|
||||
<p class="form-text my-3">
|
||||
{% if forms %}Click a milestone to edit it.{% endif %}
|
||||
{% if forms and not group.uses_milestone_dates %}Drag and drop milestones to reorder them.{% endif %}
|
||||
{% if needs_review %}
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
<p class="help-block">Fields marked with <label class="required"></label> are required</p>
|
||||
<p class="form-text">Fields marked with <label class="required"></label> are required</p>
|
||||
|
||||
<h2>Updates</h2>
|
||||
|
||||
|
@ -124,7 +124,7 @@
|
|||
{% if type != "generic" %}
|
||||
<h2>{% cycle section %}. IETF document or other contribution to which this IPR disclosure relates</h2>
|
||||
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
If an Internet-Draft or RFC includes multiple parts and it is not
|
||||
reasonably apparent which part of such Internet-Draft or RFC is alleged
|
||||
to be covered by the patent information disclosed in Section
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
|
||||
|
||||
{% if ipr.state_id == 'posted' %}
|
||||
<p class="help-block">Note: Updates to IPR disclosures must only be made by authorized
|
||||
<p class="form-text">Note: Updates to IPR disclosures must only be made by authorized
|
||||
representatives of the original submitters. Updates will automatically
|
||||
be forwarded to the current Patent Holder's Contact and to the Submitter
|
||||
of the original IPR disclosure.</p>
|
||||
|
@ -413,6 +413,6 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
|
||||
<p class="help-block">Only those sections of the relevant entry form where the submitter provided information are displayed.</p>
|
||||
<p class="form-text">Only those sections of the relevant entry form where the submitter provided information are displayed.</p>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
<button class="btn btn-primary" type="submit" name="submit" value="patent"><span class="bi bi-search"></span> Search</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
This search string must contain at least three characters, including
|
||||
at least one digit, and include punctuation marks. For best results,
|
||||
please enter the entire string, or as much of it as possible.
|
||||
|
|
|
@ -34,11 +34,11 @@
|
|||
{% endif %}
|
||||
{% bootstrap_form_errors form %}
|
||||
{% if not liaison %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
If you wish to submit your liaison statement by e-mail, then please send it to
|
||||
<a href="mailto:statements@ietf.org">statements@ietf.org</a>
|
||||
</p>
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
Fields marked with
|
||||
<label class="required"></label>
|
||||
are required. For detailed descriptions of the fields see the
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<div class="session-info">
|
||||
<div class="title">
|
||||
<strong>
|
||||
<span class="time pull-right"></span>
|
||||
<span class="time float-end"></span>
|
||||
{{ session.scheduling_label }} · {{ session.requested_duration_in_hours }}h
|
||||
{% if session.purpose_label %} · {{ session.purpose_label }} {% endif %}
|
||||
{% if session.attendees != None %} · {{ session.attendees }} <i class="bi bi-person"></i> {% endif %}
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<div class="form-group meeting-type-help mth-multi" style="display: none;">
|
||||
<div class="col-md-offset-2">
|
||||
<div class="col-md-10">
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
Use Multi-Day for a single meeting that spans more than one contiguous
|
||||
workday. Do not use Multi-Day for a series of separate meetings (such as
|
||||
periodic interim calls). Use Series instead.
|
||||
|
@ -65,7 +65,7 @@
|
|||
<div class="form-group meeting-type-help mth-series" style="display: none;">
|
||||
<div class="col-md-offset-2">
|
||||
<div class="col-md-10">
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
Use Series for a series of separate meetings, such as periodic interim calls.
|
||||
Use Multi-Day for a single meeting that spans more than one contiguous
|
||||
workday.
|
||||
|
@ -81,7 +81,7 @@
|
|||
{% render_field form.country class="form-control location" style="width: 30%" %}
|
||||
<div id="timezone-field">
|
||||
{% render_field form.time_zone class="form-control" %}
|
||||
<span class="help-block">Local Timezone</span></div>
|
||||
<span class="form-text">Local Timezone</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -107,7 +107,7 @@
|
|||
<div class="col-md-3 form-inline">
|
||||
{% render_field form.time class="form-control time-field" placeholder="HH:MM" %}
|
||||
<div id="id_session_set-{{ forloop.counter0 }}-time_utc" class="utc-time"></div>
|
||||
<span class="help-block">Local Time</span>
|
||||
<span class="form-text">Local Time</span>
|
||||
{% if form.time.errors %}<span class="help-inline">{{ form.time.errors }}</span>{% endif %}
|
||||
</div>
|
||||
<label for="id_session_set-{{ forloop.counter0 }}-requested_duration" class="col-md-1 col-form-label required">Duration</label>
|
||||
|
@ -116,14 +116,14 @@
|
|||
<div class="col-md-3 form-inline">
|
||||
{% render_field form.end_time class="form-control time-field computed" placeholder="HH:MM" disabled="disabled" %}
|
||||
<div id="id_session_set-{{ forloop.counter0 }}-end_time_utc" class="utc-time"></div>
|
||||
<span class="help-block">Local Time</span>
|
||||
<span class="form-text">Local Time</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group{% if form.remote_instructions.errors %} alert alert-danger{% endif %}">
|
||||
<label for="id_session_set-{{ forloop.counter0 }}-remote_instructions" class="col-md-2 col-form-label required">Remote Instructions</label>
|
||||
<div class="col-md-10">{% render_field form.remote_instructions class="form-control" placeholder="Webex (or other) URL or descriptive information (see below)" %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
For virtual interims, a conference link <b>should be provided in the original request</b> in all but the most unusual circumstances.
|
||||
Otherwise, "Remote participation is not supported" or "Remote participation information will be obtained at the time of approval" are acceptable values.
|
||||
See <a href="https://www.ietf.org/forms/wg-webex-account-request/">here</a> for more on remote participation support.
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
{% render_field form.country class="form-control location" style="width: 30%" %}
|
||||
<div id="timezone-field">
|
||||
{% render_field form.time_zone class="form-control" %}
|
||||
<span class="help-block">Local Timezone</span></div>
|
||||
<span class="form-text">Local Timezone</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
|||
<div class="col-md-3 form-inline">
|
||||
{% render_field form.time class="form-control time-field" placeholder="HH:MM" %}
|
||||
<div id="id_session_set-{{ forloop.counter0 }}-time_utc" class="utc-time"></div>
|
||||
<span class="help-block">Local Time</span>
|
||||
<span class="form-text">Local Time</span>
|
||||
{% if form.time.errors %}<span class="help-inline">{{ form.time.errors }}</span>{% endif %}
|
||||
</div>
|
||||
<label for="id_session_set-{{ forloop.counter0 }}-requested_duration" class="col-md-1 col-form-label required">Duration</label>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{% load tz %}
|
||||
|
||||
{% block intro %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
{% if material.active %}
|
||||
This item will be listed on the proceedings as "{{ material }}". To change this, set the title below.<br>
|
||||
{% else %}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
The entries below will appear on the proceedings as meeting hosts.
|
||||
If you need to add more than there are slots, fill out the form below, save, and
|
||||
reopen this page.
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<p class="pull-right">
|
||||
<p class="float-end">
|
||||
<a href="{% url "ietf.meeting.views.create_timeslot" num=meeting.number %}">New timeslot</a>
|
||||
·
|
||||
{% if meeting.schedule %}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% if nomcom.group.state_id == 'active' %}
|
||||
<a class="btn btn-primary" href="{% url 'ietf.nomcom.views.edit_position' year %}">Add new position</a>
|
||||
<p class="help-block">If you need to start processing a new position while other positions are further along or have already closed (such as when the 2016 nomcom needed to seat a second RAI AD after moving an incumbent to the IESG chair position) adding a new position is the right way to start. Please review the <a href="{% url 'ietf.nomcom.views.configuration_help' year=nomcom.year %}">Configuration Hints</a>.</p>
|
||||
<p class="form-text">If you need to start processing a new position while other positions are further along or have already closed (such as when the 2016 nomcom needed to seat a second RAI AD after moving an incumbent to the IESG chair position) adding a new position is the right way to start. Please review the <a href="{% url 'ietf.nomcom.views.configuration_help' year=nomcom.year %}">Configuration Hints</a>.</p>
|
||||
{% endif %}
|
||||
|
||||
{% if positions %}
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
|
||||
</form>
|
||||
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
This password form uses the
|
||||
<a href="https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/">zxcvbn</a>
|
||||
password strength estimator to give an indication of password strength.
|
||||
|
@ -48,7 +48,7 @@
|
|||
</div>
|
||||
|
||||
<h4>Offline cracking</h4>
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
The datatracker currently uses the <b>{{ hasher.algorithm }}</b>
|
||||
password hasher with
|
||||
<b>
|
||||
|
@ -64,7 +64,7 @@
|
|||
Calculating offline attack time if password hashes should leak is left
|
||||
as an excercise for the reader.
|
||||
</div>
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
<p class="text-muted password_strength_offline_info hidden">
|
||||
As a guideline, if we assume offline hashing using the current hasher
|
||||
at a speed of 10<sup>4</sup> attempts per second, this password would
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<div class="col-md-8 col-sm-12">
|
||||
<h1>Change username</h1>
|
||||
|
||||
<div class="help-block">
|
||||
<div class="form-text">
|
||||
This form lets you change your username (login) from {{ user.username }} to
|
||||
one of your other active email addresses. If you want to change to a new
|
||||
email address, then please first
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
{% bootstrap_label '<i class="bi bi-file-code"></i> XML source of the I-D' label_class="fw-bold" %}
|
||||
{% bootstrap_field form.xml show_label=False %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
Preferably, submit a standalone
|
||||
<a href="{% url 'ietf.doc.views_doc.document_html' name='rfc7991' %}">xml2rfc version 3</a>
|
||||
source file. You can use this online
|
||||
|
@ -63,7 +63,7 @@
|
|||
<div class="collapse" id="other-formats">
|
||||
{% bootstrap_label '<i class="bi bi-file-text"></i> Plaintext rendering of the I-D' label_class="fw-bold" %}
|
||||
{% bootstrap_field form.txt show_label=False %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
Optional to submit, will be auto-generated based
|
||||
on the submitted XML.
|
||||
However, if you cannot for some reason submit XML, you must
|
||||
|
@ -72,7 +72,7 @@
|
|||
|
||||
{% bootstrap_label '<i class="bi bi-file-pdf"></i> PDF rendering of the I-D' label_class="fw-bold" %}
|
||||
{% bootstrap_field form.pdf show_label=False %}
|
||||
<p class="help-block">
|
||||
<p class="form-text">
|
||||
Optional to submit, will be auto-generated based
|
||||
on the submitted XML.
|
||||
</p>
|
||||
|
|
|
@ -96,4 +96,4 @@ if getattr(settings, 'USE_DEBUG_TOOLBAR', False):
|
|||
import debug_toolbar
|
||||
urlpatterns = urlpatterns + [path('__debug__/', include(debug_toolbar.urls)), ]
|
||||
except ImportError:
|
||||
pass
|
||||
pass
|
|
@ -7,7 +7,7 @@ import django_bootstrap5.renderers
|
|||
class SeparateErrorsFromHelpTextFieldRenderer(django_bootstrap5.renderers.FieldRenderer):
|
||||
def append_to_field(self, html):
|
||||
if self.field_help:
|
||||
html += '<div class="help-block">{}</div>'.format(self.field_help)
|
||||
html += '<div class="form-text">{}</div>'.format(self.field_help)
|
||||
for e in self.field_errors:
|
||||
html += '<div class="alert alert-danger">{}</div>'.format(e)
|
||||
return html
|
Loading…
Reference in a new issue