And more bs5 stuff
- Legacy-Id: 19717
This commit is contained in:
parent
9a21fca6c1
commit
448c6dbe9e
5
ietf/static/css/select2.scss
Normal file
5
ietf/static/css/select2.scss
Normal file
|
@ -0,0 +1,5 @@
|
|||
@import "~/node_modules/bootstrap/scss/functions";
|
||||
@import "~/node_modules/bootstrap/scss/variables";
|
||||
@import "~/node_modules/bootstrap/scss/mixins";
|
||||
@import "node_modules/select2/src/scss/core";
|
||||
@import "node_modules/select2-bootstrap-5-theme/src/include-all";
|
Binary file not shown.
Before Width: | Height: | Size: 1.6 KiB |
|
@ -1 +1 @@
|
|||
import "~/node_modules/flot";
|
||||
import "flot";
|
|
@ -1 +1 @@
|
|||
import "~/node_modules/highcharts/modules/export-data";
|
||||
import "highcharts/modules/export-data";
|
|
@ -1 +1 @@
|
|||
import "~/node_modules/highcharts/modules/exporting";
|
||||
import "highcharts/modules/exporting";
|
|
@ -1,3 +1,3 @@
|
|||
import * as Highcharts from "~/node_modules/highcharts";
|
||||
import * as Highcharts from "highcharts";
|
||||
|
||||
window.Highcharts = Highcharts;
|
|
@ -1,3 +1,3 @@
|
|||
import * as Highcharts from "~/node_modules/highcharts/highstock";
|
||||
import * as Highcharts from "highcharts/highstock";
|
||||
|
||||
window.Highcharts = Highcharts;
|
|
@ -1 +1 @@
|
|||
import "~/node_modules/highcharts/modules/offline-exporting";
|
||||
import "highcharts/modules/offline-exporting";
|
|
@ -123,6 +123,11 @@ $(document)
|
|||
var last_level;
|
||||
var nav;
|
||||
|
||||
$("body")
|
||||
.attr("data-bs-spy", "scroll")
|
||||
.attr("data-bs-target", "#righthand-nav")
|
||||
.scrollspy("refresh");
|
||||
|
||||
$("#content")
|
||||
.attr("data-bs-offset", 0)
|
||||
.attr("tabindex", 0)
|
||||
|
|
334
ietf/static/js/liaisons.js
Normal file
334
ietf/static/js/liaisons.js
Normal file
|
@ -0,0 +1,334 @@
|
|||
var attachmentWidget = {
|
||||
button: null,
|
||||
config: {},
|
||||
count: 0,
|
||||
|
||||
readConfig: function () {
|
||||
var buttonFormGroup = attachmentWidget.button.parents('.form-group');
|
||||
var disabledLabel = buttonFormGroup.find('.attachDisabledLabel');
|
||||
|
||||
if (disabledLabel.length) {
|
||||
attachmentWidget.config.disabledLabel = disabledLabel.html();
|
||||
var required = [];
|
||||
buttonFormGroup.find('.attachRequiredField')
|
||||
.each(function (index, field) {
|
||||
required.push('#' + $(field)
|
||||
.text());
|
||||
});
|
||||
attachmentWidget.config.basefields = $(required.join(","));
|
||||
}
|
||||
|
||||
attachmentWidget.config.showOn = $('#' + buttonFormGroup.find('.showAttachsOn')
|
||||
.html());
|
||||
attachmentWidget.config.showOnDisplay = attachmentWidget.config.showOn.find('.attachedFiles');
|
||||
attachmentWidget.count = attachmentWidget.config.showOnDisplay.find('.initialAttach')
|
||||
.length;
|
||||
attachmentWidget.config.showOnEmpty = attachmentWidget.config.showOn.find('.showAttachmentsEmpty')
|
||||
.html();
|
||||
attachmentWidget.config.enabledLabel = buttonFormGroup.find('.attachEnabledLabel')
|
||||
.html();
|
||||
},
|
||||
|
||||
setState: function () {
|
||||
var enabled = true;
|
||||
attachmentWidget.config.fields.each(function () {
|
||||
if (!$(this)
|
||||
.val()) {
|
||||
enabled = false;
|
||||
return;
|
||||
}
|
||||
});
|
||||
if (enabled) {
|
||||
attachmentWidget.button.removeAttr('disabled')
|
||||
.removeClass('disabledAddAttachment');
|
||||
attachmentWidget.button.val(attachmentWidget.config.enabledLabel);
|
||||
} else {
|
||||
attachmentWidget.button.attr('disabled', 'disabled')
|
||||
.addClass('disabledAddAttachment');
|
||||
attachmentWidget.button.val(attachmentWidget.config.disabledLabel);
|
||||
}
|
||||
},
|
||||
|
||||
cloneFields: function () {
|
||||
var html = '<div class="attachedFileInfo">';
|
||||
if (attachmentWidget.count) {
|
||||
html = attachmentWidget.config.showOnDisplay.html() + html;
|
||||
}
|
||||
attachmentWidget.config.fields.each(function () {
|
||||
var field = $(this);
|
||||
var container = $(this)
|
||||
.parents('.form-group');
|
||||
if (container.find(':file')
|
||||
.length) {
|
||||
html += ' (' + field.val() + ')';
|
||||
} else {
|
||||
html += ' ' + field.val();
|
||||
}
|
||||
html += '<span style="display: none;" class="removeField">';
|
||||
html += container.attr('id');
|
||||
html += '</span>';
|
||||
container.hide();
|
||||
});
|
||||
//html += ' <a href="" class="removeAttach glyphicon glyphicon-remove text-danger"></a>';
|
||||
html += ' <a href="" class="removeAttach btn btn-default btn-xs">Delete</a>';
|
||||
html += '</div>';
|
||||
attachmentWidget.config.showOnDisplay.html(html);
|
||||
attachmentWidget.count += 1;
|
||||
attachmentWidget.initFileInput();
|
||||
},
|
||||
|
||||
doAttach: function () {
|
||||
attachmentWidget.cloneFields();
|
||||
attachmentWidget.setState();
|
||||
},
|
||||
|
||||
removeAttachment: function () {
|
||||
var attach = $(this)
|
||||
.parent('.attachedFileInfo');
|
||||
var fields = attach.find('.removeField');
|
||||
fields.each(function () {
|
||||
$('#' + $(this)
|
||||
.html())
|
||||
.remove();
|
||||
});
|
||||
attach.remove();
|
||||
if (!attachmentWidget.config.showOnDisplay.html()) {
|
||||
attachmentWidget.config.showOnDisplay.html(attachmentWidget.config.showOnEmpty);
|
||||
attachmentWidget.count = 0;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
initTriggers: function () {
|
||||
attachmentWidget.config.showOnDisplay.on('click', 'a.removeAttach', attachmentWidget.removeAttachment);
|
||||
attachmentWidget.button.click(attachmentWidget.doAttach);
|
||||
},
|
||||
|
||||
initFileInput: function () {
|
||||
var fieldids = [];
|
||||
attachmentWidget.config.basefields.each(function () {
|
||||
var field = $(this);
|
||||
var oldcontainer = $(this)
|
||||
.parents('.form-group');
|
||||
var newcontainer = oldcontainer.clone();
|
||||
var newfield = newcontainer.find('#' + field.attr('id'));
|
||||
newfield.attr('name', newfield.attr('name') + '_' + attachmentWidget.count);
|
||||
newfield.attr('id', newfield.attr('id') + '_' + attachmentWidget.count);
|
||||
newcontainer.attr('id', 'container_id_' + newfield.attr('name'));
|
||||
oldcontainer.after(newcontainer);
|
||||
oldcontainer.hide();
|
||||
newcontainer.show();
|
||||
fieldids.push('#' + newfield.attr('id'));
|
||||
});
|
||||
attachmentWidget.config.fields = $(fieldids.join(","));
|
||||
attachmentWidget.config.fields.change(attachmentWidget.setState);
|
||||
attachmentWidget.config.fields.keyup(attachmentWidget.setState);
|
||||
},
|
||||
|
||||
initWidget: function () {
|
||||
attachmentWidget.button = $(this);
|
||||
attachmentWidget.readConfig();
|
||||
attachmentWidget.initFileInput();
|
||||
attachmentWidget.initTriggers();
|
||||
attachmentWidget.setState();
|
||||
},
|
||||
};
|
||||
|
||||
var liaisonForm = {
|
||||
initVariables: function () {
|
||||
liaisonForm.is_edit_form = liaisonForm.form.attr("data-edit-form") == "True";
|
||||
liaisonForm.from_groups = liaisonForm.form.find('#id_from_groups');
|
||||
liaisonForm.from_contact = liaisonForm.form.find('#id_from_contact');
|
||||
liaisonForm.response_contacts = liaisonForm.form.find('#id_response_contacts');
|
||||
liaisonForm.to_groups = liaisonForm.form.find('#id_to_groups');
|
||||
liaisonForm.to_contacts = liaisonForm.form.find('#id_to_contacts');
|
||||
liaisonForm.cc = liaisonForm.form.find('#id_cc_contacts');
|
||||
liaisonForm.purpose = liaisonForm.form.find('#id_purpose');
|
||||
liaisonForm.deadline = liaisonForm.form.find('#id_deadline');
|
||||
liaisonForm.submission_date = liaisonForm.form.find('#id_submitted_date');
|
||||
liaisonForm.approval = liaisonForm.form.find('#id_approved');
|
||||
liaisonForm.initial_approval_label = liaisonForm.form.find("label[for='id_approved']")
|
||||
.text();
|
||||
liaisonForm.cancel = liaisonForm.form.find('#id_cancel');
|
||||
liaisonForm.cancel_dialog = liaisonForm.form.find('#cancel-dialog');
|
||||
liaisonForm.config = {};
|
||||
liaisonForm.related_trigger = liaisonForm.form.find('.id_related_to');
|
||||
liaisonForm.related_url = liaisonForm.form.find('#id_related_to')
|
||||
.parent()
|
||||
.find('.listURL')
|
||||
.text();
|
||||
liaisonForm.related_dialog = liaisonForm.form.find('#related-dialog');
|
||||
liaisonForm.unrelate_trigger = liaisonForm.form.find('.id_no_related_to');
|
||||
},
|
||||
|
||||
render_mails_into: function (container, person_list, as_html) {
|
||||
var html = '';
|
||||
|
||||
$.each(person_list, function (index, person) {
|
||||
if (as_html) {
|
||||
html += person[0] + ' <<a href="mailto:' + person[1] + '">' + person[1] + '</a>><br />';
|
||||
} else {
|
||||
//html += person[0] + ' <'+person[1]+'>\n';
|
||||
html += person + '\n';
|
||||
}
|
||||
});
|
||||
container.html(html);
|
||||
},
|
||||
|
||||
toggleApproval: function (needed) {
|
||||
if (!liaisonForm.approval.length) {
|
||||
return;
|
||||
}
|
||||
if (!needed) {
|
||||
liaisonForm.approval.prop('checked', true);
|
||||
liaisonForm.approval.hide();
|
||||
//$("label[for='id_approved']").text("Approval not required");
|
||||
var nodes = $("label[for='id_approved']:not(.control-label)")[0].childNodes;
|
||||
nodes[nodes.length - 1].nodeValue = 'Approval not required';
|
||||
return;
|
||||
}
|
||||
if (needed && !$('#id_approved')
|
||||
.is(':visible')) {
|
||||
liaisonForm.approval.prop('checked', false);
|
||||
liaisonForm.approval.show();
|
||||
//$("label[for='id_approved']").text(initial_approval_label);
|
||||
nodes = $("label[for='id_approved']:not(.control-label)")[0].childNodes;
|
||||
nodes[nodes.length - 1].nodeValue = liaisonForm.initial_approval_label;
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
checkPostOnly: function (post_only) {
|
||||
if (post_only) {
|
||||
$("button[name=send]")
|
||||
.hide();
|
||||
} else {
|
||||
$("button[name=send]")
|
||||
.show();
|
||||
}
|
||||
},
|
||||
|
||||
updateInfo: function (first_time, sender) {
|
||||
// don't overwrite fields when editing existing liaison
|
||||
if (liaisonForm.is_edit_form) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var from_ids = liaisonForm.from_groups.val();
|
||||
var to_ids = liaisonForm.to_groups.val();
|
||||
var url = liaisonForm.form.data("ajaxInfoUrl");
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'GET',
|
||||
cache: false,
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
data: {
|
||||
from_groups: from_ids,
|
||||
to_groups: to_ids
|
||||
},
|
||||
success: function (response) {
|
||||
if (!response.error) {
|
||||
if (!first_time || !liaisonForm.cc.text()) {
|
||||
liaisonForm.render_mails_into(liaisonForm.cc, response.cc, false);
|
||||
}
|
||||
//render_mails_into(poc, response.poc, false);
|
||||
if (sender.attr('id') == 'id_to_groups') {
|
||||
liaisonForm.to_contacts.val(response.to_contacts);
|
||||
}
|
||||
if (sender.attr('id') == 'id_from_groups') {
|
||||
liaisonForm.toggleApproval(response.needs_approval);
|
||||
liaisonForm.response_contacts.val(response.response_contacts);
|
||||
}
|
||||
liaisonForm.checkPostOnly(response.post_only);
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
},
|
||||
|
||||
updatePurpose: function () {
|
||||
var deadlinecontainer = liaisonForm.deadline.closest('.form-group');
|
||||
var value = liaisonForm.purpose.val();
|
||||
|
||||
if (value == 'action' || value == 'comment') {
|
||||
liaisonForm.deadline.prop('required', true);
|
||||
deadlinecontainer.show();
|
||||
} else {
|
||||
liaisonForm.deadline.prop('required', false);
|
||||
deadlinecontainer.hide();
|
||||
liaisonForm.deadline.val('');
|
||||
}
|
||||
},
|
||||
|
||||
cancelForm: function () {
|
||||
liaisonForm.cancel_dialog.dialog("open");
|
||||
},
|
||||
|
||||
checkSubmissionDate: function () {
|
||||
var date_str = liaisonForm.submission_date.val();
|
||||
if (date_str) {
|
||||
var sdate = new Date(date_str);
|
||||
var today = new Date();
|
||||
if (Math.abs(today - sdate) > 2592000000) { // 2592000000 = 30 days in milliseconds
|
||||
return confirm('Submission date ' + date_str + ' differ more than 30 days.\n\nDo you want to continue and post this liaison using that submission date?\n');
|
||||
}
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
},
|
||||
|
||||
init: function () {
|
||||
liaisonForm.form = $(this);
|
||||
liaisonForm.initVariables();
|
||||
$('#id_from_groups')
|
||||
.select2();
|
||||
$('#id_to_groups')
|
||||
.select2();
|
||||
liaisonForm.to_groups.change(function () { liaisonForm.updateInfo(false, $(this)); });
|
||||
liaisonForm.from_groups.change(function () { liaisonForm.updateInfo(false, $(this)); });
|
||||
liaisonForm.purpose.change(liaisonForm.updatePurpose);
|
||||
liaisonForm.form.submit(liaisonForm.checkSubmissionDate);
|
||||
$('.addAttachmentWidget')
|
||||
.each(attachmentWidget.initWidget);
|
||||
|
||||
liaisonForm.updatePurpose();
|
||||
if ($('#id_to_groups')
|
||||
.val()) {
|
||||
$('#id_to_groups')
|
||||
.trigger('change');
|
||||
}
|
||||
if ($('#id_from_groups')
|
||||
.val()) {
|
||||
$('#id_from_groups')
|
||||
.trigger('change');
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
var searchForm = {
|
||||
// search form, based on doc search feature
|
||||
init: function () {
|
||||
searchForm.form = $(this);
|
||||
$("#search-clear-btn")
|
||||
.on("click", searchForm.clearForm);
|
||||
},
|
||||
|
||||
clearForm: function () {
|
||||
var form = $(this)
|
||||
.parents("form");
|
||||
form.find("input")
|
||||
.val("");
|
||||
}
|
||||
};
|
||||
|
||||
$(document)
|
||||
.ready(function () {
|
||||
// use traditional style URL parameters
|
||||
$.ajaxSetup({ traditional: true });
|
||||
|
||||
$('form.liaisons-form')
|
||||
.each(liaisonForm.init);
|
||||
$('#liaison_search_form')
|
||||
.each(searchForm.init);
|
||||
});
|
|
@ -13,8 +13,26 @@ function text_sort(a, b, options) {
|
|||
.replaceAll(/\s+/g, ' '));
|
||||
}
|
||||
|
||||
function replace_with_internal(table, internal_table, i) {
|
||||
$(table)
|
||||
.children("tbody")
|
||||
.eq(i)
|
||||
.replaceWith(internal_table[i]
|
||||
.children("table")
|
||||
.children("tbody")
|
||||
.clone());}
|
||||
|
||||
function field_magic(i, e, fields) {
|
||||
if (fields[i] == "date" || fields[i] == "num") {
|
||||
$(e)
|
||||
.addClass("text-end");
|
||||
}
|
||||
}
|
||||
|
||||
$(document)
|
||||
.ready(function () {
|
||||
var n = 1;
|
||||
var items_per_page = 10;
|
||||
$("table.tablesorter")
|
||||
.each(function () {
|
||||
var table = $(this);
|
||||
|
@ -37,16 +55,13 @@ $(document)
|
|||
|
||||
} else {
|
||||
|
||||
$(table)
|
||||
.wrap(`<div id='tablewrapper-${n}'></div`);
|
||||
|
||||
$(header_row)
|
||||
.children("[data-sort]")
|
||||
.addClass("sort")
|
||||
.each((i, e) => {
|
||||
if (fields[i] == "date" || fields[i] == "num") {
|
||||
// magic
|
||||
$(e)
|
||||
.addClass("text-end");
|
||||
}
|
||||
});
|
||||
.each((i, e) => field_magic(i, e, fields));
|
||||
|
||||
if ($(header_row)
|
||||
.text()
|
||||
|
@ -73,23 +88,25 @@ $(document)
|
|||
var reset_search = $(searcher)
|
||||
.children("button.search-reset");
|
||||
|
||||
// var pager = $.parseHTML(`
|
||||
// <nav aria-label="Pagination control" class="visually-hidden">
|
||||
// <ul class="pagination"></ul>
|
||||
// </nav>`);
|
||||
var pager = $.parseHTML(`
|
||||
<nav aria-label="Pagination control" class="visually-hidden">
|
||||
<ul class="pagination d-flex flex-wrap text-center"></ul>
|
||||
</nav>`);
|
||||
|
||||
// $(table)
|
||||
// .after(pager);
|
||||
$(table)
|
||||
.before(pager);
|
||||
|
||||
var list_instance = [];
|
||||
var internal_table = [];
|
||||
|
||||
// var pagination = $(table)
|
||||
// .children("tbody")
|
||||
// .length == 1;
|
||||
var pagination = $(table)
|
||||
.children("tbody")
|
||||
.length == 1;
|
||||
|
||||
pagination = false; // FIXME: pagination not working yet.
|
||||
|
||||
// list.js cannot deal with tables with multiple tbodys,
|
||||
// so maintain separate internal "tables" for
|
||||
// so maintain separate internal "table" copies for
|
||||
// sorting/searching and update the DOM based on them
|
||||
$(table)
|
||||
.children("tbody, tfoot")
|
||||
|
@ -104,11 +121,7 @@ $(document)
|
|||
.each((i, e) => {
|
||||
$(e)
|
||||
.addClass(fields[i]);
|
||||
if (fields[i] == "date" || fields[i] == "num") {
|
||||
// magic
|
||||
$(e)
|
||||
.addClass("text-end");
|
||||
}
|
||||
field_magic(i, e, fields);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -120,36 +133,49 @@ $(document)
|
|||
var tbody = $(this)
|
||||
.clone();
|
||||
|
||||
if ($(tbody)
|
||||
var tbody_rows = $(tbody)
|
||||
.find("tr")
|
||||
.length == 0) {
|
||||
.length;
|
||||
|
||||
if (tbody_rows == 0) {
|
||||
console.log("Skipping empty tbody");
|
||||
return;
|
||||
} else if (tbody_rows <= items_per_page) {
|
||||
pagination = false;
|
||||
}
|
||||
|
||||
var parent = $(table)
|
||||
.clone()
|
||||
.parent()
|
||||
.clone();
|
||||
|
||||
$(parent)
|
||||
.children("table")
|
||||
.empty()
|
||||
.removeClass("tablesorter")
|
||||
.wrap("<div id='abc'></div")
|
||||
.append(thead, tbody);
|
||||
|
||||
internal_table.push(parent);
|
||||
|
||||
// if (pagination) {
|
||||
// console.log("Enabling pager.");
|
||||
// $(pager)
|
||||
// .removeClass("visually-hidden");
|
||||
// pagination = {
|
||||
// item: '<li class="page-item"><a class="page-link" href="#"></a></li>'
|
||||
// };
|
||||
// }
|
||||
var hook = `tablewrapper-${n}`;
|
||||
if (pagination) {
|
||||
console.log("Enabling pager.");
|
||||
$(pager)
|
||||
.removeClass("visually-hidden");
|
||||
pagination = {
|
||||
innerWindow: 5,
|
||||
left: 1,
|
||||
right: 1,
|
||||
item: '<li class="page-item flex-fill"><a class="page page-link" href="#"></a></li>'
|
||||
};
|
||||
} else {
|
||||
hook = parent[0];
|
||||
}
|
||||
|
||||
list_instance.push(
|
||||
new List(parent[0], {
|
||||
new List(hook, {
|
||||
valueNames: fields,
|
||||
// pagination: pagination,
|
||||
// page: 10
|
||||
pagination: pagination,
|
||||
page: items_per_page
|
||||
}));
|
||||
});
|
||||
|
||||
|
@ -184,13 +210,7 @@ $(document)
|
|||
|
||||
$.each(list_instance, (i, e) => {
|
||||
e.on("sortComplete", function () {
|
||||
$(table)
|
||||
.children("tbody")
|
||||
.eq(i)
|
||||
.replaceWith(internal_table[i]
|
||||
.children("tbody")
|
||||
.clone());
|
||||
|
||||
replace_with_internal(table, internal_table, i);
|
||||
if (i == list_instance.length - 1) {
|
||||
$(table)
|
||||
.find("thead:first tr")
|
||||
|
@ -236,14 +256,10 @@ $(document)
|
|||
});
|
||||
|
||||
e.update();
|
||||
$(table)
|
||||
.children("tbody")
|
||||
.eq(i)
|
||||
.replaceWith(internal_table[i]
|
||||
.children("tbody")
|
||||
.clone());
|
||||
replace_with_internal(table, internal_table, i);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
n++;
|
||||
});
|
4
ietf/static/js/select2.js
Normal file
4
ietf/static/js/select2.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
import $ from "jquery";
|
||||
import select2 from "select2";
|
||||
|
||||
select2($);
|
|
@ -1,20 +1,29 @@
|
|||
{# bs5ok #}
|
||||
{# Copyright The IETF Trust 2012, All Rights Reserved #}
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% block title %}401 Unauthorized{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<img class="ietflogo" src="{% static 'ietf/images/ietflogo.png' %}" alt="IETF" style="width: 10em">
|
||||
|
||||
<h2>Authentication Required</h2>
|
||||
|
||||
<p>The server could not verify that you are authorized to view this page using
|
||||
the username and password you provided. You can now:</p>
|
||||
|
||||
<img class="ietflogo"
|
||||
src="{% static 'ietf/images/ietflogo.png' %}"
|
||||
alt="IETF"
|
||||
style="width: 10em">
|
||||
<h1>Authentication Required</h1>
|
||||
<p>
|
||||
The server could not verify that you are authorized to view this page using
|
||||
the username and password you provided. You can now:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="/accounts/login/">Attempt to login again</a></li>
|
||||
<li><a href="/accounts/reset/">Request a password reset</a></li>
|
||||
<li>
|
||||
<a href="/accounts/login/">Attempt to login again</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/accounts/reset/">Request a password reset</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>If you think this is a server error, please contact <a href="mailto:webtools@ietf.org">webtools@ietf.org</a>.</p>
|
||||
{% endblock %}
|
||||
<p>
|
||||
If you think this is a server error, please contact
|
||||
<a href="mailto:webtools@ietf.org">webtools@ietf.org</a>
|
||||
.
|
||||
</p>
|
||||
{% endblock %}
|
|
@ -35,8 +35,7 @@
|
|||
href="{% static 'ietf/images/apple-touch-icon.png' %}"/>
|
||||
<script src="{% static 'ietf/js/ietf.js' %}"/></script>
|
||||
</head>
|
||||
<body class="position-relative" data-bs-spy="scroll" data-bs-target="#righthand-nav" {% block bodyAttrs %}
|
||||
{% endblock bodyAttrs %}
|
||||
<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" %}
|
||||
|
@ -108,15 +107,8 @@
|
|||
{% for message in messages %}
|
||||
<div class="alert
|
||||
{% if message.level_tag %}
|
||||
alert-
|
||||
{% if message.level_tag == 'error' %}
|
||||
danger
|
||||
{% else %}
|
||||
{{ message.level_tag }}
|
||||
{% endif %}
|
||||
|
||||
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">
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add document to session<br><small>{{doc.name}}<br>{{doc.title}}</small></h1>
|
||||
<h1>Add document to session<br><small class="text-muted">{{doc.name}}<br>{{doc.title}}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approval announcement writeup<br><small><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"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approve ballot<br><small><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"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approve downward references<br><small>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">The ballot for <a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a> was just approved</small></h1>
|
||||
|
||||
{% 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>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Ballot issued<br><small><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
<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>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Clear ballot<br><small><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"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Defer ballot<br><small><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"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change position for {{ balloter.plain_name }} regarding <br><small><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
<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>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Last call text<br><small><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
<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>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>RFC Editor Note for<br><small><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
<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>
|
||||
|
||||
{% bootstrap_messages %}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Undefer ballot<br><small><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
<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">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>Ballot writeup and notes<br><small><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"><a href="{% url "ietf.doc.views_doc.document_main" name=doc.canonical_name %}">{{ doc }}</a></small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change editors<br><small>{{ titletext }}</small></h1>
|
||||
<h1>Change editors<br><small class="text-muted">{{ titletext }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change Responsible Leadership<br><small>{{ titletext }}</small></h1>
|
||||
<h1>Change Responsible Leadership<br><small class="text-muted">{{ titletext }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change shepherding AD<br><small>{{titletext}}</small></h1>
|
||||
<h1>Change shepherding AD<br><small class="text-muted">{{titletext}}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change document shepherd<br><small>{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
<h1>Change document shepherd<br><small class="text-muted">{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
|
||||
<p>The shepherd needs to have a Datatracker account. A new account can be
|
||||
<a href="{% url "ietf.ietfauth.views.create_account" %}">created here</a>.</p>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change the document shepherd email<br><small>{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
<h1>Change the document shepherd email<br><small class="text-muted">{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change state<br><small>{{doc.title}}</small></h1>
|
||||
<h1>Change state<br><small class="text-muted">{{doc.title}}</small></h1>
|
||||
|
||||
<p><a class="btn btn-info" href="{{help_url}}">Help on states</a></p>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change title<br><small>{{ titletext }}</small></h1>
|
||||
<h1>Change title<br><small class="text-muted">{{ titletext }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>{{ charter.chartered_group.type.name }} action announcement writeup<br><small>{{ charter.chartered_group.acronym }}</small></h1>
|
||||
<h1>{{ charter.chartered_group.type.name }} action announcement writeup<br><small class="text-muted">{{ charter.chartered_group.acronym }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>Ballot writeup and notes<br><small>{{ charter.chartered_group }}</small></h1>
|
||||
<h1>Ballot writeup and notes<br><small class="text-muted">{{ charter.chartered_group }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change responsible AD<br><small>{{ charter.canonical_name }}-{{ charter.rev }}</small></h1>
|
||||
<h1>Change responsible AD<br><small class="text-muted">{{ charter.canonical_name }}-{{ charter.rev }}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>WG Review announcement writeup<br><small>{{ charter.chartered_group.acronym }}</small></h1>
|
||||
<h1>WG Review announcement writeup<br><small class="text-muted">{{ charter.chartered_group.acronym }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Begin IETF conflict review<br><small>{{doc_to_review.canonical_name}}-{{doc_to_review.rev}}</small></h1>
|
||||
<h1>Begin IETF conflict review<br><small class="text-muted">{{doc_to_review.canonical_name}}-{{doc_to_review.rev}}</small></h1>
|
||||
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<p><a class="btn btn-info" href="{% url 'ietf.doc.views_help.state_help' type="conflict-review" %}">Help on states</a></p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit conflict review<br><small>{{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }}</small></h1>
|
||||
<h1>Edit conflict review<br><small class="text-muted">{{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }}</small></h1>
|
||||
|
||||
<p class="alert alert-info">The text will be submitted as <strong>{{ review.canonical_name }}-{{ next_rev }}</strong></p>
|
||||
|
||||
|
|
|
@ -210,7 +210,7 @@
|
|||
{% endif %}
|
||||
</p>
|
||||
|
||||
<h2>Charter<br><small>{{ doc.canonical_name }}-{{ doc.rev }}</small></h2>
|
||||
<h2>Charter<br><small class="text-muted">{{ doc.canonical_name }}-{{ doc.rev }}</small></h2>
|
||||
|
||||
{% if not snapshot and can_manage and chartering and group.state_id != "conclude" %}
|
||||
<p><a class="btn btn-primary" href="{% url 'ietf.doc.views_charter.submit' name=doc.name %}">Change charter text</a></p>
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>Conflict review<br><small>{{ conflictdoc.name }}-{{ conflictdoc.rev }}</small></h2>
|
||||
<h2>Conflict review<br><small class="text-muted">{{ conflictdoc.name }}-{{ conflictdoc.rev }}</small></h2>
|
||||
{% if not snapshot and user|has_role:"Area Director,Secretariat" and doc.get_state_slug != 'apprsent' %}
|
||||
<a class="btn btn-primary" href="{% url 'ietf.doc.views_conflict_review.submit' name=doc.name %}">Change conflict review text</a>
|
||||
{% endif %}
|
||||
|
|
|
@ -128,7 +128,7 @@
|
|||
{% endif %}
|
||||
</p>
|
||||
|
||||
<h2>{% if doc.meeting_related %}Meeting{% endif %} {{ doc.type.name }}<br><small>{{ doc.name }}</small></h2>
|
||||
<h2>{% if doc.meeting_related %}Meeting{% endif %} {{ doc.type.name }}<br><small class="text-muted">{{ doc.name }}</small></h2>
|
||||
|
||||
<div id='materials-content'>
|
||||
{% if doc.rev and content != None %}
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>{{ doc.type.name }}<br><small>{{ doc.name }}</small></h2>
|
||||
<h2>{{ doc.type.name }}<br><small class="text-muted">{{ doc.name }}</small></h2>
|
||||
|
||||
{% if doc.rev and content != None %}
|
||||
<pre class="pasted">{{ content|linkify }}</pre>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<h2>
|
||||
{{ title|capfirst_allcaps }}
|
||||
{% if subtitle %}
|
||||
<br><small>{{ subtitle|safe }}</small>
|
||||
<br><small class="text-muted">{{ subtitle|safe }}</small>
|
||||
{% endif %}
|
||||
</h2>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add IANA Experts Review State comment<br><small>{{ doc }}</small></h1>
|
||||
<h1>Add IANA Experts Review State comment<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change shepherding AD<br><small>{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
<h1>Change shepherding AD<br><small class="text-muted">{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change consensus<br><small>{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
<h1>Change consensus<br><small class="text-muted">{{ doc.name }}-{{ doc.rev }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change IANA state<br><small>{{ doc }}</small></h1>
|
||||
<h1>Change IANA state<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change intended status<br><small>{{ doc }}</small></h1>
|
||||
<h1>Change intended status<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change documents replaced by<br><small>{{ doc }}</small></h1>
|
||||
<h1>Change documents replaced by<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<h3>Instructions</h3>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit shepherd writeup<br><small>{{ doc.canonical_name }}-{{ doc.rev }}</small></h1>
|
||||
<h1>Edit shepherd writeup<br><small class="text-muted">{{ doc.canonical_name }}-{{ doc.rev }}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change state<br><small>{{ doc }}</small></h1>
|
||||
<h1>Change state<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<p>
|
||||
<a class="btn btn-info" href="{% url 'ietf.doc.views_help.state_help' type="draft-iesg" %}">Help on states</a>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change stream<br><small>{{ doc }}</small></h1>
|
||||
<h1>Change stream<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change {{ state_type.label }}<br><small>{{ doc }}</small></h1>
|
||||
<h1>Change {{ state_type.label }}<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
{% if next_states %}
|
||||
<p>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit IESG note<br><small>{{ doc.name }}</small></h1>
|
||||
<h1>Edit IESG note<br><small class="text-muted">{{ doc.name }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit info<br><small>{{ doc }}</small></h1>
|
||||
<h1>Edit info<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Make last call<br><small>{{ doc.name }}</small></h1>
|
||||
<h1>Make last call<br><small class="text-muted">{{ doc.name }}</small></h1>
|
||||
|
||||
<p class="alert alert-info">
|
||||
<b>Last call for:</b>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Request publication<br><small>{{ doc }}</small></h1>
|
||||
<h1>Request publication<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<p class="alert alert-info">
|
||||
Send a publication request to the RFC Editor for {{ doc }} and move it to the <i>{{ next_state.name }}</i> stream state.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Request resurrection<br><small>{{ doc }}</small></h1>
|
||||
<h1>Request resurrection<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<p>Request resurrection of the Internet-Draft {{ doc.file_tag }}?</p>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>Resurrect<br><small>{{ doc }}</small></h1>
|
||||
<h1>Resurrect<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<p>Resurrect {{ doc }}?</p>
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit action holders<br><small>{{titletext}}</small></h1>
|
||||
<h1>Edit action holders<br><small class="text-muted">{{titletext}}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'select2/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit authors<br><small>{{ titletext }}</small></h1>
|
||||
<h1>Edit authors<br><small class="text-muted">{{ titletext }}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post" id="authors-form">
|
||||
{% csrf_token %}
|
||||
|
@ -71,7 +71,7 @@
|
|||
|
||||
{% block js %}
|
||||
<script src="{% static 'Sortable/Sortable.min.js' %}"></script>
|
||||
<script src="{% static 'select2/select2.min.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2-field.js' %}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>{{ title }}<br><small>{{ doc.canonical_name }}</small></h1>
|
||||
<h1>{{ title }}<br><small class="text-muted">{{ doc.canonical_name }}</small></h1>
|
||||
|
||||
<p>
|
||||
<b>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit notification addresses<br><small>{{titletext}}</small></h1>
|
||||
<h1>Edit notification addresses<br><small class="text-muted">{{titletext}}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change document revision for session<br><small>{{sp.document.name}}<br>{{sp.document.title}}<br>at {{sp.session}}</small></h1>
|
||||
<h1>Change document revision for session<br><small class="text-muted">{{sp.document.name}}<br>{{sp.document.title}}<br>at {{sp.session}}</small></h1>
|
||||
|
||||
{% if sp.session.is_material_submission_cutoff %}
|
||||
<p class="alert alert-warning">The deadline for submission corrections has passed. This may affect published proceedings.</p>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Set telechat date<br><small>{{ doc.name }} ({{ doc.pages }} page{{ doc.pages|pluralize }})</small></h1>
|
||||
<h1>Set telechat date<br><small class="text-muted">{{ doc.name }} ({{ doc.pages }} page{{ doc.pages|pluralize }})</small></h1>
|
||||
|
||||
{% for warning in warnings %}
|
||||
<div class="alert alert-warning">{{ warning }}</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Upload Material<br><small>{{ group.name }} ({{ group.acronym }})</small></h1>
|
||||
<h1>Upload Material<br><small class="text-muted">{{ group.name }} ({{ group.acronym }})</small></h1>
|
||||
|
||||
<p>Select what kind of material you wish to upload:</p>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
Edit
|
||||
{% endif %}
|
||||
{{ doc.type.name }}
|
||||
<br><small>
|
||||
<br><small class="text-muted">
|
||||
{% if group is not None %}{{ group.name }} ({{ group.acronym }})
|
||||
{% elif doc.meeting_related %}{{ doc.get_related_meeting }}
|
||||
{% if doc.get_related_proceedings_material %} {{ doc.get_related_proceedings_material }}{% endif %}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Send reminder to action holders<br><small>{{ titletext }}</small></h1>
|
||||
<h1>Send reminder to action holders<br><small class="text-muted">{{ titletext }}</small></h1>
|
||||
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Assign reviewer<br><small>{{ review_req.doc.name }}</small></h1>
|
||||
<h1>Assign reviewer<br><small class="text-muted">{{ review_req.doc.name }}</small></h1>
|
||||
|
||||
{% include "doc/review/request_info.html" %}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Close review request<br><small>{{ review_req.doc.name }}</small></h1>
|
||||
<h1>Close review request<br><small class="text-muted">{{ review_req.doc.name }}</small></h1>
|
||||
|
||||
{% include "doc/review/request_info.html" %}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit review request comment <br><small>{{ review_req.doc.name }}</small></h1>
|
||||
<h1>Edit review request comment <br><small class="text-muted">{{ review_req.doc.name }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit review request deadline <br><small>{{ review_req.doc.name }}</small></h1>
|
||||
<h1>Edit review request deadline <br><small class="text-muted">{{ review_req.doc.name }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>No-Response: Review assignment<br><small>{{ assignment.review_request.doc.name }}</small></h1>
|
||||
<h1>No-Response: Review assignment<br><small class="text-muted">{{ assignment.review_request.doc.name }}</small></h1>
|
||||
|
||||
<p>Mark review assignment for {{ assignment.reviewer.person }} as <strong>No Response</strong></p>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Reject review assignment<br><small>{{ review_req.doc.name }}</small></h1>
|
||||
<h1>Reject review assignment<br><small class="text-muted">{{ review_req.doc.name }}</small></h1>
|
||||
|
||||
{% include "doc/review/request_info.html" %}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Request review<br><small>{{ doc.name }}</small></h1>
|
||||
<h1>Request review<br><small class="text-muted">{{ doc.name }}</small></h1>
|
||||
|
||||
<p>Submit a request to have the document reviewed.</p>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Review request<br><small>{{ review_req.doc.name }}</small></h1>
|
||||
<h1>Review request<br><small class="text-muted">{{ review_req.doc.name }}</small></h1>
|
||||
|
||||
{% include "doc/review/request_info.html" %}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Withdraw review assignment<br><small>{{ assignment.review_request.doc.name }}</small></h1>
|
||||
<h1>Withdraw review assignment<br><small class="text-muted">{{ assignment.review_request.doc.name }}</small></h1>
|
||||
|
||||
<p>Withdraw review assignment for {{ assignment.reviewer.person }}</p>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Shepherd writeup<br><small>{{ doc.canonical_name }}-{{ doc.rev }}</small></h1>
|
||||
<h1>Shepherd writeup<br><small class="text-muted">{{ doc.canonical_name }}-{{ doc.rev }}</small></h1>
|
||||
|
||||
<pre class="pasted">{{writeup|linkify}}</pre>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Approve<br><small>{{ doc.canonical_name }}</small></h1>
|
||||
<h1>Approve<br><small class="text-muted">{{ doc.canonical_name }}</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Last call text<br><small>{{ doc }}</small></h1>
|
||||
<h1>Last call text<br><small class="text-muted">{{ doc }}</small></h1>
|
||||
|
||||
<form class="edit-last-call-text" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>Make last call<br><small>{{doc.name}}</small></h1>
|
||||
<h1>Make last call<br><small class="text-muted">{{doc.name}}</small></h1>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Last call text</label>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Edit status change text<br><small>{{doc.title}}</small></h1>
|
||||
<h1>Edit status change text<br><small class="text-muted">{{doc.title}}</small></h1>
|
||||
|
||||
<p>The text will be submitted as <b>{{ doc.canonical_name }}-{{ next_rev }}</b>:</p>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Publication request<br><small>{{doc.name}}-{{doc.rev}}</small></h1>
|
||||
<h1>Publication request<br><small class="text-muted">{{doc.name}}-{{doc.rev}}</small></h1>
|
||||
|
||||
<p>
|
||||
Please verify the following information:
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add comment<br><small>{{ group }} ({{ group.acronym }})</small></h1>
|
||||
<h1>Add comment<br><small class="text-muted">{{ group }} ({{ group.acronym }})</small></h1>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -22,18 +22,16 @@
|
|||
<div class="card text-center">
|
||||
{% if person_with_groups.grouper.photo_thumb %}
|
||||
<img class="card-img-top"
|
||||
src="{{ person_with_groups.grouper.photo_thumb.url }}"
|
||||
alt="Photo of {{ person_with_groups.grouper.name }}"/>
|
||||
src="{{ person_with_groups.grouper.photo_thumb.url }}"
|
||||
alt="Photo of {{ person_with_groups.grouper.name }}"/>
|
||||
{% else %}
|
||||
<img class="card-img-top"
|
||||
src="{% static "ietf/images/nopictureavailable.jpg" %}"
|
||||
alt="No photo available"/>
|
||||
<i class="bi bi-person-square text-muted" style="font-size: 6rem;"></i>
|
||||
{% endif %}
|
||||
<div class="card-body">
|
||||
<p class="card-title fs-5">
|
||||
{% if person_with_groups.grouper.photo %}
|
||||
<a class="stretched-link"
|
||||
href="{% url 'ietf.person.views.profile' email_or_name=person_with_groups.grouper.name %}">
|
||||
href="{% url 'ietf.person.views.profile' email_or_name=person_with_groups.grouper.name %}">
|
||||
{% endif %}
|
||||
{{ person_with_groups.grouper.plain_name }}
|
||||
{% if person_with_groups.grouper.photo %}</a>{% endif %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add comment<br><small>{{ ipr }}</small></h1>
|
||||
<h1>Add comment<br><small class="text-muted">{{ ipr }}</small></h1>
|
||||
|
||||
<p>The comment will be added to the history trail of the disclosure.</p>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add email<br><small>{{ ipr }}</small></h1>
|
||||
<h1>Add email<br><small class="text-muted">{{ ipr }}</small></h1>
|
||||
|
||||
<p>The email will be added to the history trail of the disclosure.</p>
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>History for IPR disclosure<br><small>{{ ipr.title }}</small></h1>
|
||||
<h1>History for IPR disclosure<br><small class="text-muted">{{ ipr.title }}</small></h1>
|
||||
|
||||
{% include "ipr/details_tabs.html" %}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
{% origin %}
|
||||
<div id="ipr-details">
|
||||
|
||||
<h1>IPR Details<br><small>{{ ipr.title }}</small></h1>
|
||||
<h1>IPR Details<br><small class="text-muted">{{ ipr.title }}</small></h1>
|
||||
|
||||
{% include "ipr/details_tabs.html" %}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Email submitter<br><small>{{ ipr.title }}</small></h1>
|
||||
<h1>Email submitter<br><small class="text-muted">{{ ipr.title }}</small></h1>
|
||||
|
||||
<form method="post" class="show-required">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Send Notification{{ formset|pluralize }}<br><small>{{ ipr }}</small></h1>
|
||||
<h1>Send Notification{{ formset|pluralize }}<br><small class="text-muted">{{ ipr }}</small></h1>
|
||||
|
||||
<form class="send-notification" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Change State<br><small>{{ ipr }}</small></h1>
|
||||
<h1>Change State<br><small class="text-muted">{{ ipr }}</small></h1>
|
||||
|
||||
<form class="add-comment" method="post">
|
||||
{% csrf_token %}
|
||||
|
|
|
@ -1,27 +1,26 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block title %}Add comment on {{ liaison.title }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Add comment<br><small>{{ liaison.title }}</small></h1>
|
||||
|
||||
<p>The comment will be added to the history trail of the statement.</p>
|
||||
|
||||
<h1>
|
||||
Add comment
|
||||
<br>
|
||||
<small class="text-muted">{{ liaison.title }}</small>
|
||||
</h1>
|
||||
<p>
|
||||
The comment will be added to the history trail of the statement.
|
||||
</p>
|
||||
<form class="add-comment" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{% bootstrap_form form %}
|
||||
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary">Add Comment</button>
|
||||
<a class="btn btn-primary float-end" href="{% url "ietf.liaisons.views.liaison_history" object_id=liaison.id %}">Back</a>
|
||||
|
||||
|
||||
{% bootstrap_form form layout="horizontal" %}
|
||||
<button type="submit" class="offset-md-2 btn btn-primary">Add Comment</button>
|
||||
<a class="btn btn-secondary float-end"
|
||||
href="{% url "ietf.liaisons.views.liaison_history" object_id=liaison.id %}">
|
||||
Back
|
||||
</a>
|
||||
</form>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,20 +1,20 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load ietf_filters %}
|
||||
|
||||
{% block title %}Liaison statement: {% include 'liaisons/liaison_title.html' %}{% endblock %}
|
||||
|
||||
|
||||
{% load ietf_filters person_filters %}
|
||||
{% block title %}
|
||||
Liaison statement:
|
||||
{% include 'liaisons/liaison_title.html' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>
|
||||
Liaison statement<br><small>{% include 'liaisons/liaison_title.html' %}</small>
|
||||
Liaison statement
|
||||
<br>
|
||||
<small class="text-muted">{% include 'liaisons/liaison_title.html' %}</small>
|
||||
</h1>
|
||||
|
||||
{% include "liaisons/detail_tabs.html" %}
|
||||
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
<th>State</th>
|
||||
|
@ -22,67 +22,56 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="text-nowrap">Submitted Date</th>
|
||||
<td>{{ liaison.submitted|date:"Y-m-d" }}</td></tr>
|
||||
<td>{{ liaison.submitted|date:"Y-m-d" }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-nowrap">From Group{{ liaison.from_groups.all|pluralize }}</th>
|
||||
<td>{{ liaison.from_groups_display }}</td>
|
||||
</tr>
|
||||
|
||||
{% if liaison.from_contact %}
|
||||
<tr>
|
||||
<th class="text-nowrap">From Contact</th>
|
||||
<td>
|
||||
<a href="mailto:{{ liaison.from_contact.address }}">{{ liaison.from_contact.person }}</a>
|
||||
</td>
|
||||
<td>{% person_link liaison.from_contact.person %}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<th class="text-nowrap">To Group{{ liaison.to_groups.all|pluralize }}</th>
|
||||
<td>{{ liaison.to_groups_display }}</td>
|
||||
</tr>
|
||||
|
||||
{% if liaison.to_contacts %}
|
||||
<tr>
|
||||
<th class="text-nowrap">To Contacts</th>
|
||||
<td>
|
||||
{{ liaison.to_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}
|
||||
</td>
|
||||
<td>{{ liaison.to_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.cc_contacts %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Cc</th><td>{{ liaison.cc_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}</td>
|
||||
<th class="text-nowrap">Cc</th>
|
||||
<td>{{ liaison.cc_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.response_contacts %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Response Contact</th>
|
||||
<td>{{ liaison.response_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.technical_contacts %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Technical Contact</th>
|
||||
<td>{{ liaison.technical_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.action_holder_contacts %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Action Holder Contacts</th>
|
||||
<td>{{ liaison.action_holder_contacts|parse_email_list|make_one_per_line|safe|linebreaksbr }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<th class="text-nowrap">Purpose</th>
|
||||
<td>{{ liaison.purpose.name }}</td>
|
||||
</tr>
|
||||
|
||||
{% if liaison.deadline %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Deadline</th>
|
||||
|
@ -96,114 +85,163 @@
|
|||
{% if can_take_care %}
|
||||
<form method="post" class="float-end">
|
||||
{% csrf_token %}
|
||||
<input class="btn btn-warning btn-sm" type="submit" value="Mark as action taken" name='do_action_taken'>
|
||||
<input class="btn btn-warning btn-sm"
|
||||
type="submit"
|
||||
value="Mark as action taken"
|
||||
name='do_action_taken'>
|
||||
</form>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if relations %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Liaisons referring to this</th>
|
||||
<th class="text-nowrap">
|
||||
Liaisons referring to this
|
||||
</th>
|
||||
<td>
|
||||
{% for rel in relations %}
|
||||
<a href="{% url "ietf.liaisons.views.liaison_detail" rel.pk %}">
|
||||
{% if rel.title %}{{ rel.title }}{% else %}Liaison #{{ rel.pk }}{% endif %}
|
||||
{% if rel.title %}
|
||||
{{ rel.title }}
|
||||
{% else %}
|
||||
Liaison #{{ rel.pk }}
|
||||
{% endif %}
|
||||
</a>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.related_to %}
|
||||
{% if liaison.related_to.approved or is_approving %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Referenced liaison</th>
|
||||
<th class="text-nowrap">
|
||||
Referenced liaison
|
||||
</th>
|
||||
<td>
|
||||
<a href="{% url "ietf.liaisons.views.liaison_detail" liaison.related_to.pk %}">
|
||||
{% if liaison.related_to.title %}{{ liaison.related_to.title }}{% else %}Liaison #{{ liaison.related_to.pk }}{% endif %}
|
||||
{% if liaison.related_to.title %}
|
||||
{{ liaison.related_to.title }}
|
||||
{% else %}
|
||||
Liaison #{{ liaison.related_to.pk }}
|
||||
{% endif %}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.other_identifiers %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Other Identifiers</th>
|
||||
<td>{{ liaison.other_identifiers }}</td>
|
||||
<th class="text-nowrap">
|
||||
Other Identifiers
|
||||
</th>
|
||||
<td>
|
||||
{{ liaison.other_identifiers }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<th class="text-nowrap">Attachments</th>
|
||||
<th class="text-nowrap">
|
||||
Attachments
|
||||
</th>
|
||||
<td>
|
||||
{% for doc in liaison.active_attachments.all %}
|
||||
<a href="{{ doc.get_href }}">{{ doc.title }}</a>
|
||||
<a href="{{ doc.get_href }}">
|
||||
{{ doc.title }}
|
||||
</a>
|
||||
{% if not forloop.last %}<br>{% endif %}
|
||||
{% empty %}
|
||||
(None)
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% if relations_by %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Liaisons referred by this one</th>
|
||||
<th class="text-nowrap">
|
||||
Liaisons referred by this one
|
||||
</th>
|
||||
<td>
|
||||
{% for rel in relations_by %}
|
||||
<a href="{% url "ietf.liaisons.views.liaison_detail" rel.pk %}">{% if rel.title %}{{ rel.title }}{% else %}Liaison #{{ rel.pk }}{% endif %}</a><br />
|
||||
<a href="{% url "ietf.liaisons.views.liaison_detail" rel.pk %}">
|
||||
{% if rel.title %}
|
||||
{{ rel.title }}
|
||||
{% else %}
|
||||
Liaison #{{ rel.pk }}
|
||||
{% endif %}
|
||||
</a>
|
||||
<br />
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if relations_to %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Liaisons referring to this one</th>
|
||||
<th class="text-nowrap">
|
||||
Liaisons referring to this one
|
||||
</th>
|
||||
<td>
|
||||
{% for rel in relations_to %}
|
||||
<a href="{% url "ietf.liaisons.views.liaison_detail" rel.pk %}">{% if rel.title %}{{ rel.title }}{% else %}Liaison #{{ rel.pk }}{% endif %}</a><br />
|
||||
<a href="{% url "ietf.liaisons.views.liaison_detail" rel.pk %}">
|
||||
{% if rel.title %}
|
||||
{{ rel.title }}
|
||||
{% else %}
|
||||
Liaison #{{ rel.pk }}
|
||||
{% endif %}
|
||||
</a>
|
||||
<br />
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% if liaison.from_contact and liaison.body %}
|
||||
<tr>
|
||||
<th class="text-nowrap">Body</th>
|
||||
<th class="text-nowrap">
|
||||
Body
|
||||
</th>
|
||||
<td>
|
||||
<pre>{{ liaison.body|maybewordwrap:"80" }}</pre>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% if liaison.state.slug == 'pending' and can_edit %}
|
||||
<a class="btn btn-primary" href="{% url "ietf.liaisons.views.liaison_edit" object_id=liaison.pk %}">Edit liaison</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url "ietf.liaisons.views.liaison_edit" object_id=liaison.pk %}">
|
||||
Edit liaison
|
||||
</a>
|
||||
{% elif liaison.state.slug == 'posted' and user|has_role:"Secretariat" %}
|
||||
<a class="btn btn-primary" href="{% url "ietf.liaisons.views.liaison_edit" object_id=liaison.pk %}">Edit liaison</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url "ietf.liaisons.views.liaison_edit" object_id=liaison.pk %}">
|
||||
Edit liaison
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if liaison.state.slug != 'dead' and can_reply %}
|
||||
<a class="btn btn-primary" href="{% url "ietf.liaisons.views.liaison_reply" object_id=liaison.pk %}">Reply to liaison</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url "ietf.liaisons.views.liaison_reply" object_id=liaison.pk %}">
|
||||
Reply to liaison
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if liaison.state.slug == 'pending' and can_edit %}
|
||||
<input class="btn btn-primary" type="submit" value="Approve" name='approved' />
|
||||
<input class="btn btn-primary" type="submit" value="Mark as Dead" name='dead' />
|
||||
<input class="btn btn-primary"
|
||||
type="submit"
|
||||
value="Mark as Dead"
|
||||
name='dead'/>
|
||||
{% endif %}
|
||||
{% if liaison.state.slug == 'posted' and user|has_role:"Secretariat" %}
|
||||
<a class="btn btn-primary" href="{% url "ietf.liaisons.views.liaison_resend" object_id=liaison.pk %}">Resend statement</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url "ietf.liaisons.views.liaison_resend" object_id=liaison.pk %}">
|
||||
Resend statement
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if liaison.state.slug == 'dead' and can_edit %}
|
||||
<input class="btn btn-primary" type="submit" value="Resurrect" name='resurrect' />
|
||||
<input class="btn btn-primary"
|
||||
type="submit"
|
||||
value="Resurrect"
|
||||
name='resurrect'/>
|
||||
{% endif %}
|
||||
</form>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,39 +1,41 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% load ietf_filters static %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static "ietf/css/list.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}History for Liaison Statement - {{ liaison.title }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>History for Liaison Statement<br><small>{{ liaison.title }}</small></h1>
|
||||
|
||||
<h1>
|
||||
History for Liaison Statement
|
||||
<br>
|
||||
<small class="text-muted">{{ liaison.title }}</small>
|
||||
</h1>
|
||||
{% include "liaisons/detail_tabs.html" %}
|
||||
|
||||
{% if user|has_role:"Area Director,Secretariat,IANA,RFC Editor" %}
|
||||
<p class="buttonlist">
|
||||
<a class="btn btn-primary" href="{% url "ietf.liaisons.views.add_comment" object_id=liaison.id %}" title="Add comment to history">Add comment</a>
|
||||
<a class="btn btn-primary"
|
||||
href="{% url "ietf.liaisons.views.add_comment" object_id=liaison.id %}"
|
||||
title="Add comment to history">
|
||||
Add comment
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<table class="table table-sm table-striped history tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Type</th>
|
||||
<th>By</th>
|
||||
<th>Text</th>
|
||||
<th data-sort="date">Date</th>
|
||||
<th data-sort="type">Type</th>
|
||||
<th data-sort="by">By</th>
|
||||
<th data-sort="text">Text</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for e in events %}
|
||||
<tr>
|
||||
<td class="text-nowrap">{{ e.time|date:"Y-m-d" }}</td>
|
||||
<td>{{ e.type }}
|
||||
<td>
|
||||
{{ e.type }}
|
||||
{% if e.response_due and e.response_past_due %}
|
||||
<span class="bi bi-exclamation-circle" title="Response overdue"></span>
|
||||
{% endif %}
|
||||
|
@ -45,7 +47,6 @@
|
|||
</tbody>
|
||||
</table>
|
||||
{% endblock content %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static "ietf/js/list.js" %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,7 +1,8 @@
|
|||
<ul class="nav nav-tabs">
|
||||
{# bs5ok #}
|
||||
<ul class="nav nav-tabs my-3">
|
||||
{% for name, link, selected in tabs %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if selected %}active{% endif %}" href="{{ link }}">{{ name }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</ul>
|
|
@ -1,77 +1,81 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load static %}
|
||||
{% load ietf_filters %}
|
||||
{% load django_bootstrap5 widget_tweaks %}
|
||||
|
||||
{% block title %}{% if liaison %}Edit liaison: {{ liaison }}{% else %}Send Liaison Statement{% endif %}{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{% if liaison %}
|
||||
Edit liaison: {{ liaison }}
|
||||
{% else %}
|
||||
Send Liaison Statement
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/datepicker.css' %}">
|
||||
{{ form.media.css }} {# n.b., liaisons.js relies on select2 CSS being loaded by this #}
|
||||
{{ form.media.css }}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/liaisons.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block morecss %}
|
||||
.widget { height: auto; min-height: 34px; }
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
|
||||
<h1>{% if liaison %}Edit liaison: {{ liaison }}{% else %}Send Liaison Statement{% endif %}</h1>
|
||||
|
||||
<h1>
|
||||
{% if liaison %}
|
||||
Edit liaison: {{ liaison }}
|
||||
{% else %}
|
||||
Send Liaison Statement
|
||||
{% endif %}
|
||||
</h1>
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
<p>There were errors in the submitted form -- see below. Please correct these and resubmit.</p>
|
||||
<p>
|
||||
There were errors in the submitted form -- see below. Please correct these and resubmit.
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% bootstrap_form_errors form %}
|
||||
|
||||
<noscript class="js-info">
|
||||
This page depends on Javascript being enabled to work properly. Please enable Javascript and reload the page.
|
||||
</noscript>
|
||||
|
||||
{% if not liaison %}
|
||||
<p class="help-block">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">Fields marked with <label class="required"></label> are required. For detailed descriptions of the fields see the <a href="{% url 'liaison-help-fields'%}">field help</a>.</p>
|
||||
<p class="help-block">
|
||||
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">
|
||||
Fields marked with
|
||||
<label class="required"></label>
|
||||
are required. For detailed descriptions of the fields see the
|
||||
<a href="{% url 'liaison-help-fields' %}">field help</a>
|
||||
.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<form role="form" class="liaisons-form form-horizontal show-required" method="post" enctype="multipart/form-data" data-edit-form="{{ form.edit }}" data-ajax-info-url="{% url "ietf.liaisons.views.ajax_get_liaison_info" %}">{% csrf_token %}
|
||||
|
||||
<form role="form"
|
||||
class="liaisons-form form-horizontal show-required"
|
||||
method="post"
|
||||
enctype="multipart/form-data"
|
||||
data-edit-form="{{ form.edit }}"
|
||||
data-ajax-info-url="{% url "ietf.liaisons.views.ajax_get_liaison_info" %}">
|
||||
{% csrf_token %}
|
||||
{% for fieldset in form.fieldsets %}
|
||||
{% if forloop.first and user|has_role:"Secretariat" %}
|
||||
<h2><div class="col-md-2">{{ fieldset.name }}</div><div class="col-md-10"></div></h2>
|
||||
{% else %}
|
||||
<h2>{{ fieldset.name }}</h2>
|
||||
{% endif %}
|
||||
|
||||
<h2>{{ fieldset.name }}</h2>
|
||||
{% for field in fieldset %}
|
||||
{% bootstrap_field field layout="horizontal" %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
<a class="btn btn-danger float-end" href="{% if liaison %}{% url "ietf.liaisons.views.liaison_detail" object_id=liaison.pk %}{% else %}{% url "ietf.liaisons.views.liaison_list" %}{% endif %}">Cancel</a>
|
||||
|
||||
<a class="btn btn-danger float-end"
|
||||
href="{% if liaison %}
|
||||
{% url "ietf.liaisons.views.liaison_detail" object_id=liaison.pk %}
|
||||
{% else %}
|
||||
{% url "ietf.liaisons.views.liaison_list" %}
|
||||
{% endif %}">
|
||||
Cancel
|
||||
</a>
|
||||
{% if not liaison %}
|
||||
<button name="send" type="submit" class="btn btn-primary">Send and post</button>
|
||||
<button name="post_only" type="submit" class="btn btn-primary">Post only</button>
|
||||
{% else %}
|
||||
<button name="save" type="submit" class="btn btn-primary">Save</button>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static 'ietf/js/datepicker.js' %}"></script>
|
||||
{{ form.media.js }} {# n.b., liaisons.js relies on select2.js being loaded by this #}
|
||||
{{ form.media.js }}
|
||||
<script src="{% static 'ietf/js/liaisons.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -1,26 +1,21 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load ietf_filters static %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static "ietf/css/list.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}Liaison statement field help{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Liaison statement field help</h1>
|
||||
|
||||
<p>
|
||||
The table below provides descriptions of the fields included in the
|
||||
liaison statement submission form, and suggestions for completing them,
|
||||
where appropriate. Additional materials that may be useful in
|
||||
completing this form can be found in the following documents:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/liaison/help/to_ietf/">
|
||||
|
@ -28,9 +23,7 @@
|
|||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/liaison/help/from_ietf/">
|
||||
Liaison statements from the IETF: guidelines for completing the "Cc:" field
|
||||
</a>
|
||||
<a href="/liaison/help/from_ietf/">Liaison statements from the IETF: guidelines for completing the "Cc:" field</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/wg/">Active IETF working groups</a>
|
||||
|
@ -39,22 +32,18 @@
|
|||
<a href="https://www.ietf.org/liaison/managers.html">IETF liaison managers</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
For definitive information on generating liaison statements, please
|
||||
see
|
||||
<a href="{{ "4053"|rfcurl }}">
|
||||
RFC 4053 (BCP 103) "Procedures for Handling Liaison Statements to and from the IETF."
|
||||
</a>
|
||||
<a href="{{ "4053"|rfcurl }}">RFC 4053 (BCP 103) "Procedures for Handling Liaison Statements to and from the IETF."</a>
|
||||
</p>
|
||||
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Fieldset</th>
|
||||
<th>Field</th>
|
||||
<th>Description</th>
|
||||
<th>Comments</th>
|
||||
<th data-sort="fieldset">Fieldset</th>
|
||||
<th data-sort="field">Field</th>
|
||||
<th data-sort="description">Description</th>
|
||||
<th data-sort="comments">Comments</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
|
@ -66,120 +55,178 @@
|
|||
<tr>
|
||||
<th>From</th>
|
||||
<th>From Contact</th>
|
||||
<td>
|
||||
The e-mail address of the person submitting the liaison statement.
|
||||
</td>
|
||||
<td>The e-mail address of the person submitting the liaison statement.</td>
|
||||
<td>The field is filled in automatically.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>From</th>
|
||||
<th>Response Contacts</th>
|
||||
<td>
|
||||
The e-mail address(es) to which any response should be sent, separated by commas.
|
||||
</td>
|
||||
<td>The e-mail address(es) to which any response should be sent, separated by commas.</td>
|
||||
<td>Mandatory format: Name <e-mail address></td>
|
||||
</tr
|
||||
<tr>
|
||||
<th>To</th>
|
||||
<th>Groups</th>
|
||||
<td>
|
||||
The organization(s) (and sub-group, if applicable) to which the liaison statement is being sent.
|
||||
</td>
|
||||
<td>
|
||||
Drop-down menu with available choices. If an SDO is not listed, please contact statements@ietf.org
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>To</th>
|
||||
<th>Contacts</th>
|
||||
<td>
|
||||
The e-mail address(es) of the recipient(s) of the liaison statement, separated by commas.
|
||||
</td>
|
||||
<td>The field may be filled in automatically.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Other email addresses</th>
|
||||
<th>Technical contact</th>
|
||||
<td>
|
||||
The e-mail address(es) of individuals or lists that may be contacted for clarification of the liaison statement, separated by commas.
|
||||
</td>
|
||||
<td>Optional. Suggested format: Name <e-mail address></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Other email addresses</th>
|
||||
<th>Action Holder Contacts</th>
|
||||
<td>
|
||||
The e-mail address(es) of the persons responsible for acting on the statement.
|
||||
</td>
|
||||
<td>Optional. Suggested format: Name <e-mail address></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Other email addresses</th>
|
||||
<th>Cc</th>
|
||||
<td>
|
||||
The e-mail address(es) of the copy recipient(s) of the liaison statement, one on each line.
|
||||
</td>
|
||||
<td>Optional. Suggested format: Name <e-mail address></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Purpose</th>
|
||||
<th>Purpose</th>
|
||||
<td>
|
||||
The intent of the liaison statement. One of four choices: (a) For action, (b) For comment, (c) For information, (d) In Response.
|
||||
</td>
|
||||
<td>
|
||||
The submitter selects one of the four choices.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Purpose</th>
|
||||
<th>Deadline</th>
|
||||
<td>The date by which a comment or action is required.</td>
|
||||
<td>
|
||||
Mandatory if the purpose is "For comment" or "For action."
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>Liaison statements</th>
|
||||
<th>Title</th>
|
||||
<td>The title of the liaison statement.</td>
|
||||
<td>Mandatory.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Liaison statements</th>
|
||||
<th>Submission date</th>
|
||||
<td>The date the liaison was originally submitted.</td>
|
||||
<td>Mandatory.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Liaison statements</th>
|
||||
<th>Body</th>
|
||||
<td>The text of the liaison statement.</td>
|
||||
<td>
|
||||
Mandatory if there are no attachments. Optional if the text of the liaison statement is provided in an attachment.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>Add attachment</th>
|
||||
<th>Title</th>
|
||||
<td>The title of the attachment.</td>
|
||||
<td>
|
||||
Optional if there is text in the body, mandatory if there is not.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Add attachment</th>
|
||||
<th>File</th>
|
||||
<td>Browse to find the attachment.</td>
|
||||
<td>
|
||||
Optional if there is text in the body, mandatory if there is not.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr
|
||||
<tr>
|
||||
<th>To</th>
|
||||
<th>Groups</th>
|
||||
<td>The organization(s) (and sub-group, if applicable) to which the liaison statement is being sent.</td>
|
||||
<td>Drop-down menu with available choices. If an SDO is not listed, please contact statements@ietf.org</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
To
|
||||
</th>
|
||||
<th>
|
||||
Contacts
|
||||
</th>
|
||||
<td>
|
||||
The e-mail address(es) of the recipient(s) of the liaison statement, separated by commas.
|
||||
</td>
|
||||
<td>
|
||||
The field may be filled in automatically.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Other email addresses
|
||||
</th>
|
||||
<th>
|
||||
Technical contact
|
||||
</th>
|
||||
<td>
|
||||
The e-mail address(es) of individuals or lists that may be contacted for clarification of the liaison statement, separated by commas.
|
||||
</td>
|
||||
<td>
|
||||
Optional. Suggested format: Name <e-mail address>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Other email addresses
|
||||
</th>
|
||||
<th>
|
||||
Action Holder Contacts
|
||||
</th>
|
||||
<td>
|
||||
The e-mail address(es) of the persons responsible for acting on the statement.
|
||||
</td>
|
||||
<td>
|
||||
Optional. Suggested format: Name <e-mail address>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Other email addresses
|
||||
</th>
|
||||
<th>
|
||||
Cc
|
||||
</th>
|
||||
<td>
|
||||
The e-mail address(es) of the copy recipient(s) of the liaison statement, one on each line.
|
||||
</td>
|
||||
<td>
|
||||
Optional. Suggested format: Name <e-mail address>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Purpose
|
||||
</th>
|
||||
<th>
|
||||
Purpose
|
||||
</th>
|
||||
<td>
|
||||
The intent of the liaison statement. One of four choices: (a) For action, (b) For comment, (c) For information, (d) In Response.
|
||||
</td>
|
||||
<td>
|
||||
The submitter selects one of the four choices.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Purpose
|
||||
</th>
|
||||
<th>
|
||||
Deadline
|
||||
</th>
|
||||
<td>
|
||||
The date by which a comment or action is required.
|
||||
</td>
|
||||
<td>
|
||||
Mandatory if the purpose is "For comment" or "For action."
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Liaison statements
|
||||
</th>
|
||||
<th>
|
||||
Title
|
||||
</th>
|
||||
<td>
|
||||
The title of the liaison statement.
|
||||
</td>
|
||||
<td>
|
||||
Mandatory.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Liaison statements
|
||||
</th>
|
||||
<th>
|
||||
Submission date
|
||||
</th>
|
||||
<td>
|
||||
The date the liaison was originally submitted.
|
||||
</td>
|
||||
<td>
|
||||
Mandatory.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Liaison statements
|
||||
</th>
|
||||
<th>
|
||||
Body
|
||||
</th>
|
||||
<td>
|
||||
The text of the liaison statement.
|
||||
</td>
|
||||
<td>
|
||||
Mandatory if there are no attachments. Optional if the text of the liaison statement is provided in an attachment.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Add attachment
|
||||
</th>
|
||||
<th>
|
||||
Title
|
||||
</th>
|
||||
<td>
|
||||
The title of the attachment.
|
||||
</td>
|
||||
<td>
|
||||
Optional if there is text in the body, mandatory if there is not.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Add attachment
|
||||
</th>
|
||||
<th>
|
||||
File
|
||||
</th>
|
||||
<td>
|
||||
Browse to find the attachment.
|
||||
</td>
|
||||
<td>
|
||||
Optional if there is text in the body, mandatory if there is not.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static "ietf/js/list.js" %}"></script>
|
||||
{% endblock %}
|
||||
<script src="{% static "ietf/js/list.js" %}">
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -1,87 +1,141 @@
|
|||
{# bs5ok #}
|
||||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
|
||||
{% load ietf_filters static %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static "ietf/css/list.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}Liaison statements from the IETF - guidelines for completing the "Cc:" field{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1>Liaison statements from the IETF<br><small>Guidelines for completing the "Cc:" field</small></h1>
|
||||
|
||||
<p>The individuals copied on a liaison statement that is sent by the IETF to another Standards Development Organization (SDO) depend on the IETF entity that is sending the liaison statement.</p>
|
||||
<h1>
|
||||
Liaison statements from the IETF
|
||||
<br>
|
||||
<small class="text-muted">Guidelines for completing the "Cc:" field</small>
|
||||
</h1>
|
||||
<p>
|
||||
The following table provides guidelines for completing the "Cc:" field of liaison statements that are sent by the IETF.</p>
|
||||
|
||||
<p>For definitive information on generating liaison statements, please
|
||||
see:</p>
|
||||
|
||||
The individuals copied on a liaison statement that is sent by the IETF to another Standards Development Organization (SDO) depend on the IETF entity that is sending the liaison statement.
|
||||
</p>
|
||||
<p>
|
||||
The following table provides guidelines for completing the "Cc:" field of liaison statements that are sent by the IETF.
|
||||
</p>
|
||||
<p>
|
||||
For definitive information on generating liaison statements, please
|
||||
see:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="{{ "4052"|rfcurl }}">RFC 4052 (BCP 102), "IAB Processes for Management of IETF Liaison Relationships"</a></li>
|
||||
<li><a href="{{ "4053"|rfcurl }}">RFC 4053 (BCP 103), "Procedures for Handling Liaison Statements to and from the IETF"</a></li>
|
||||
<li>
|
||||
<a href="{{ "4052"|rfcurl }}">RFC 4052 (BCP 102), "IAB Processes for Management of IETF Liaison Relationships"</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ "4053"|rfcurl }}">RFC 4053 (BCP 103), "Procedures for Handling Liaison Statements to and from the IETF"</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<table class="table table-sm table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Submitting entity <sup><small>(1)</small></sup></th>
|
||||
<th>Cc: field <sup><small>(1, 2, 3)</small></sup></th>
|
||||
<th data-sort="from">
|
||||
Submitting entity <sup><small>(1)</small></sup>
|
||||
</th>
|
||||
<th data-sort="cc">
|
||||
Cc: field <sup><small>(1, 2, 3)</small></sup>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tr>
|
||||
<td>The IAB</td>
|
||||
<td><a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a> <sup><small>(4)</small></sup><br>
|
||||
The IAB Chair (if not the submitter) <iab-chair@iab.org><br>
|
||||
The IAB <iab@iab.org></li></td></tr>
|
||||
<td>
|
||||
<a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a>
|
||||
<sup><small>(4)</small></sup>
|
||||
<br>
|
||||
The IAB Chair (if not the submitter) <iab-chair@iab.org>
|
||||
<br>
|
||||
The IAB <iab@iab.org>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>The IESG</td>
|
||||
<td><a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a> <sup><small>(4)</small></sup><br>
|
||||
The IETF Chair (if not the submitter) <chair@ietf.org><br>
|
||||
The IESG <iesg@ietf.org></li></td></tr>
|
||||
<tr>
|
||||
<td>The IETF</td>
|
||||
<td><a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a> <sup><small>(4)</small></sup><br>
|
||||
The IETF Chair (if not the submitter) <chair@ietf.org><br>
|
||||
The IESG <iesg@ietf.org></li></td></tr>
|
||||
<tr>
|
||||
<td>An IETF Area</td>
|
||||
<td><a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a> <sup><small>(4)</small></sup><br>
|
||||
<a href="/wg/">The IETF Area Director(s)</a> (if not the submitter)<br>
|
||||
The IETF Chair <chair@ietf.org><br>
|
||||
The IETF Area Directorate Mailing List (where applicable) <sup><small>(5)</small></sup></li></td></tr>
|
||||
<tr>
|
||||
<td>An IETF Working Group</td>
|
||||
<td><a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a> <sup><small>(4)</small></sup><br>
|
||||
<a href="/wg/">The IETF Working Group Chair(s)</a> (if not the submitter)<br>
|
||||
<a href="/wg/">The IETF Area Director(s)</a><br>
|
||||
<a href="/wg/">The IETF Working Group Discussion List</a></li></td></tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
<sup><small>(1)</small></sup> Please see Section 4., "Approval and Transmission of Liaison Statements,"
|
||||
of <a href="{{ "4052"|rfcurl }}">RFC 4052</a> for information on who may submit a liaison statement on behalf of an IETF entity, and who should be copied.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(2)</small></sup> The IETF Secretariat, <a href="mailto:statements@ietf.org"><statements@ietf.org></a>, is automatically blind-copied on every liaison statement sent by the IETF.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(3)</small></sup> Any addresses included in the "Response Contact" and "Technical Contact" fields of a liaison statement will also receive copies of the liaison statement.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(4)</small></sup> This guideline does not apply when sending a liaison statement to an SDO where no formal liaison relationship exists between the IETF and that SDO.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(5)</small></sup> A list of Area Directorate mailing lists is not currently available.
|
||||
</p>
|
||||
|
||||
<td>
|
||||
<a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a>
|
||||
<sup><small>(4)</small></sup>
|
||||
<br>
|
||||
The IETF Chair (if not the submitter) <chair@ietf.org>
|
||||
<br>
|
||||
The IESG <iesg@ietf.org>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>The IETF</td>
|
||||
<td>
|
||||
<a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a>
|
||||
<sup><small>(4)</small></sup>
|
||||
<br>
|
||||
The IETF Chair (if not the submitter) <chair@ietf.org>
|
||||
<br>
|
||||
The IESG <iesg@ietf.org>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>An IETF Area</td>
|
||||
<td>
|
||||
<a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a>
|
||||
<sup><small>(4)</small></sup>
|
||||
<br>
|
||||
<a href="/wg/">The IETF Area Director(s)</a>
|
||||
(if not the submitter)
|
||||
<br>
|
||||
The IETF Chair <chair@ietf.org>
|
||||
<br>
|
||||
The IETF Area Directorate Mailing List (where applicable) <sup><small>(5)</small></sup>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>An IETF Working Group</td>
|
||||
<td>
|
||||
<a href="https://www.ietf.org/liaison/managers.html">The IETF Liaison Manager for the SDO</a>
|
||||
<sup><small>(4)</small></sup>
|
||||
<br>
|
||||
<a href="/wg/">The IETF Working Group Chair(s)</a>
|
||||
(if not the submitter)
|
||||
<br>
|
||||
<a href="/wg/">The IETF Area Director(s)</a>
|
||||
<br>
|
||||
<a href="/wg/">The IETF Working Group Discussion List</a>
|
||||
</li>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
<sup><small>(1)</small></sup> Please see Section 4., "Approval and Transmission of Liaison Statements,"
|
||||
of
|
||||
<a href="{{ "4052"|rfcurl }}">
|
||||
RFC 4052
|
||||
</a>
|
||||
for information on who may submit a liaison statement on behalf of an IETF entity, and who should be copied.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(2)</small></sup> The IETF Secretariat,
|
||||
<a href="mailto:statements@ietf.org">
|
||||
<statements@ietf.org>
|
||||
</a>
|
||||
, is automatically blind-copied on every liaison statement sent by the IETF.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(3)</small></sup> Any addresses included in the "Response Contact" and "Technical Contact" fields of a liaison statement will also receive copies of the liaison statement.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(4)</small></sup> This guideline does not apply when sending a liaison statement to an SDO where no formal liaison relationship exists between the IETF and that SDO.
|
||||
</p>
|
||||
<p>
|
||||
<sup><small>(5)</small></sup> A list of Area Directorate mailing lists is not currently available.
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static "ietf/js/list.js" %}"></script>
|
||||
{% endblock %}
|
||||
<script src="{% static "ietf/js/list.js" %}">
|
||||
</script>
|
||||
{% endblock %}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue