diff --git a/.eslintrc.js b/.eslintrc.js index 39c1af394..9ea6f3872 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,5 +14,9 @@ module.exports = { }, globals: { d3: true + }, + parserOptions: { + sourceType: "module", + ecmaVersion: 2015 } }; \ No newline at end of file diff --git a/ietf/static/css/ietf.scss b/ietf/static/css/ietf.scss index c44be8460..08638c39c 100644 --- a/ietf/static/css/ietf.scss +++ b/ietf/static/css/ietf.scss @@ -33,18 +33,18 @@ $enable-negative-margins: true; @import "~/node_modules/bootstrap/scss/card"; @import "~/node_modules/bootstrap/scss/accordion"; // @import "~/node_modules/bootstrap/scss/breadcrumb"; -// @import "~/node_modules/bootstrap/scss/pagination"; +@import "~/node_modules/bootstrap/scss/pagination"; @import "~/node_modules/bootstrap/scss/badge"; -// @import "~/node_modules/bootstrap/scss/alert"; +@import "~/node_modules/bootstrap/scss/alert"; // @import "~/node_modules/bootstrap/scss/progress"; // @import "~/node_modules/bootstrap/scss/list-group"; -// @import "~/node_modules/bootstrap/scss/close"; +@import "~/node_modules/bootstrap/scss/close"; // @import "~/node_modules/bootstrap/scss/toasts"; -// @import "~/node_modules/bootstrap/scss/modal"; -// @import "~/node_modules/bootstrap/scss/tooltip"; +@import "~/node_modules/bootstrap/scss/modal"; +@import "~/node_modules/bootstrap/scss/tooltip"; // @import "~/node_modules/bootstrap/scss/popover"; // @import "~/node_modules/bootstrap/scss/carousel"; -// @import "~/node_modules/bootstrap/scss/spinners"; +@import "~/node_modules/bootstrap/scss/spinners"; // @import "~/node_modules/bootstrap/scss/offcanvas"; // @import "~/node_modules/bootstrap/scss/placeholders"; diff --git a/ietf/static/js/ietf.js b/ietf/static/js/ietf.js index 4d6f7816e..776287faf 100644 --- a/ietf/static/js/ietf.js +++ b/ietf/static/js/ietf.js @@ -1,18 +1,18 @@ // Only import what we need: // https://getbootstrap.com/docs/5.1/customize/optimize/ -// import "bootstrap/js/dist/alert"; +import "bootstrap/js/dist/alert"; import "bootstrap/js/dist/button"; // import "bootstrap/js/dist/carousel"; import "bootstrap/js/dist/collapse"; import "bootstrap/js/dist/dropdown"; -// import "bootstrap/js/dist/modal"; +import "bootstrap/js/dist/modal"; // import "bootstrap/js/dist/offcanvas"; // import "bootstrap/js/dist/popover"; // import "bootstrap/js/dist/scrollspy"; import "bootstrap/js/dist/tab"; // import "bootstrap/js/dist/toast"; -// import "bootstrap/js/dist/tooltip"; +import "bootstrap/js/dist/tooltip"; import jquery from "jquery" @@ -29,6 +29,7 @@ function csrfSafeMethod(method) { // these HTTP methods do not require CSRF protection return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); } + jQuery.ajaxSetup({ crossDomain: false, // obviates need for sameOrigin test beforeSend: function (xhr, settings) { @@ -38,59 +39,63 @@ jQuery.ajaxSetup({ } }); -function dropdown_hover() { - var navbar = $(this) - .closest(".navbar"); - if (navbar.length === 0 || navbar.find(".navbar-toggler") - .is(":hidden")) { - $(this) - .children(".dropdown-toggle") - .dropdown("toggle"); - } -} +$(document) + .ready(function () { -if (!("ontouchstart" in document.documentElement)) { - $("ul.nav li.dropdown, ul.nav li.dropend") - .on("mouseenter mouseleave", dropdown_hover); -} - -// load data for the menu -$.ajax({ - url: $(document.body) - .data("group-menu-data-url"), - type: "GET", - dataType: "json", - success: function (data) { - for (var parentId in data) { - var attachTo = $(".group-menu.group-parent-" + parentId); - if (attachTo.length == 0) { - console.log("Could not find parent " + parentId); - continue; + function dropdown_hover() { + var navbar = $(this) + .closest(".navbar"); + if (navbar.length === 0 || navbar.find(".navbar-toggler") + .is(":hidden")) { + $(this) + .children(".dropdown-toggle") + .dropdown("toggle"); } - attachTo.find(".dropdown-menu") - .remove(); - var menu = ['"); - for (var i = 0; i < attachTo.length; i++) { - attachTo.closest(".dropdown-menu"); - } - attachTo.append(menu.join("")); } - } -}); + + // load data for the menu + $.ajax({ + url: $(document.body) + .data("group-menu-data-url"), + type: "GET", + dataType: "json", + success: function (data) { + for (var parentId in data) { + var attachTo = $(".group-menu.group-parent-" + parentId); + if (attachTo.length == 0) { + console.log("Could not find parent " + parentId); + continue; + } + attachTo.find(".dropdown-menu") + .remove(); + var menu = ['"); + for (i = 0; i < attachTo.length; i++) { + attachTo.closest(".dropdown-menu"); + } + attachTo.append(menu.join("")); + } + } + }); + + if (!("ontouchstart" in document.documentElement)) { + $("ul.nav li.dropdown, ul.nav li.dropend") + .on("mouseenter mouseleave", dropdown_hover); + } + }); // This used to be in doc-search.js; consolidate all JS in one file. $(document) @@ -172,15 +177,15 @@ $(document) updateAdvanced(); } - $('.review-wish-add-remove-doc.ajax, .track-untrack-doc') + $(".review-wish-add-remove-doc.ajax, .track-untrack-doc") .on("click", function (e) { e.preventDefault(); var trigger = $(this); $.ajax({ - url: trigger.attr('href'), - type: 'POST', + url: trigger.attr("href"), + type: "POST", cache: false, - dataType: 'json', + dataType: "json", success: function (response) { if (response.success) { trigger.parent() @@ -189,12 +194,11 @@ $(document) trigger.attr("hidden", true); var target_unhide = null; - if (trigger.hasClass('review-wish-add-remove-doc')) { - target_unhide = '.review-wish-add-remove-doc'; - } else if (trigger.hasClass('track-untrack-doc')) { - target_unhide = '.track-untrack-doc'; + if (trigger.hasClass("review-wish-add-remove-doc")) { + target_unhide = ".review-wish-add-remove-doc"; + } else if (trigger.hasClass("track-untrack-doc")) { + target_unhide = ".track-untrack-doc"; } - if (target_unhide) {} trigger.parent() .find(target_unhide) .not(trigger) @@ -203,5 +207,4 @@ $(document) } }); }); - }); \ No newline at end of file diff --git a/ietf/templates/base.html b/ietf/templates/base.html index 3f6d672f1..c2d732e37 100644 --- a/ietf/templates/base.html +++ b/ietf/templates/base.html @@ -20,6 +20,7 @@ {% block pagehead %}{% endblock pagehead %} @@ -64,29 +65,29 @@
- {% comment %} {% bootstrap_messages %} {% endcomment %} - {% for message in messages %} -
{{ message }}
- {% endfor %} - {% if request.COOKIES.left_menu == "on" and not hide_menu %} - {# ugly hack for the more or less unported meeting agenda edit pages #} -
-
+
+ {% if request.COOKIES.left_menu == "on" and not hide_menu %} +
- {% endif %} -
- {% block content %}{{ content|safe }}{% endblock content %} - {% block content_end %}{% endblock content_end %} -
- {% if request.COOKIES.left_menu == "on" and not hide_menu %} + {% endif %} +
+ {% comment %} {% bootstrap_messages %} {% endcomment %} + {% for message in messages %} +
+ + {{ message }} +
+ {% endfor %} + {% block content %}{{ content|safe }}{% endblock content %} + {% block content_end %}{% endblock content_end %}
- {% endif %} +
+
{% block footer %}
-
IETF IESG IAB diff --git a/ietf/templates/cookies/settings.html b/ietf/templates/cookies/settings.html index b92ea4572..2e10e6392 100644 --- a/ietf/templates/cookies/settings.html +++ b/ietf/templates/cookies/settings.html @@ -1,8 +1,9 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} {% load origin %} -{% block title %}User settings{% endblock %} +{% block title %}User settings{% endblock title %} {% block content %} {% origin %} @@ -15,51 +16,47 @@ (everything still continues to work by using default settings).

-

How many days is considered "new"?

+

How many days is considered "new"?

This setting affects how many days are considered "new enough" to get the special highlighting in the documents table. The default setting is {{ defaults.new_enough }} days.

- +

+ 7 days + 14 days + 21 days + 30 days + 60 days + 90 days +

-

How many days is considered "soon"?

+

How many days is considered "soon"?

This setting tells what is considered "soon" when showing documents that are going to be expire soon. The Default setting is {{ defaults.expires_soon }} days.

- +

+ 7 days + 14 days + 21 days + 30 days + 60 days + 90 days +

-

Show full document text by default?

+

Show full document text by default?

Show the full text immediately on the document page instead of only showing beginning of it. This defaults to {{ defaults.full_draft }}.

-
- Off - On -
+

+ Off + On +

-

Show the left-hand menu?

+

Show the left-hand menu?

Show the left-hand menu on all regular pages? This defaults to {{ defaults.left_menu }}.

-
- Off - On -
- - - -{% endblock %} - +

+ Off + On +

+{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/doc/search/search_form.html b/ietf/templates/doc/search/search_form.html index 400fa755c..69373f27b 100644 --- a/ietf/templates/doc/search/search_form.html +++ b/ietf/templates/doc/search/search_form.html @@ -11,7 +11,7 @@ {{ form.name|add_class:"form-control"|attr:"placeholder:Document name/title/RFC number" }} @@ -151,7 +151,7 @@
diff --git a/ietf/templates/help/personal-information.html b/ietf/templates/help/personal-information.html index 98724f379..a7ca958f4 100644 --- a/ietf/templates/help/personal-information.html +++ b/ietf/templates/help/personal-information.html @@ -1,101 +1,91 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2018-2018, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} -{% block title %}Personal Information in the Datatracker{% endblock %} +{% block title %}Personal Information in the Datatracker{% endblock title %} {% block content %} {% origin %} -
-

Personal Information in the Datatracker

-

+

Personal Information in the Datatracker

+

+ RFC 3935, "A Mission Statement for the IETF" lays out + the goal and the mission of the IETF as follows +

- RFC 3935, "A Mission Statement for the IETF" lays out - the goal and the mission of the IETF as follows: -

+
+    The goal of the IETF is to make the Internet work better.
 
-           The goal of the IETF is to make the Internet work better.
+    The mission of the IETF is to produce high quality, relevant
+    technical and engineering documents that influence the way people
+    design, use, and manage the Internet in such a way as to make the
+    Internet work better.  These documents include protocol standards,
+    best current practices, and informational documents of various kinds.
+    
- The mission of the IETF is to produce high quality, relevant - technical and engineering documents that influence the way people - design, use, and manage the Internet in such a way as to make the - Internet work better. These documents include protocol standards, - best current practices, and informational documents of various kinds. - + {% comment %} + The following text has been reviewed by legal counsel (Thomas Zych) + on Thu, 26 Apr 2018 17:24:03 -0400 + *** DO NOT CHANGE WITHOUT LEGAL REVIEW *** + {% endcomment %} - +

+ The datatracker treats all personal information derived from draft documents and + documents published as RFC, as well as personal information derived from + processing draft documents through the IETF procedures, in accordance with + applicable law, including the GDPR. This includes author names, + email addresses and other address information provided in draft documents or as + contact information for IETF roles such as Working Group chairs, secretaries, + Area Directors and other roles. +

-

+

+ There is however additional personal information held in the datatracker that + is used for other purposes. This information requires the consent of the + individuals whose information is stored and processed which IETF secures + through various means, and the person it relates to may at any time request + its correction or removal. This includes: +

- In order to fulfil its mission, the IETF provides various ways to distribute - and discuss Internet-Drafts, and otherwise process them until there is - consensus that they are ready for publication. +
    +
  • Personal photograph or other likeness;
  • +
  • Personal biography;
  • +
  • Personal email addresses not derived from IETF contributions; and
  • +
  • Personal account login information
  • +
  • Personal notification subscriptions
  • +
-

-

+

+ Most of this information can be edited on the individual's + Account Info page by the individual + after logging in to the account. If the datatracker holds such + information about a person, and they don't have an account, a request to + the IETF secretariat to change + or remove the information will be honoured to the extent feasible and + legally permitted. +

- This makes the information in the content of the draft documents, as well - as contributions related to the draft documents and their processing as - laid out in the "Note - Well" statement, of legitimate interest to the IETF when it pursues - its mission; not only in general terms, but specifically under Article - 6(1) f) of - - EU's General Data Protection Regulation . +

+ Please also see the IETF's overall + Statement concerning personal data +

-

-

- - The datatracker treats all personal information derived from draft documents and - documents published as RFC, as well as personal information derived from - processing draft documents through the IETF procedures, in accordance with - applicable law, including the GDPR. This includes author names, - email addresses and other address information provided in draft documents or as - contact information for IETF roles such as Working Group chairs, secretaries, - Area Directors and other roles. - -

-

- - There is however additional personal information held in the datatracker that - is used for other purposes. This information requires the consent of the - individuals whose information is stored and processed which IETF secures - through various means, and the person it relates to may at any time request - its correction or removal. This includes: - -

- -
    -
  • Personal photograph or other likeness;
  • -
  • Personal biography;
  • -
  • Personal email addresses not derived from IETF contributions; and
  • -
  • Personal account login information
  • -
  • Personal notification subscriptions
  • -
- -

- - Most of this information can be edited on the individual's - Account Info page by the individual - after logging in to the account. If the datatracker holds such - information about a person, and they don't have an account, a request to - the IETF secretariat to change - or remove the information will be honoured to the extent feasible and - legally permitted. - -

- -

- Please also see the IETF's overall - Statement concerning personal data. -

- - -
-{% endblock %} +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/ietfauth/edit_field.html b/ietf/templates/ietfauth/edit_field.html index 6674791b8..a6190a86e 100644 --- a/ietf/templates/ietfauth/edit_field.html +++ b/ietf/templates/ietfauth/edit_field.html @@ -1,35 +1,30 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} {% load django_bootstrap5 %} {% block title %} {{ title }} {{ person.plain_name }} -{% endblock %} +{% endblock title %} {% block content %} {% origin %} -

{{ title }}
{{ person.plain_name }}

-

- - {{ info|safe }} - +

{{ title }}

+

{{ person.plain_name }}

+

+ {{ info|striptags }}

-
{% csrf_token %} {% bootstrap_form form %} - - - - - Back - - + {% bootstrap_button button_type="submit" content="Submit" %} + Back
-{% endblock %} +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/registration/confirm_profile_update.html b/ietf/templates/registration/confirm_profile_update.html index a7fe5b7b3..e71147eb0 100644 --- a/ietf/templates/registration/confirm_profile_update.html +++ b/ietf/templates/registration/confirm_profile_update.html @@ -1,8 +1,10 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} -{% block title %}Profile update successful{% endblock %} +{% block title %}Profile update successful{% endblock title%} {% block content %} {% origin %} @@ -16,4 +18,4 @@ {% endfor %} Edit profile -{% endblock %} +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/registration/create.html b/ietf/templates/registration/create.html index c3dbfe78f..ba0c8debc 100644 --- a/ietf/templates/registration/create.html +++ b/ietf/templates/registration/create.html @@ -1,10 +1,12 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} {% load django_bootstrap5 %} -{% block title %}Account creation{% endblock %} +{% block title %}Account creation{% endblock title %} {% block content %} {% origin %} @@ -17,41 +19,34 @@

We have sent an email to {{ to_email }} with instructions on how to complete the process.

{% else %} -
-
-
-

Account creation

-

- If you already have an account and want to use a new email address, - please go to your account profile page and -

-

- Add a new email address -

-

 

-

- If you already have an account but forgot your password, - please simply -

-

- Reset your password -

-
+

Account creation

-

Please enter your email address in order to create your datatracker account.

-
- {% csrf_token %} - {% bootstrap_form form %} +

+ If you already have an account and want to use a new email address, + please go to your account profile page and +

+

+ Add a new email address +

+

+ If you already have an account but forgot your password, + please simply +

- +

+ Reset your password +

+
-
-
-
-
+

Please enter your email address in order to create your datatracker account.

+
+ {% csrf_token %} + {% bootstrap_form form %} + {% bootstrap_button button_type="submit" content="Create account" %} +
{% endif %} -{% endblock %} +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/registration/edit_profile.html b/ietf/templates/registration/edit_profile.html index e7a25e274..4c2427291 100644 --- a/ietf/templates/registration/edit_profile.html +++ b/ietf/templates/registration/edit_profile.html @@ -1,25 +1,23 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} {% load widget_tweaks django_bootstrap5 %} {% load person_filters %} -{% block title %}Profile for {{ user }}{% endblock %} +{% block title %}Profile for {{ user }}{% endblock title %} {% block content %} {% origin %}

Profile information for {{ user.person.name }}

-

 

-

The information you provide below is used to generate your public datatracker profile page

-
-
{% csrf_token %} @@ -28,35 +26,30 @@ {% bootstrap_form_errors f %} {% endfor %} - -
- +
+
-

+

{{ user.username }} -  

+ Edit
-
- +
+
{% if person.photo %} -
- +
+
-

- +

+ Photo of {{ person }}

@@ -64,171 +57,187 @@
{% endif %} -
- -
- {{person|is_nomcom_eligible|yesno:'Yes,No,No'}} - {% if volunteer_status == 'allow' %} -
- Volunteer - {% endif %} -
- -
-

- If you believe this calculation is incorrect, make sure you've added all the - email addresses you've registered for IETF meetings with to the - list below.
- - If you've done so and the calculation is still incorrect, please - send a note to - {{settings.SECRETARIAT_SUPPORT_EMAIL}}.
- See RFC 8713 - for eligibility requirements. - For the 2021 nomcom, see also RFC 8989. - - {% if volunteer_status == 'volunteered' %} -
You have volunteered for the {{nomcom.group.name}}. To modify your volunteer status, contact the NomCom chair. - {% endif %} +

+ +
+

+ {{ person|is_nomcom_eligible|yesno:'Yes,No,No' }}

+ {% if volunteer_status == 'allow' %} + Volunteer + {% endif %}
-
- -
+
+

+ If you believe this calculation is incorrect, make sure you've added all the + email addresses you've registered for IETF meetings with to the + list below.

+

+ If you've done so and the calculation is still incorrect, please + send a note to + {{ settings.SECRETARIAT_SUPPORT_EMAIL }}. +

+

+ See RFC 8713 + for eligibility requirements. + For the 2021 and 2022 NomComs, see also RFC 8989. +

+ + {% if volunteer_status == 'volunteered' %} +

+ You have volunteered for the {{ nomcom.group.name }}. To modify your volunteer status, contact the NomCom chair. +

+ {% endif %} +
+ +
+ +
{% for extres in person.personextresource_set.all %}
-
- {% firstof extres.display_name extres.name.name %} +
+ {% firstof extres.display_name extres.name.name %}
-
{{extres.value}} - {% if forloop.first %} {% endif %} +
+ {{ extres.value }}
{% empty %} -
None 
+ None + {% endfor %} + Edit +
+
+ +
+ +
+ + + + + + + {% for email in emails %} + + + + + + + {% endfor %} +
PrimaryActiveAddressOrigin
+ + + + + {% if email.origin == person.user.username or email.origin == '' %} + + {% endif %} + {{ email }} + {{ email.origin|default:'(unknown)' }}
+

Note: Email addresses cannot be deleted in this form, only deactivated.

+ + {% for f in new_email_forms %} + {% bootstrap_field f.new_email layout="horizontal" show_label=False %} + {% endfor %} + +
+
+ +
+ {% for role in roles %} + {% bootstrap_field role.email_form.email show_label=False %} {% endfor %}
+
- -
- -
-
-
- - - {% for email in emails %} - - - - - - - {% endfor %} -
PrimaryActiveAddressOrigin
- {% if email.origin == person.user.username or email.origin == '' %}{% endif %} - {{ email }} - {{ email.origin|default:'(unknown)' }}
-
-
-
Note: Email addresses cannot be deleted in this form, only deactivated.
-
-
-
-
- - {% for f in new_email_forms %} - {% bootstrap_field f.new_email layout="horizontal" show_label=False %} - {% endfor %} - -
-
-
- - -
-
- - {% for role in roles %} - {% bootstrap_field role.email_form.email layout="horizontal" show_label=False %} - {% endfor %} - - {% bootstrap_field person_form.name layout="horizontal" %} - {% bootstrap_field person_form.plain layout="horizontal" %} - {% bootstrap_field person_form.ascii layout="horizontal" %} - {% if roles %} - {% bootstrap_field person_form.biography layout="horizontal" %} - {% endif %} - {% bootstrap_field person_form.consent layout="horizontal" %} - -
-
- -
-
+ {% bootstrap_form person_form layout="horizontal" exclude="ascii_short" %} + {% bootstrap_button button_type="submit" content="Submit" extra_classes="offset-sm-2" %} -
+
-

[†] Personal information requiring consent:

+

+ Personal information requiring consent +

-

- Personal information in the datatracker which is derived from your contributions - to the IETF standards development process is covered by the EU General Data Protection - Regulation's - Article 6(1) (f) - covering IETF's Legitimate Interest due to the IETF's mission of developing standards - for the internet. See also the page on handling - of personal information. +

+ Personal information in the datatracker which is derived from your contributions + to the IETF standards development process is covered by the EU General Data Protection + Regulation's + Article 6(1) (f) + covering IETF's Legitimate Interest due to the IETF's mission of developing standards + for the internet. See also the page on handling + of personal information. +

-

-

+

+ Personal information which is not derived from your contributions is covered by the EU + GDPR Article 6(1) (a) + regarding consent. All such information is visible on this page and shown with the + symbol next to it, or listed on your + notification subscription page. Most of this + information can be edited or removed on these pages. There are some exceptions, such + as photos, which currently require an email to the Secretariat + if you wish to update or remove the information. +

- Personal information which is not derived from your contributions is covered by the EU - GDPR Article 6(1) (a) - regarding consent. All such information is visible on this page and shown with the - dagger symbol () next to it, or listed on your - notification subscription page. Most of this - information can be edited or removed on these pages. There are some exceptions, such - as photos, which currently require an email to the Secretariat - if you wish to update or remove the information. - -

-

- - All the information the datatracker has that is coupled to this account and visible - on this page or otherwise related to your work on ietf documents, is also available - to you as a JSON blob when - you are logged in. It contains both the Legitimate Interest information and the information - that requires Consent. - -

- -{% endblock %} +

+ All the information the datatracker has that is coupled to this account and visible + on this page or otherwise related to your work on ietf documents, is also available + to you as a JSON blob when + you are logged in. It contains both the Legitimate Interest information and the information + that requires Consent. +

+
+{% endblock content %} {% block js %} -{% endblock %} +{% endblock js %} \ No newline at end of file diff --git a/ietf/templates/registration/login.html b/ietf/templates/registration/login.html index 11b91dc3e..36b2116ad 100644 --- a/ietf/templates/registration/login.html +++ b/ietf/templates/registration/login.html @@ -1,40 +1,26 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} {% load django_bootstrap5 %} -{% block title %}Sign in{% endblock %} +{% block title %}Sign in{% endblock title %} {% block content %} {% origin %} -
-
-

Sign in

- +

Sign in

+ -
- {% csrf_token %} - {% bootstrap_form form %} + + {% csrf_token %} + {% bootstrap_form form %} + {% bootstrap_button button_type="submit" content="Sign in" %} - {% if alert %} -

- {{ alert }} -

- {% endif %} - - - - - -
- Forgot your password? - Request a reset. -
- - - -
-
-
-{% endblock %} +
+ Forgot your password? + Request a reset. +
+ +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/registration/manual.html b/ietf/templates/registration/manual.html index 76211e192..b0b6f4103 100644 --- a/ietf/templates/registration/manual.html +++ b/ietf/templates/registration/manual.html @@ -1,10 +1,10 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} -{% load django_bootstrap5 %} - -{% block title %}Complete account creation{% endblock %} +{% block title %}Complete account creation{% endblock title %} {% block content %} {% origin %} @@ -13,9 +13,7 @@

Our apologies, it looks like there was an issue creating your Datatracker account. - Please send an email to support@ietf.org and we'll get you set up promptly. - - Best, IETF Secretariat + Please send an email to the IETF secretariat and we'll get you set up promptly.

-{% endblock %} +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/registration/password_reset.html b/ietf/templates/registration/password_reset.html index 3d6727484..a92c74904 100644 --- a/ietf/templates/registration/password_reset.html +++ b/ietf/templates/registration/password_reset.html @@ -1,10 +1,12 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} + {% load origin %} {% load django_bootstrap5 %} -{% block title %}Password reset{% endblock %} +{% block title %}Password reset{% endblock title %} {% block content %} {% origin %} @@ -22,12 +24,7 @@
{% csrf_token %} {% bootstrap_form form %} - - - - - - + {% bootstrap_button button_type="submit" content="Reset password" %}
{% endif %} -{% endblock %} +{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/release/about.html b/ietf/templates/release/about.html index 495b22605..247f29199 100644 --- a/ietf/templates/release/about.html +++ b/ietf/templates/release/about.html @@ -1,160 +1,149 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} + +{% extends "base.html" %} {% load origin %} -{% block title %}About the Datatracker{% endblock %} +{% block title %}About the Datatracker{% endblock title %} {% block content %} {% origin %} -
-

About the IETF Datatracker

-

+

About the IETF Datatracker

- The IETF Datatracker is the primary day-to-day front-end to the IETF database for people - who work on IETF standards. It contains data about the documents, working groups, - meetings, agendas, minutes, presentations, and more, of the IETF. +

+ The IETF Datatracker is the primary day-to-day front-end to the IETF database for people + who work on IETF standards. It contains data about the documents, working groups, + meetings, agendas, minutes, presentations, and more, of the IETF. + The primary public face of the IETF is at www.ietf.org. +

-

-

+

+ All the Datatracker code is publicly available from the + IETF tools SVN repository. + Bug tickets and wiki notes are available from the + Issue Tracker, and + there are also release notes available since version 2.00. +

- The primary public face of the IETF is at www.ietf.org. +

+ Below you'll find a brief history of the datatracker development, in terms of the big + moments. For the nitty-gritty week-to-week code changes, please check the release + notes or the commit log. -

-

+

- All the Datatracker code is publicly avaliable from the - IETF tools SVN repository. - Bug tickets and wiki notes are available from the - Issue Tracker, and - there are also release notes available since version 2.00. +

Version 6.x Work

-

-

+

+ Between the release of 6.0.0 in April 2015 and the latest release + there has been numerous releases (75, as of 11 Feb 2017) which has extended the + functionality of the datatracker substantially. The release list + gives more information. - Below you'll find a brief history of the datatracker development, in terms of the big - moments. For the nitty-gritty week-to-week code changes, please check the release - notes or the commit log. +

-

+

Version 6.0.0: Facelift using Bootstrap

-

Version 6.x Work

-

+

+ During more than a year, from July 2013 to late 2014, Lars Eggert worked intensively + on a major facelift to the datatracker, porting the GUI to Bootstrap. The work + took + + 287 separate commits + , and comprised changes to 1016 different files. - Between the release of 6.0.0 in April 2015 and the latest release - there has been numerous releases (75, as of 11 Feb 2017) which has extended the - functionality of the datatracker substantially. The release list - gives more information. +

-

+

+ This work has turned the IETF Datatracker website into a responsive website which + support use on a much larger variety of devices, from small mobile devices to desktops. -

Version 6.0.0: Facelift using Bootstrap

-

+

- During more than a year, from July 2013 to late 2014, Lars Eggert worked intensively - on a major facelift to the datatracker, porting the GUI to Bootstrap. The work - took - - 287 separate commits - , and comprised changes to 1016 different files. +

+ The work relies heavily on the capabilities of + Bootstrap, and continues to use the Django + framework which the datatracker has been build on since version + 2.00. It also uses icons from FontAwesome, and functions from + django-bootstrap3. -

-

+

- This work has turned the IETF Datatracker website into a responsive website which - support use on a much larger variety of devices, from small mobile devices to desktops. +

+ Additional + + page conversion work + has been done by Ole Laursen, with + + final style tweaks, bug-fixes and adaptations + + by Henrik Levkowetz, giving it a distinct + colour palette + (with the addition of complementing green and red colours for success and error indications), + and a selection of fonts from + ParaType + (PT Serif for body text, + PT Sans Caption for headers, + PT Sans for menus, + and PT Mono for monospaced documents). (Even if PT Sans Caption was + created as a 'Caption' (6-8pt) + optical size font to go with PT Sans, it works well for headers when paired with PT Serif.) +

-

-

- - The work relies heavily on the capabilities of - Bootstrap, and continues to use the Django - framework which the datatracker has been build on since version - 2.00. It also uses icons from FontAwesome, and functions from - django-bootstrap3. - -

-

- - Additional - - page conversion work - has been done by Ole Laursen, with - - final style tweaks, bug-fixes and adaptations - - by Henrik Levkowetz, giving it a distinct - colour palette - (with the addition of complementing green and red colours for success and error indications), - and a selection of fonts from - ParaType - (PT Serif for body text, - PT Sans Caption for headers, - PT Sans for menus, - and PT Mono for monospaced documents). (Even if PT Sans Caption was - created as a 'Caption' (6-8pt) - optical size font to go with PT Sans, it works well for headers when paired with PT Serif.) - -

-

Version 5.x Work

-

- - Between the release of 5.0.0 in January 2014 and the last release in the 5.x series in - April 2015, there were 42 releases containing bug fixes and features. Worth mentioning - were 4 code sprint releases, added support for the secretariat's agenda scheduling work, - the addition of pages for Research Groups and Teams, a JSON interface to the - database for tool builders, improved IPR support, a move to Django 1.7, - and many - improvements in testing support. - -

- -

Version 5.0.0: Shim Removal

- -
- To be written. -
- -

Version 4.00: New Database Schema

- -
- To be written. -
- -

Version 3.00: Django Port of the IESG Datatracker Pages

- -
- To be written. -
- -

Version 2.00: Django Port of the Public Datatracker Pages

- -

- This release was a complete re-write of the CGI/Perl-based IESG datatracker - in Python, using the Django framework. It comprised about 8000 lines of - Python code, and 6000 lines of template code. The work was done as a - skunkworks project by Bill Fenner and Henrik Levkowetz from mid-April - to mid-May 2007, and continued as an official project from then on. The - aim was to eliminate numerous SQL injection insecurities in the current - code, and also provide a better framework on which to build future enhancements. - During the most intensive period, Bill and Henrik worked 10 hours per day - to get all public pages ported and released. The release was deployed - in the early hours of 28 June 2007, and nobody noticed the change :-)) -

- -

Version 1.0: Initial Perl/MySQL database and web-pages

- -

- The first version of the idtracker was commissioned by the IESG under Harald - Alvestrand in 2001, and the IESG started using it at the beginning of 2002. It was - written by Michael Lee in Perl, with direct SQL statements. It provided a - major improvement in visibility of the progress of drafts by the IESG. - The first - public presentation of it and its capabilities was made 2002-11-20 - in Atlanta by Thomas Narten. -

+

Version 5.x Work

+

+ Between the release of 5.0.0 in January 2014 and the last release in the 5.x series in + April 2015, there were 42 releases containing bug fixes and features. Worth mentioning + were 4 code sprint releases, added support for the secretariat's agenda scheduling work, + the addition of pages for Research Groups and Teams, a JSON interface to the + database for tool builders, improved IPR support, a move to Django 1.7, + and many + improvements in testing support. +

+

Version 5.0.0: Shim Removal

+
+ To be written.
-{% endblock %} + +

Version 4.00: New Database Schema

+ +
+ To be written. +
+ +

Version 3.00: Django Port of the IESG Datatracker Pages

+ +
+ To be written. +
+ +

Version 2.00: Django Port of the Public Datatracker Pages

+ +

+ This release was a complete re-write of the CGI/Perl-based IESG datatracker + in Python, using the Django framework. It comprised about 8000 lines of + Python code, and 6000 lines of template code. The work was done as a + skunkworks project by Bill Fenner and Henrik Levkowetz from mid-April + to mid-May 2007, and continued as an official project from then on. The + aim was to eliminate numerous SQL injection insecurities in the current + code, and also provide a better framework on which to build future enhancements. + During the most intensive period, Bill and Henrik worked 10 hours per day + to get all public pages ported and released. The release was deployed + in the early hours of 28 June 2007, and nobody noticed the change :-)) +

+ +

Version 1.0: Initial Perl/MySQL database and web-pages

+ +

+ The first version of the idtracker was commissioned by the IESG under Harald + Alvestrand in 2001, and the IESG started using it at the beginning of 2002. It was + written by Michael Lee in Perl, with direct SQL statements. It provided a + major improvement in visibility of the progress of drafts by the IESG. + The first + public presentation of it and its capabilities was made 2002-11-20 + in Atlanta by Thomas Narten. +

+{% endblock content %} \ No newline at end of file diff --git a/ietf/templates/release/release.html b/ietf/templates/release/release.html index 328e465c4..ba313f0df 100644 --- a/ietf/templates/release/release.html +++ b/ietf/templates/release/release.html @@ -1,88 +1,80 @@ -{% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} -{% load origin %}{% load cache %} -{% block title %}Release information{% endblock %} +{% extends "base.html" %} +{% load origin %} +{% load cache %} -{% block morecss %} - .year-row { background-color: white; } - .version-row { vertical-align: top; } - .version { text-align: right; padding: 0.1em 0.5em; min-width: 4em; } - .date { text-align: right; padding: 0.1em 0.5em; min-width: 8em; } - .release-title { padding: 0.1em 0.5em; } -{% endblock %} +{% block title %}Release information{% endblock title %} {% block content %} {% origin %} -
-

- +
+

+ Version {{ entry.version }} -
Released {{ entry.date }} - +
Released {{ entry.date }}

- - - -

- {% if coverage %} - Tested: - Code: {{coverage.code.percentage|stringformat:".2f"}}%,   - Templates: {{coverage.template.percentage|stringformat:".2f"}}%,   - URLs: {{coverage.url.percentage|stringformat:".2f"}}%   - {% endif %} - {% if code_coverage_url %} -
- (A code test coverage report dated {{code_coverage_time}} is available.) - {% endif %} -

- -

{{ entry.version }} release notes

-
{% if entry.title %}  {{entry.title}}
-
-{% endif %}{{entry.html|safe}}
-
- -- {{entry.author}} <{{entry.email}}>  {{entry.date}}
-  
- {% cache 3600 ietf_release_list %} -
-

Release list:

- - - - {% for item in releases %} - {% ifchanged %} - - - - - - - - - {% endifchanged %} - - - - - - {% endfor %} - -
{{ item.date|slice:"7:11" }}
{{ item.version }}{{ item.date|slice:":11" }}{{ item.title }}
- {% endcache %} +
+ + + +
-{% endblock %} + + + +

+ {% if coverage %} + Tested: + Code: {{ coverage.code.percentage|stringformat:".2f" }}%, + Templates: {{ coverage.template.percentage|stringformat:".2f" }}%, + URLs: {{ coverage.url.percentage|stringformat:".2f" }}% + {% endif %} + {% if code_coverage_url %} +
+ (A code test coverage report dated {{ code_coverage_time }} is available.) + {% endif %} +

+ +

{{ entry.version }} release notes

+ {% if entry.title %}

{{ entry.title }}

{% endif %} +
{{ entry.html|safe }}
+
+  — {{ entry.author }} <{{ entry.email }}>  {{ entry.date }}
+    
+ + {% cache 3600 ietf_release_list %} +
+

Release list:

+ + + {% for item in releases %} + {% ifchanged %} + + + + {% endifchanged %} + + + + + + {% endfor %} +
{{ item.date|slice:"7:11" }}
{{ item.version }}{{ item.date|slice:":11" }}{{ item.title }}
+ {% endcache %} + +{% endblock content %} {% block footer %} - +

+ Contractor instructions +

{{ block.super }} -{% endblock %} +{% endblock footer %} \ No newline at end of file