diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f4e1bac3c5..0c2ab8a434 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -137,9 +137,9 @@ jobs: echo "Running tests..." if [[ "x${{ github.event.inputs.ignoreLowerCoverage }}" == "xtrue" ]]; then echo "Lower coverage failures will be ignored." - ./ietf/manage.py test --settings=settings_postgrestest --ignore-lower-coverage + ./ietf/manage.py test --validate-html-harder --settings=settings_test --ignore-lower-coverage else - ./ietf/manage.py test --settings=settings_postgrestest + ./ietf/manage.py test --validate-html-harder --settings=settings_test fi coverage xml diff --git a/.github/workflows/ci-run-tests.yml b/.github/workflows/ci-run-tests.yml index e8e9fe324b..eec60cb641 100644 --- a/.github/workflows/ci-run-tests.yml +++ b/.github/workflows/ci-run-tests.yml @@ -45,7 +45,7 @@ jobs: exit 1 fi echo "Running tests..." - ./ietf/manage.py test --settings=settings_postgrestest + ./ietf/manage.py test --validate-html-harder --settings=settings_test coverage xml - name: Upload Coverage Results to Codecov diff --git a/.pnp.cjs b/.pnp.cjs index bb809ceb11..622e680ac2 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -49,7 +49,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\ ["@twuni/emojify", "npm:1.0.2"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.3"],\ - ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ + ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.0"],\ ["bootstrap-icons", "npm:1.10.5"],\ ["browser-fs-access", "npm:0.34.1"],\ ["browserlist", "npm:1.0.1"],\ @@ -3131,10 +3131,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:5.2.3", {\ - "packageLocation": "./.yarn/cache/bootstrap-npm-5.2.3-7458283a23-0211805dec.zip/node_modules/bootstrap/",\ + ["npm:5.3.0", {\ + "packageLocation": "./.yarn/cache/bootstrap-npm-5.3.0-240c38a3b2-29a83cc8ca.zip/node_modules/bootstrap/",\ "packageDependencies": [\ - ["bootstrap", "npm:5.2.3"]\ + ["bootstrap", "npm:5.3.0"]\ ],\ "linkType": "SOFT"\ }],\ @@ -3151,10 +3151,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3", {\ - "packageLocation": "./.yarn/__virtual__/bootstrap-virtual-c4952ffff0/0/cache/bootstrap-npm-5.2.3-7458283a23-0211805dec.zip/node_modules/bootstrap/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.0", {\ + "packageLocation": "./.yarn/__virtual__/bootstrap-virtual-3c63ba6f80/0/cache/bootstrap-npm-5.3.0-240c38a3b2-29a83cc8ca.zip/node_modules/bootstrap/",\ "packageDependencies": [\ - ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ + ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.0"],\ ["@popperjs/core", "npm:2.11.8"],\ ["@types/popperjs__core", null]\ ],\ @@ -7887,7 +7887,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\ ["@twuni/emojify", "npm:1.0.2"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.3"],\ - ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ + ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.0"],\ ["bootstrap-icons", "npm:1.10.5"],\ ["browser-fs-access", "npm:0.34.1"],\ ["browserlist", "npm:1.0.1"],\ diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 7e43a30f88..4bd0b99363 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -48,7 +48,7 @@ "args": [ "${workspaceFolder}/ietf/manage.py", "test", - "--settings=settings_postgrestest" + "--settings=settings_test" ], "group": "test", "presentation": { @@ -68,7 +68,7 @@ "args": [ "${workspaceFolder}/ietf/manage.py", "test", - "--settings=settings_postgrestest", + "--settings=settings_test", "--pattern=tests_js.py" ], "group": "test", diff --git a/.yarn/cache/bootstrap-npm-5.2.3-7458283a23-0211805dec.zip b/.yarn/cache/bootstrap-npm-5.2.3-7458283a23-0211805dec.zip deleted file mode 100644 index 24c59290c5..0000000000 Binary files a/.yarn/cache/bootstrap-npm-5.2.3-7458283a23-0211805dec.zip and /dev/null differ diff --git a/.yarn/cache/bootstrap-npm-5.3.0-240c38a3b2-29a83cc8ca.zip b/.yarn/cache/bootstrap-npm-5.3.0-240c38a3b2-29a83cc8ca.zip new file mode 100644 index 0000000000..8099bab24f Binary files /dev/null and b/.yarn/cache/bootstrap-npm-5.3.0-240c38a3b2-29a83cc8ca.zip differ diff --git a/LICENSE b/LICENSE index aaed0ef57d..c180fa3f9f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2008-2022, The IETF Trust +Copyright (c) 2008-2023, The IETF Trust All rights reserved. Redistribution and use in source and binary forms, with or without @@ -26,4 +26,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md index 7a46bd9cd2..20c9f3e599 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ If VS Code is not available to you, in your clone, type `cd docker; ./run` Once the containers are started, run the tests to make sure your checkout is a good place to start from (all tests should pass - if any fail, ask for help at tools-develop@). Inside the app container's shell type: ```sh -ietf/manage.py test --settings=settings_postgrestest +ietf/manage.py test --settings=settings_test ``` Note that we recently moved the datatracker onto PostgreSQL - you may still find older documentation that suggests testing with settings_sqlitetest. That will no longer work. @@ -228,7 +228,7 @@ before activating a new release. From a datatracker container, run the command: ```sh -./ietf/manage.py test --settings=settings_postgrestest +./ietf/manage.py test --settings=settings_test ``` > You can limit the run to specific tests using the `--pattern` argument. diff --git a/client/App.vue b/client/App.vue index 0664525ca4..2a6c5e6e98 100644 --- a/client/App.vue +++ b/client/App.vue @@ -26,6 +26,21 @@ const siteStore = useSiteStore() const appContainer = ref(null) +// -------------------------------------------------------------------- +// Set user theme +// -------------------------------------------------------------------- + +const desiredTheme = window.localStorage?.getItem('theme') +if (desiredTheme === 'dark') { + siteStore.theme = 'dark' +} else if (desiredTheme === 'light') { + siteStore.theme = 'light' +} else if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + siteStore.theme = 'dark' +} else { + siteStore.theme = 'light' +} + // -------------------------------------------------------------------- // Handle browser resize // -------------------------------------------------------------------- diff --git a/client/agenda/Agenda.vue b/client/agenda/Agenda.vue index 1cd1042f4f..0212fc8cb6 100644 --- a/client/agenda/Agenda.vue +++ b/client/agenda/Agenda.vue @@ -533,6 +533,13 @@ onMounted(() => { color: $blue-700; position: relative; + @at-root .theme-dark & { + border: 1px solid $blue-800; + background: linear-gradient(to top, lighten($blue-900, 2%), lighten($blue-900, 5%)); + color: $blue-100; + box-shadow: inset 0 0 0 1px #000; + } + > button { position: absolute; top: 15px; diff --git a/client/agenda/AgendaDetailsModal.vue b/client/agenda/AgendaDetailsModal.vue index 0a140b8c4e..037e32f9cb 100644 --- a/client/agenda/AgendaDetailsModal.vue +++ b/client/agenda/AgendaDetailsModal.vue @@ -282,6 +282,10 @@ async function fetchSessionMaterials () { .bi { font-size: 20px; color: $indigo; + + @at-root .theme-dark & { + color: $indigo-300; + } } .detail-header { @@ -343,6 +347,11 @@ async function fetchSessionMaterials () { border-radius: 5px; font-weight: 500; + @at-root .theme-dark & { + background-color: $gray-900; + border-color: $gray-700; + } + a { cursor: pointer; @@ -365,6 +374,11 @@ async function fetchSessionMaterials () { margin-top: 12px; border-radius: 5px; + @at-root .theme-dark & { + background-color: $gray-900; + border-color: $gray-700; + } + .bi { color: $blue; } @@ -377,6 +391,10 @@ async function fetchSessionMaterials () { border: none; border-radius: 5px; display: block; + + @at-root .theme-dark & { + background-color: $gray-900; + } } } diff --git a/client/agenda/AgendaFilter.vue b/client/agenda/AgendaFilter.vue index 629096211d..b1f1065708 100644 --- a/client/agenda/AgendaFilter.vue +++ b/client/agenda/AgendaFilter.vue @@ -217,30 +217,58 @@ function toggleFilterGroup (key) { padding: 5px; border-radius: 10px; + @at-root .theme-dark & { + background-color: $gray-800; + } + &:nth-child(2) { background-color: $blue-100; + @at-root .theme-dark & { + background-color: $gray-800; + } + .agenda-personalize-areamain { button { color: $blue-600; + + @at-root .theme-dark & { + color: $blue-100; + } } } .agenda-personalize-groups { background-color: lighten($blue-100, 7%); + + @at-root .theme-dark & { + background-color: $gray-700; + } } } &:nth-child(3) { background-color: $orange-100; + @at-root .theme-dark & { + background-color: $gray-800; + } + .agenda-personalize-areamain { button { color: $orange-600; + + @at-root .theme-dark & { + color: $orange-100; + } } } .agenda-personalize-groups { background-color: lighten($orange-100, 7%); + + @at-root .theme-dark & { + background-color: $gray-700; + } } } @@ -276,6 +304,12 @@ function toggleFilterGroup (key) { transition: background-color .5s ease; position: relative; + @at-root .theme-dark & { + background-color: $gray-600; + border-color: $gray-700; + color: #FFF; + } + > .bi { margin-right: .5rem; } @@ -310,6 +344,10 @@ function toggleFilterGroup (key) { flex: 1; display: flex; flex-wrap: wrap; + + @at-root .theme-dark & { + background-color: $gray-700; + } } &-group { @@ -324,6 +362,12 @@ function toggleFilterGroup (key) { color: $gray-600; margin-right: 0px; + @at-root .theme-dark & { + background-color: $gray-600; + border-color: $gray-700; + color: #FFF; + } + @media screen and (max-width: $bs5-break-sm) { font-size: .9em; } diff --git a/client/agenda/AgendaQuickAccess.vue b/client/agenda/AgendaQuickAccess.vue index ae23edcabb..5952e6de1c 100644 --- a/client/agenda/AgendaQuickAccess.vue +++ b/client/agenda/AgendaQuickAccess.vue @@ -219,6 +219,9 @@ function scrollToNow (ev) { - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ietf/static/images/ietf-logo-white.svg b/ietf/static/images/ietf-logo-white.svg new file mode 100644 index 0000000000..2417f917ce --- /dev/null +++ b/ietf/static/images/ietf-logo-white.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ietf/static/images/irtf-logo-white.svg b/ietf/static/images/irtf-logo-white.svg new file mode 100644 index 0000000000..a67412581e --- /dev/null +++ b/ietf/static/images/irtf-logo-white.svg @@ -0,0 +1,65 @@ + + + + + R + + + + + + diff --git a/ietf/static/images/irtf-logo.svg b/ietf/static/images/irtf-logo.svg index be64890b25..10b2a96816 100644 --- a/ietf/static/images/irtf-logo.svg +++ b/ietf/static/images/irtf-logo.svg @@ -6,7 +6,7 @@ version="1.1" id="svg303" sodipodi:docname="irtf-logo.svg" - inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)" + inkscape:version="1.2.2 (b0a84865, 2022-12-01)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -24,12 +24,12 @@ inkscape:deskcolor="#d1d1d1" showgrid="false" inkscape:zoom="1.0373737" - inkscape:cx="304.1334" - inkscape:cy="446.80136" + inkscape:cx="303.65142" + inkscape:cy="447.76535" inkscape:window-width="1797" inkscape:window-height="1083" inkscape:window-x="951" - inkscape:window-y="445" + inkscape:window-y="417" inkscape:window-maximized="0" inkscape:current-layer="svg303" /> R - + diff --git a/ietf/static/js/password_strength.js b/ietf/static/js/password_strength.js index eaeed2e1c4..4df5c14439 100644 --- a/ietf/static/js/password_strength.js +++ b/ietf/static/js/password_strength.js @@ -30,7 +30,7 @@ widget .find(".label-danger") - .addClass("bg-danger") + .addClass("text-bg-danger") .removeClass("label-danger"); widget @@ -64,13 +64,13 @@ .val()); if (result.score < 3) { - password_strength_bar.removeClass('bg-success') - .addClass('bg-warning'); + password_strength_bar.removeClass('text-bg-success') + .addClass('text-bg-warning'); password_strength_info.find('.badge') .removeClass('d-none'); } else { - password_strength_bar.removeClass('bg-warning') - .addClass('bg-success'); + password_strength_bar.removeClass('text-bg-warning') + .addClass('text-bg-success'); password_strength_info.find('.badge') .addClass('d-none'); } @@ -86,8 +86,8 @@ .html(result.crack_times_display.offline_slow_hashing_1e4_per_second); password_strength_offline_info.removeClass('d-none'); } else { - password_strength_bar.removeClass('bg-success') - .addClass('bg-warning'); + password_strength_bar.removeClass('text-bg-success') + .addClass('text-bg-warning'); password_strength_bar.width('0%') .attr('aria-valuenow', 0); password_strength_info.addClass('d-none'); @@ -186,4 +186,4 @@ // Call the init for backwards compatibility djangoPasswordStrength.init(); -})(jQuery, window, document); \ No newline at end of file +})(jQuery, window, document); diff --git a/ietf/static/js/theme.js b/ietf/static/js/theme.js new file mode 100644 index 0000000000..d244eec288 --- /dev/null +++ b/ietf/static/js/theme.js @@ -0,0 +1,88 @@ +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + * + * https://github.com/twbs/bootstrap/blob/main/site/static/docs/5.3/assets/js/color-modes.js + */ + +(() => { + 'use strict' + + const getStoredTheme = () => localStorage.getItem('theme') || 'auto' + const setStoredTheme = theme => localStorage.setItem('theme', theme) + + const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' + } + + const setTheme = theme => { + if (theme === 'auto') { + if (window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-bs-theme', 'dark') + } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { + document.documentElement.setAttribute('data-bs-theme', 'light') + } + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } + } + + setTheme(getPreferredTheme()) + + const showActiveTheme = (theme, focus = false) => { + const themeSwitcher = document.querySelector('#bd-theme') + + if (!themeSwitcher) { + return + } + + // Commented-out lines are from the original bs5 js, which uses a more complicated pref dropdown. + // Kept them here for easier future diffing. + const themeSwitcherText = document.querySelector('#bd-theme-text') + // const activeThemeIcon = document.querySelector('.theme-icon-active use') + const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`) + // const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href') + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + element.classList.remove('active') + element.setAttribute('aria-pressed', 'false') + }) + + btnToActive.classList.add('active') + btnToActive.setAttribute('aria-pressed', 'true') + // activeThemeIcon.setAttribute('href', svgOfActiveBtn) + // const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})` + // themeSwitcher.setAttribute('aria-label', themeSwitcherLabel) + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document.querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setStoredTheme(theme) + setTheme(theme) + showActiveTheme(theme, true) + }) + }) + }) +})() diff --git a/ietf/templates/401.html b/ietf/templates/401.html index a88ce940e5..8c06dff9e1 100644 --- a/ietf/templates/401.html +++ b/ietf/templates/401.html @@ -3,9 +3,7 @@ {% load static %} {% block title %}401 Unauthorized{% endblock %} {% block content %} - + {% include "logo.html" with org="ietf" classes="col-2 mb-5" only %} Authentication Required diff --git a/ietf/templates/403.html b/ietf/templates/403.html index 155e4ea998..2ea87eb3ad 100644 --- a/ietf/templates/403.html +++ b/ietf/templates/403.html @@ -3,9 +3,7 @@ {% load static %} {% block title %}Error: Restricted Access{% endblock %} {% block content %} - + {% include "logo.html" with org="ietf" classes="col-2 mb-5" only %} Restricted Access diff --git a/ietf/templates/404.html b/ietf/templates/404.html index de247c89a1..b21bd5d97b 100644 --- a/ietf/templates/404.html +++ b/ietf/templates/404.html @@ -3,9 +3,7 @@ {% load static %} {% block title %}Error: Page Not Found{% endblock %} {% block content %} - + {% include "logo.html" with org="ietf" classes="col-2 mb-5" only %} The page you were looking for couldn't be found diff --git a/ietf/templates/500.html b/ietf/templates/500.html index b7ea01bdde..bd205dad6b 100644 --- a/ietf/templates/500.html +++ b/ietf/templates/500.html @@ -3,9 +3,7 @@ {% load static %} {% block title %}500 Internal Server Error{% endblock %} {% block content %} - + {% include "logo.html" with org="ietf" classes="col-2 mb-5" only %} Internal Server Error diff --git a/ietf/templates/base.html b/ietf/templates/base.html index 0d7ddc868f..9e07bad00d 100644 --- a/ietf/templates/base.html +++ b/ietf/templates/base.html @@ -6,7 +6,7 @@ {% origin %} {% load django_bootstrap5 %} {% load django_vite %} - + {% analytical_head_top %} @@ -19,6 +19,8 @@ + {# load this in the head, to prevent flickering #} + @@ -33,11 +35,10 @@ data-group-menu-data-url="{% url 'ietf.group.views.group_menu_data' %}"> {% analytical_body_top %} Skip to main content - + - + {% include "logo.html" with org="ietf" classes="me-2" nor=True only %} Datatracker {% if server_mode and server_mode != "production" %} δ @@ -87,7 +88,7 @@ {% if request.COOKIES.left_menu == "on" and not hide_menu %} - + {% include "base/menu.html" with flavor="left" %} @@ -115,8 +116,7 @@ {% block footer %} - {% if p.pos.blocking and p.discuss %} - + {{ p.pos.name }} ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision and p.get_dochistory.rev %}{% if p.discuss_time %} {% endif %}for -{{ p.get_dochistory.rev }}{% endif %}) @@ -180,7 +180,7 @@ - {{ p.balloter.plain_name }} Former IESG member + {{ p.balloter.plain_name }} Former IESG member {% if p.old_positions %}(was {{ p.old_positions|join:", " }}){% endif %} diff --git a/ietf/templates/doc/document_bofreq.html b/ietf/templates/doc/document_bofreq.html index 9fb4030b9f..cbf64c1484 100644 --- a/ietf/templates/doc/document_bofreq.html +++ b/ietf/templates/doc/document_bofreq.html @@ -21,7 +21,7 @@ {{ doc.get_state.slug|capfirst }} BOF request - {% if snapshot %}Snapshot{% endif %} + {% if snapshot %}Snapshot{% endif %} diff --git a/ietf/templates/doc/document_charter.html b/ietf/templates/doc/document_charter.html index df5d702e43..08584849d8 100644 --- a/ietf/templates/doc/document_charter.html +++ b/ietf/templates/doc/document_charter.html @@ -59,7 +59,7 @@ {{ group.name }} {{ group.type.name }} ({{ group.acronym }}) - {% if snapshot %}Snapshot{% endif %} + {% if snapshot %}Snapshot{% endif %} @@ -94,8 +94,8 @@ {% else %} No document state {% endif %} - {% if chartering == "initial" %}Initial chartering{% endif %} - {% if chartering == "rechartering" %}Rechartering{% endif %} + {% if chartering == "initial" %}Initial chartering{% endif %} + {% if chartering == "rechartering" %}Rechartering{% endif %} diff --git a/ietf/templates/doc/document_chatlog.html b/ietf/templates/doc/document_chatlog.html index 4e47382509..7c97471e69 100644 --- a/ietf/templates/doc/document_chatlog.html +++ b/ietf/templates/doc/document_chatlog.html @@ -26,7 +26,7 @@ ({{ doc.group.acronym }}) {{ doc.group.type.name }} {% endif %} - {% if snapshot %}Snapshot{% endif %} + {% if snapshot %}Snapshot{% endif %} diff --git a/ietf/templates/doc/document_conflict_review.html b/ietf/templates/doc/document_conflict_review.html index ccdaa9a134..f70f5925f6 100644 --- a/ietf/templates/doc/document_conflict_review.html +++ b/ietf/templates/doc/document_conflict_review.html @@ -29,8 +29,8 @@ {% if conflictdoc.get_state_slug == 'rfc' %}{{ conflictdoc.canonical_name|prettystdname }}{% else %}{{ conflictdoc.canonical_name }}-{{ conflictdoc.rev }}{% endif %} - {{ conflictdoc.stream }} stream - {% if snapshot %}Snapshot{% endif %} + {{ conflictdoc.stream }} stream + {% if snapshot %}Snapshot{% endif %} @@ -54,11 +54,7 @@ {% endif %} - {% if "no-problem" in doc.get_state.name|slugify %} - {{ doc.get_state.name}} - {% else %} - {{ doc.get_state.name }} - {% endif %} + {{ doc.get_state.name|badgeify }} @@ -149,4 +145,4 @@ -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/document_draft.html b/ietf/templates/doc/document_draft.html index 62c4120f22..769d5ec28e 100644 --- a/ietf/templates/doc/document_draft.html +++ b/ietf/templates/doc/document_draft.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{# Copyright The IETF Trust 2016-2020, All Rights Reserved #} +{# Copyright The IETF Trust 2016-2023, All Rights Reserved #} {% load origin %} {% load static %} {% load ietf_filters %} @@ -47,7 +47,7 @@ {% if doc.stream %} {% if doc.stream.slug != "legacy" %} - + {% if doc.stream_id == 'ietf' %} WG {% else %} @@ -224,7 +224,7 @@ href="{% url 'ietf.doc.views_doc.document_shepherd_writeup' name=doc.name %}"> Show - Last changed {{ shepherd_writeup.time|date:"Y-m-d" }} + Last changed {{ shepherd_writeup.time|date:"Y-m-d" }} {% else %} (None) @@ -274,12 +274,12 @@ IESG - + IESG state - {% if iesg_state.slug != 'idexists' and can_edit %} + {% if iesg_state.slug != 'idexists' and iesg_state.slug != 'dead' and can_edit %} Edit @@ -468,7 +468,7 @@ IANA - + IANA review state @@ -497,7 +497,7 @@ {% if not can_edit_iana_state and not iana_review_state %}IANA{% endif %} - + IANA action state @@ -526,7 +526,7 @@ {% if not can_edit_iana_state and not iana_review_state and not iana_action_state %}IANA{% endif %} - + IANA expert review state @@ -587,7 +587,7 @@ RFC Editor - + RFC Editor state @@ -644,7 +644,7 @@ IPR {% if doc.related_ipr %} - + {{ doc.related_ipr|length }} {% endif %} @@ -786,7 +786,7 @@ {% endif %} {% else %} - + This Internet-Draft is no longer active. A copy of the expired Internet-Draft is available in these formats: diff --git a/ietf/templates/doc/document_html.html b/ietf/templates/doc/document_html.html index 3b7e635689..b55f385e90 100644 --- a/ietf/templates/doc/document_html.html +++ b/ietf/templates/doc/document_html.html @@ -5,7 +5,7 @@ {% load static %} {% load ietf_filters textfilters %} {% origin %} - + {% analytical_head_top %} @@ -29,6 +29,7 @@ {% endif %} + {% endif %} - + {% if not snapshot and doc.get_state_slug == "rfc" %} @@ -88,7 +89,7 @@ - + @@ -136,7 +137,7 @@ {% endif %} - + {% endif %} {% if has_verified_errata or has_errata %} - {% if document_html %}View errata{% else %}Errata{% endif %} @@ -40,7 +40,7 @@ {% endif %} {% if doc.related_ipr %} - IPR + IPR {% endif %} {% if obsoleted_by %}Obsoleted by {{ obsoleted_by|urlize_related_source_list:document_html|join:", " }}{% endif %} {% if updated_by %}Updated by {{ updated_by|urlize_related_source_list:document_html|join:", " }}{% endif %} @@ -72,7 +72,7 @@ {% endif %} {% endif %} {% if doc.get_state_slug != "active" and doc.get_state_slug != "rfc" %} - + Expired & archived {% endif %} @@ -238,17 +238,7 @@ {% endif %} {% if document_html %} {% if doc.stream.name|lower in 'iab,ietf,irtf' %} - + {% include "logo.html" with org=doc.stream.name|lower classes="w-25 mt-1" title=stream_desc nor=True only %} {% else %} {{ stream_desc }} {% endif %} @@ -349,7 +339,10 @@ {% for review_assignment in review_assignments %} - {% include "doc/review_assignment_summary.html" with current_doc_name=doc.name current_rev=doc.rev %} + {% include "doc/review_assignment_summary.html" with current_doc_name=doc.name current_rev=doc.rev review_assignment=review_assignment only %} + {% endfor %} + {% for review_request in review_requests %} + {% include "doc/review_request_summary.html" with review_request=review_request only %} {% endfor %} {% if no_review_from_teams %} {% for team in no_review_from_teams %} diff --git a/ietf/templates/doc/document_material.html b/ietf/templates/doc/document_material.html index a52dcd07b2..189c635ceb 100644 --- a/ietf/templates/doc/document_material.html +++ b/ietf/templates/doc/document_material.html @@ -26,7 +26,7 @@ ({{ doc.group.acronym }}) {{ doc.group.type.name }} {% endif %} - {% if snapshot %}Snapshot{% endif %} + {% if snapshot %}Snapshot{% endif %} diff --git a/ietf/templates/doc/document_polls.html b/ietf/templates/doc/document_polls.html index 3254f64eb0..06ddc31b0b 100644 --- a/ietf/templates/doc/document_polls.html +++ b/ietf/templates/doc/document_polls.html @@ -26,7 +26,7 @@ ({{ doc.group.acronym }}) {{ doc.group.type.name }} {% endif %} - {% if snapshot %}Snapshot{% endif %} + {% if snapshot %}Snapshot{% endif %} diff --git a/ietf/templates/doc/document_referenced_by.html b/ietf/templates/doc/document_referenced_by.html index 958108bdd0..e8260ab3d4 100644 --- a/ietf/templates/doc/document_referenced_by.html +++ b/ietf/templates/doc/document_referenced_by.html @@ -44,7 +44,7 @@ References to {{ alias_name }} {{ name|prettystdname }} {% if ref.target.name != alias_name %} - As {{ ref.target.name }} + As {{ ref.target.name }} {% endif %} diff --git a/ietf/templates/doc/document_status_change.html b/ietf/templates/doc/document_status_change.html index 87e0384b7f..bfb52a49f4 100644 --- a/ietf/templates/doc/document_status_change.html +++ b/ietf/templates/doc/document_status_change.html @@ -35,7 +35,7 @@ {{ doc.title }} - {% if snapshot %}Snapshot{% endif %} + {% if snapshot %}Snapshot{% endif %} diff --git a/ietf/templates/doc/drafts_for_ad.html b/ietf/templates/doc/drafts_for_ad.html index e02fed18c0..28ebb2225b 100644 --- a/ietf/templates/doc/drafts_for_ad.html +++ b/ietf/templates/doc/drafts_for_ad.html @@ -52,8 +52,35 @@ Blocking positions held by {{ ad_name }} {% endfor %} - Documents for {{ ad_name }} {% endif %} + {% if not_balloted_docs %} + Missing ballot positions for {{ ad_name }} + + + + Document + Status + Responsible AD + + + + {% for doc in not_balloted_docs %} + + {{ doc.displayname_with_link }} + {% include "doc/search/status_columns.html" %} + + {% if doc.ad %} + {% person_link doc.ad %} + {% else %} + (None) + {% endif %} + + + {% endfor %} + + + {% endif %} + Documents for {{ ad_name }} {% include "doc/search/search_results.html" with start_table=True end_table=True %} {% endblock %} {% block js %} diff --git a/ietf/templates/doc/drafts_in_iesg_process.html b/ietf/templates/doc/drafts_in_iesg_process.html index d28719c42c..7c9707dcb6 100644 --- a/ietf/templates/doc/drafts_in_iesg_process.html +++ b/ietf/templates/doc/drafts_in_iesg_process.html @@ -28,7 +28,7 @@ {{ title }} {% for state, docs in grouped_docs %} - + {{ state.name }} @@ -79,4 +79,4 @@ {{ title }} {% endblock %} {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/frontpage.html b/ietf/templates/doc/frontpage.html index 38575aab45..b845c2628f 100644 --- a/ietf/templates/doc/frontpage.html +++ b/ietf/templates/doc/frontpage.html @@ -11,9 +11,9 @@ - + + {% include "logo.html" with org="ietf" only %} + {% if server_mode != "production" %} Datatracker – {{ server_mode|capfirst }} Mode {% else %} diff --git a/ietf/templates/doc/review/request_info.html b/ietf/templates/doc/review/request_info.html index 14bdd3bee0..31578f0100 100644 --- a/ietf/templates/doc/review/request_info.html +++ b/ietf/templates/doc/review/request_info.html @@ -1,7 +1,7 @@ {# Copyright The IETF Trust 2017, All Rights Reserved #} {% load origin django_bootstrap5 %} {% origin %} -{% load person_filters %} +{% load person_filters ietf_filters %} @@ -217,11 +217,9 @@ State - - {{ assignment.state.name }} - + {{ assignment.state.name|badgeify }} {% if snapshot %} - + Snapshot {% endif %} @@ -312,8 +310,8 @@ Result - - {{ assignment.result.name }} + + {{ assignment.result.name|badgeify }} {% endif %} diff --git a/ietf/templates/doc/review_assignment_summary.html b/ietf/templates/doc/review_assignment_summary.html index b45c27da6a..af748a4e91 100644 --- a/ietf/templates/doc/review_assignment_summary.html +++ b/ietf/templates/doc/review_assignment_summary.html @@ -1,3 +1,4 @@ +{% load ietf_filters %} {% if review_assignment.state_id == "completed" or review_assignment.state_id == "part-completed" %} @@ -10,19 +11,17 @@ -{{ review_assignment.reviewed_rev }}){% endif %} by {{ review_assignment.reviewer.person.plain_name }} {% if review_assignment.state_id == "part-completed" %} - Partially completed + Partially completed {% endif %} {% if review_assignment.result %} - - {{ review_assignment.result.name }} - + {{ review_assignment.result.name|badgeify }} {% endif %} {% else %} - {{ review_assignment.review_request.team.acronym|upper }} {{ review_assignment.review_request.type.name }} Review + {{ review_assignment.review_request.team.acronym|upper }} {{ review_assignment.review_request.type.name }} Review due {{ review_assignment.review_request.deadline|date:"Y-m-d" }} - Incomplete, due {{ review_assignment.review_request.deadline|date:"Y-m-d" }} + Incomplete {% endif %} \ No newline at end of file diff --git a/ietf/templates/doc/review_request_summary.html b/ietf/templates/doc/review_request_summary.html new file mode 100644 index 0000000000..efeb4a030e --- /dev/null +++ b/ietf/templates/doc/review_request_summary.html @@ -0,0 +1,9 @@ + + + {{ review_request.team.acronym|upper }} {{ review_request.type.name }} Review due {{ review_request.deadline|date:"Y-m-d" }} + + + Requested + + diff --git a/ietf/templates/doc/search/search_result_row.html b/ietf/templates/doc/search/search_result_row.html index 57632651ff..b67d4ca585 100644 --- a/ietf/templates/doc/search/search_result_row.html +++ b/ietf/templates/doc/search/search_result_row.html @@ -85,12 +85,12 @@ {% endcomment %} {{ doc.title }} {% if doc.has_verified_errata %} - Errata {% elif doc.has_errata %} - Errata @@ -124,19 +124,19 @@ {% if doc.latest_revision_date|timesince_days|new_enough:request %} - New + New {% endif %} {% if doc.get_state_slug == "active" and doc.expirable and doc.expires|timesince_days|expires_soon:request %} - Expires soon + Expires soon {% endif %} {% include "doc/search/status_columns.html" %} {% if doc.related_ipr %} - {{ doc.related_ipr|length }} + {{ doc.related_ipr|length }} {% endif %} diff --git a/ietf/templates/doc/search/search_results.html b/ietf/templates/doc/search/search_results.html index 7a1e149a58..55cc9b142e 100644 --- a/ietf/templates/doc/search/search_results.html +++ b/ietf/templates/doc/search/search_results.html @@ -46,7 +46,7 @@ {% regroup docs by search_heading as grouped_docs %} {% for doc_group in grouped_docs %} - + {{ doc_group.grouper|plural:doc_group.list }} ({{ doc_group.list|length }} {{"hit"|plural:doc_group.list }}) diff --git a/ietf/templates/doc/search/status_columns.html b/ietf/templates/doc/search/status_columns.html index 556cbb799c..aa0f049754 100644 --- a/ietf/templates/doc/search/status_columns.html +++ b/ietf/templates/doc/search/status_columns.html @@ -3,9 +3,7 @@ {% origin %} {% load ietf_filters ballot_icon person_filters %} - {% if doc.ballot %} - {% ballot_icon doc %} - {% endif %} + {% ballot_icon doc %} {% if not doc.get_state_slug == "rfc" %} {% if '::' in doc.friendly_state %} {{ doc.friendly_state|safe }} @@ -52,9 +50,9 @@ {% for review_assignment in doc.review_assignments %} {% if review_assignment.state_id == "completed" or review_assignment.state_id == "part-completed" %} + class="badge rounded-pill {% if review_assignment.result.name|slice:5|slugify == 'ready' %}text-bg-success{% elif review_assignment.result.name|slice:9|slugify == 'not-ready' %}text-bg-danger{% elif review_assignment.result.name|slice:10|slugify == 'has-issues' %}text-bg-warning{% else %}text-bg-info{% endif %}"> {% else %} - + {% endif %} {{ review_assignment.review_request.team.acronym }} @@ -92,4 +90,4 @@ Updated by {{ doc.updated_by_list|join:", "|urlize_ietf_docs }} {% endif %} {% endif %} - + \ No newline at end of file diff --git a/ietf/templates/doc/state_help.html b/ietf/templates/doc/state_help.html index d7678987ac..34481b7863 100644 --- a/ietf/templates/doc/state_help.html +++ b/ietf/templates/doc/state_help.html @@ -1,7 +1,6 @@ {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} -{% load origin %} -{% load static %} +{% load origin static ietf_filters textfilters %} {% block title %}{{ title }}{% endblock %} {% block pagehead %} @@ -27,7 +26,7 @@ {{ title }} {% for state in states %} {{ state.name }} - {{ state.desc|safe|linebreaksbr }} + {{ state.desc|urlize_ietf_docs|linkify }} {% if has_next_states %} {% for s in state.next_states.all %} diff --git a/ietf/templates/doc/status_change/status_changes.html b/ietf/templates/doc/status_change/status_changes.html index 31d6130a3e..41dda8c53e 100644 --- a/ietf/templates/doc/status_change/status_changes.html +++ b/ietf/templates/doc/status_change/status_changes.html @@ -27,7 +27,7 @@ RFC status changes {% for state in state_groups %} - + {{ state.grouper }} @@ -46,4 +46,4 @@ RFC status changes {% endblock %} {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/group/active_adm.html b/ietf/templates/group/active_adm.html index e600059785..5fe2363267 100644 --- a/ietf/templates/group/active_adm.html +++ b/ietf/templates/group/active_adm.html @@ -19,7 +19,7 @@ Active administrative groups {% for grouptype in grouped_groups %} - + Active {% firstof grouptype.grouper.verbose_name grouptype.grouper.name 'Top-level Administration' %} diff --git a/ietf/templates/group/active_iabgroups.html b/ietf/templates/group/active_iabgroups.html index ac542cd3c3..0ad667b6bf 100644 --- a/ietf/templates/group/active_iabgroups.html +++ b/ietf/templates/group/active_iabgroups.html @@ -20,7 +20,7 @@ Active IAB groups {% regroup iabgroups by type as grouped_groups %} {% for grouptype in grouped_groups %} - + {% firstof grouptype.grouper.verbose_name grouptype.grouper.name %}{{ grouptype.list|pluralize }} @@ -44,4 +44,4 @@ Active IAB groups {% endblock %} {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/group/active_rfced.html b/ietf/templates/group/active_rfced.html index 78dacfa4c6..f7fd4d2aee 100644 --- a/ietf/templates/group/active_rfced.html +++ b/ietf/templates/group/active_rfced.html @@ -19,7 +19,7 @@ Active RFC Editor Groups {% for grouptype in grouped_groups %} - + Active {% firstof grouptype.grouper.verbose_name grouptype.grouper.name 'Top-level Organization' %} Groups diff --git a/ietf/templates/group/active_wgs.html b/ietf/templates/group/active_wgs.html index 1dc301e0cf..0e581ea7cc 100644 --- a/ietf/templates/group/active_wgs.html +++ b/ietf/templates/group/active_wgs.html @@ -26,7 +26,7 @@ {% for ad in area.ads_and_pre_ads %} {% person_link ad.person %} - {% if ad.name == "pre-ad" %}Incoming AD{% endif %} + {% if ad.name == "pre-ad" %}Incoming AD{% endif %} {% endfor %} diff --git a/ietf/templates/group/all_status.html b/ietf/templates/group/all_status.html index c480dac5f2..7a4c6b6512 100644 --- a/ietf/templates/group/all_status.html +++ b/ietf/templates/group/all_status.html @@ -17,7 +17,7 @@ {{ area_item.grouper.name }} ({{ area_item.grouper.acronym|uppe {{ rpt.group.acronym }} {% if rpt.group.state.slug != "active" %} - {{ rpt.group.state.slug|upper }} + {{ rpt.group.state.slug|upper }} {% endif %} {{ rpt.time|date:"Y-m-d" }} @@ -33,7 +33,7 @@ Internet Research Task Force (IRTF) {{ rpt.group.acronym }} {% if rpt.group.state.slug != "active" %} - {{ rpt.group.state.slug|upper }} + {{ rpt.group.state.slug|upper }} {% endif %} {{ rpt.time|date:"Y-m-d" }} diff --git a/ietf/templates/group/customize_workflow.html b/ietf/templates/group/customize_workflow.html index 5334c6a89e..e0904d2f4c 100644 --- a/ietf/templates/group/customize_workflow.html +++ b/ietf/templates/group/customize_workflow.html @@ -49,7 +49,7 @@ States {{ state.name }} {% if not state.used %}(not used in {{ group.acronym }}){% endif %} - {% if state.mandatory %}Mandatory{% endif %} + {% if state.mandatory %}Mandatory{% endif %} {% if state.used_next_states %} @@ -79,7 +79,7 @@ States {{ s.name }} - {% if default %}Default{% endif %} + {% if default %}Default{% endif %} {% endfor %} diff --git a/ietf/templates/group/edit_milestones.html b/ietf/templates/group/edit_milestones.html index 36a4a714ca..297b925014 100644 --- a/ietf/templates/group/edit_milestones.html +++ b/ietf/templates/group/edit_milestones.html @@ -65,7 +65,7 @@ {{ title }} {% if form.milestone.resolved %} - {{ form.milestone.resolved }} + {{ form.milestone.resolved }} {% elif group.uses_milestone_dates and form.milestone.due %} {{ form.milestone.due|date:"M Y" }} {% endif %} @@ -74,12 +74,12 @@ {{ title }} {{ form.milestone.desc|urlize_ietf_docs }} {% if form.needs_review %} + class="badge rounded-pill text-bg-warning"> Awaiting accept {% endif %} - {% if form.changed %}Changed{% endif %} - {% if form.delete.data %}Deleted{% endif %} + {% if form.changed %}Changed{% endif %} + {% if form.delete.data %}Deleted{% endif %} {% for d in form.docs_names %}{{ d }}{% endfor %} diff --git a/ietf/templates/group/group_about.html b/ietf/templates/group/group_about.html index 7e986c11c1..27ebab35cc 100644 --- a/ietf/templates/group/group_about.html +++ b/ietf/templates/group/group_about.html @@ -67,7 +67,7 @@ {{ group.state.name }} - {% if requested_close %}Being closed{% endif %} + {% if requested_close %}Being closed{% endif %} {% if group.features.has_chartering_process %} @@ -80,7 +80,7 @@ {{ group.charter.name }}-{{ group.charter.rev }} {% if group.charter.get_state.name %} - {{ group.charter.get_state.name }} + {{ group.charter.get_state.name }} {% endif %} {% else %} (None) @@ -112,7 +112,7 @@ href="{% url "ietf.group.views.group_about_status" acronym=group.acronym %}"> Show - + Changed {{ status_update.time|date:"Y-m-d" }} {% else %} diff --git a/ietf/templates/group/group_base.html b/ietf/templates/group/group_base.html index b6c3f99bac..f6dcc8cdd9 100644 --- a/ietf/templates/group/group_base.html +++ b/ietf/templates/group/group_base.html @@ -10,10 +10,10 @@ {% origin %} {% if group.state_id == "dormant" or group.state_id == "conclude" %} - Concluded {{ group.type.name }} + Concluded {{ group.type.name }} {% endif %} - {% if group.state_id == "replaced" %}Replaced {{ group.type.name }}{% endif %} - {% if group.state_id == "proposed" %}Proposed {{ group.type.name }}{% endif %} + {% if group.state_id == "replaced" %}Replaced {{ group.type.name }}{% endif %} + {% if group.state_id == "proposed" %}Proposed {{ group.type.name }}{% endif %} {{ group.name }} ({{ group.acronym }}) diff --git a/ietf/templates/group/index.html b/ietf/templates/group/index.html index 4087ebfe8a..609c650180 100644 --- a/ietf/templates/group/index.html +++ b/ietf/templates/group/index.html @@ -27,7 +27,7 @@ Other RFC streams {% with stream.get_chair as role %} {% person_link role.person %} - {% if role %}{{ role.name }}{% endif %} + {% if role %}{{ role.name }}{% endif %} {% endwith %} diff --git a/ietf/templates/group/manage_review_requests.html b/ietf/templates/group/manage_review_requests.html index edb12a2eed..99b23c138a 100644 --- a/ietf/templates/group/manage_review_requests.html +++ b/ietf/templates/group/manage_review_requests.html @@ -36,7 +36,7 @@ {{ r.type.name }} {% endif %} deadline {{ r.deadline|date:"Y-m-d" }} - {% if r.due %}{{ r.due }} day{{ r.due|pluralize }}{% endif %} + {% if r.due %}{{ r.due }} day{{ r.due|pluralize }}{% endif %} {{ r.doc.name }}- @@ -63,7 +63,7 @@ {% endif %} {% else %} - Auto-suggested + Auto-suggested {% endif %} {% if r.doc.authors %} @@ -135,10 +135,10 @@ {% endfor %} {% endif %} - {{ r.doc.pages }} page{{ r.doc.pages|pluralize }} - {{ r.doc.friendly_state }} + {{ r.doc.pages }} page{{ r.doc.pages|pluralize }} + {{ r.doc.friendly_state }} - {% if r.doc.telechat_date %}IESG telechat {{ r.doc.telechat_date }}{% endif %} + {% if r.doc.telechat_date %}IESG telechat {{ r.doc.telechat_date }}{% endif %} {% if r.comment %}{{ r.comment }}{% endif %} @@ -169,8 +169,8 @@ title="Click to reassign reviewer"> {% person_link r.reviewer.person %} - {% if r.state_id == "accepted" %}Accepted{% endif %} - {% if r.reviewer_unavailable %}Unavailable{% endif %} + {% if r.state_id == "accepted" %}Accepted{% endif %} + {% if r.reviewer_unavailable %}Unavailable{% endif %} {% else %} {{ doc_type.name }} {% for p in past_pres_list %} {{ p.grouper }} {% if p.list|length > 1 %} - {{ p.list|length }} sessions + {{ p.list|length }} sessions {% else %} {% for pr in p.list %} {% if pr.rev != d.rev %}(-{{ pr.rev }}){% endif %} @@ -52,7 +52,7 @@ {{ doc_type.name }} {% for p in meeting_pres_list %} {{ p.grouper }} {% if p.list|length > 1 %} - {{ p.list|length }} sessions + {{ p.list|length }} sessions {% else %} {% for pr in p.list %} {% if pr.rev != d.rev %}(-{{ pr.rev }}){% endif %} diff --git a/ietf/templates/group/milestones.html b/ietf/templates/group/milestones.html index 8375a51e81..2aac1fed91 100644 --- a/ietf/templates/group/milestones.html +++ b/ietf/templates/group/milestones.html @@ -36,7 +36,7 @@ {% if milestone.resolved %} - {{ milestone.resolved }} + {{ milestone.resolved }} {% else %} {% if group.uses_milestone_dates %} {{ milestone.due|date:"M Y" }} diff --git a/ietf/templates/group/reset_charter_milestones.html b/ietf/templates/group/reset_charter_milestones.html index 903d4e1133..79f26e3e36 100644 --- a/ietf/templates/group/reset_charter_milestones.html +++ b/ietf/templates/group/reset_charter_milestones.html @@ -30,7 +30,7 @@ {{ milestone.desc }} - + {% if milestone.resolved %} {{ milestone.resolved }} {% else %} diff --git a/ietf/templates/group/review_requests.html b/ietf/templates/group/review_requests.html index 59beb0ff84..5aea5b3902 100644 --- a/ietf/templates/group/review_requests.html +++ b/ietf/templates/group/review_requests.html @@ -2,7 +2,7 @@ {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% origin %} -{% load ietf_filters static person_filters %} +{% load ietf_filters static person_filters ietf_filters %} {% block group_subtitle %}Review requests{% endblock %} {% block pagehead %} @@ -29,7 +29,7 @@ Unassigned and open re - + Unassigned review requests @@ -48,13 +48,13 @@ Unassigned and open re {% if r.pk %} {{ r.time|date:"Y-m-d" }} by {% person_link r.requested_by %} {% else %} - Auto-suggested + Auto-suggested {% endif %} {{ r.deadline|date:"Y-m-d" }} {% if r.due %} - {{ r.due }} day{{ r.due|pluralize }} {% endif %} @@ -79,7 +79,7 @@ Unassigned and open re - + Open review requests @@ -96,14 +96,13 @@ Unassigned and open re {{ a.review_request.deadline|date:"Y-m-d" }} {% if a.due %} - {{ a.due }} day{{ a.due|pluralize }} {% endif %} {% person_link a.reviewer.person %} - {% if a.state_id == "accepted" %}Accepted{% endif %} - {% if a.reviewer_unavailable %}Unavailable{% endif %} + {{ a.state_id|badgeify }} {{ a.review_request.doc.friendly_state }} @@ -148,7 +147,7 @@ Closed review requests and assignme - + Closed review requests @@ -178,7 +177,7 @@ Closed review requests and assignme {{ r.request_closed_time|date:"Y-m-d" }} - {{ r.state.name }} + {{ r.state.name|badgeify }} {% endfor %} @@ -212,7 +211,7 @@ Closed review requests and assignme - + Closed review assignments @@ -242,10 +241,10 @@ Closed review requests and assignme {% person_link a.reviewer.person %} - {{ a.state }} + {{ a.state|badgeify }} - {% if a.result %}{{ a.result }}{% endif %} + {% if a.result %}{{ a.result|badgeify }}{% endif %} {% endfor %} @@ -255,4 +254,4 @@ Closed review requests and assignme {% block js %} - {% endblock %} + {% endblock %} \ No newline at end of file diff --git a/ietf/templates/group/reviewer_overview.html b/ietf/templates/group/reviewer_overview.html index 39ba7606a9..b4b1b6e3d7 100644 --- a/ietf/templates/group/reviewer_overview.html +++ b/ietf/templates/group/reviewer_overview.html @@ -24,7 +24,7 @@ Reviewers rotation with the next reviewer in the rotation at the top. Rows with darker backgrounds have the following meaning: - + Has already been assigned a document within the given interval. @@ -44,89 +44,102 @@ Reviewers {% endif %} {% if reviewers %} - + - Next + Next Reviewer - Recent history - Days since completed - Settings + + + Assigned + Deadline + State + Days for review + Document + + + Days since review + Settings {% for person in reviewers %} - + {{ forloop.counter }} + - {% person_link person %} - {% if person.settings_url %} - Edit - - {% endif %} + {% person_link person with_email=False %} + + + {% if person.settings_url %} + + + + {% endif %} + + + + + {% if person.latest_reqs %} - - - - Assigned - Deadline - State - Review time - Document - - - - {% for assn_pk, req_pk, doc_name, reviewed_rev, assigned_time, deadline, state, assignment_to_closure_days in person.latest_reqs %} - - - {{ assigned_time|date }} - - - {{ deadline|date }} - - - {{ state.name }} - - - {% if assignment_to_closure_days != None %} - {{ assignment_to_closure_days }} day{{ assignment_to_closure_days|pluralize }} - {% endif %} - - - {{ doc_name }} - {% if reviewed_rev %}-{{ reviewed_rev }}{% endif %} - - - {% endfor %} - - + {% for assn_pk, req_pk, doc_name, reviewed_rev, assigned_time, deadline, state, assignment_to_closure_days in person.latest_reqs %} + + + {{ assigned_time|date|split:"-"|join:"-" }} + + + {{ deadline|date|split:"-"|join:"-" }} + + + {{ state.name }} + + + {% if assignment_to_closure_days != None %} + {{ assignment_to_closure_days }} + {% endif %} + + + {{ doc_name }}{% if reviewed_rev %}-{{ reviewed_rev }}{% endif %} + + + {% endfor %} {% endif %} - + + {% if person.days_since_completed_review != 9999 %} {{ person.days_since_completed_review }} {% endif %} - - {% if person.settings.min_interval %} - {{ person.settings.get_min_interval_display }} - - {% endif %} - {% if person.settings.skip_next %} - Skip: {{ person.settings.skip_next }} - - {% endif %} - {% if person.settings.filter_re %} - Filter: {{ person.settings.filter_re|truncatechars:15 }} - - {% endif %} - {% if person.unavailable_periods %} - {% include "review/unavailable_table.html" with unavailable_periods=person.unavailable_periods %} - {% endif %} + + + {% include "review/unavailable_table.html" with person=person unavailable_periods=person.unavailable_periods %} + + + + + Reviewer settings + + + + {% include "review/unavailable_table.html" with person=person unavailable_periods=person.unavailable_periods %} + + + + + + {% endfor %} diff --git a/ietf/templates/ietfauth/review_overview.html b/ietf/templates/ietfauth/review_overview.html index 65a451c7a2..28c6e05599 100644 --- a/ietf/templates/ietfauth/review_overview.html +++ b/ietf/templates/ietfauth/review_overview.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {# Copyright The IETF Trust 2015-2019, All Rights Reserved #} {% load origin %} -{% load django_bootstrap5 static %} +{% load django_bootstrap5 static ietf_filters %} {% block pagehead %} {{ review_wish_form.media.css }} @@ -51,7 +51,7 @@ Assigned reviews {{ r.review_request.type.name }} {{ r.review_request.deadline|date:"Y-m-d" }} - {% if r.due %}{{ r.due }} day{{ r.due|pluralize }}{% endif %} + {% if r.due %}{{ r.due }} day{{ r.due|pluralize }}{% endif %} {% endfor %} @@ -98,10 +98,10 @@ Latest closed review assignments {{ r.review_request.type.name }} {{ r.review_request.deadline|date:"Y-m-d" }} - {% if r.due %}{{ r.due }} day{{ r.due|pluralize }}{% endif %} + {% if r.due %}{{ r.due }} day{{ r.due|pluralize }}{% endif %} - {{ r.state.name }} + {{ r.state.name|badgeify }} {% if r.result %}{{ r.result.name }}{% endif %} @@ -186,10 +186,10 @@ - + Setting - + Value @@ -208,7 +208,7 @@ Skip next assignments - {{ t.reviewer_settings.skip_next }} + {{ t.reviewer_settings.skip_next|yesno }} diff --git a/ietf/templates/ipr/details_history.html b/ietf/templates/ipr/details_history.html index d5ec45e8aa..11730741b4 100644 --- a/ietf/templates/ipr/details_history.html +++ b/ietf/templates/ipr/details_history.html @@ -51,7 +51,7 @@ {% person_link e.by %} {% if e.message %} - {% if e.response_due %}Response due {{ e.response_due|date:"Y-m-d" }}{% endif %} + {% if e.response_due %}Response due {{ e.response_due|date:"Y-m-d" }}{% endif %} {# FIXME: can't do format_history_text, because that inserts a into the , which is illegal. Need to rework the snippeting. #} {{ e.message|render_message_for_history|urlize_ietf_docs|linkify }} {% else %} diff --git a/ietf/templates/ipr/search_doc_result.html b/ietf/templates/ipr/search_doc_result.html index 484027094a..ff16524739 100644 --- a/ietf/templates/ipr/search_doc_result.html +++ b/ietf/templates/ipr/search_doc_result.html @@ -28,7 +28,7 @@ {{ ipr.time|date:"Y-m-d" }} {{ ipr.id }} - {{ ipr.title }}{% if ipr.state_id == 'removed' %}Removed{% endif %} + {{ ipr.title }}{% if ipr.state_id == 'removed' %}Removed{% endif %} {% if ipr.updates %} (Updates ID#: {% for upd in ipr.updates %}{{upd.target_id}}{% if not forloop.last %}, {% endif %}{% endfor %}){% endif %} @@ -57,7 +57,7 @@ {% for doc in docs %} - + Results for {{ doc.name|prettystdname|urlize_ietf_docs }} ("{{ doc.document.title }}"){% if not forloop.first %}{% if doc.related %}, which was {{ doc.relation|lower }} {{ doc.related.source|prettystdname|urlize_ietf_docs }} ("{{ doc.related.source.title }}"){% endif %}{% endif %} diff --git a/ietf/templates/ipr/search_doctitle_result.html b/ietf/templates/ipr/search_doctitle_result.html index b7a8a8b31e..7adbc9e9d5 100644 --- a/ietf/templates/ipr/search_doctitle_result.html +++ b/ietf/templates/ipr/search_doctitle_result.html @@ -27,7 +27,7 @@ {% for alias in docs %} - + IPR that is related to {{ alias.name|prettystdname:""|urlize_ietf_docs }} ("{{ alias.document.title }}") {% if alias.related %} that was {{ alias.relation|lower }} {{ alias.related.source.name|prettystdname:""|urlize_ietf_docs }} ("{{ alias.related.source.title }}") diff --git a/ietf/templates/ipr/search_result.html b/ietf/templates/ipr/search_result.html index a104e45c07..450ede9513 100644 --- a/ietf/templates/ipr/search_result.html +++ b/ietf/templates/ipr/search_result.html @@ -43,7 +43,7 @@ {% endifchanged %} {% endif %} - + {% block intro_prefix %}IPR that was submitted by "{{ q }}" and{% endblock %} {% block related %} @@ -100,4 +100,4 @@ {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/ipr/search_wg_result.html b/ietf/templates/ipr/search_wg_result.html index ae477a2699..6912e88138 100644 --- a/ietf/templates/ipr/search_wg_result.html +++ b/ietf/templates/ipr/search_wg_result.html @@ -22,7 +22,7 @@ {% for alias in docs %} - + IPR related to {{ alias.name|prettystdname|urlize_ietf_docs }} ("{{ alias.document.title }}") {% if alias.related %} diff --git a/ietf/templates/liaisons/liaison_table.html b/ietf/templates/liaisons/liaison_table.html index 03c9b36b75..e74b08f21b 100644 --- a/ietf/templates/liaisons/liaison_table.html +++ b/ietf/templates/liaisons/liaison_table.html @@ -24,9 +24,9 @@ Action needed {% endif %} diff --git a/ietf/templates/logo.html b/ietf/templates/logo.html new file mode 100644 index 0000000000..0de2eaeaea --- /dev/null +++ b/ietf/templates/logo.html @@ -0,0 +1,35 @@ +{% load origin %} +{% load static %} +{% origin %} + + + + \ No newline at end of file diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html index 41cccd8e21..a4eab654bf 100644 --- a/ietf/templates/meeting/agenda.html +++ b/ietf/templates/meeting/agenda.html @@ -39,6 +39,10 @@ backdrop-filter: blur(10px); } +.theme-dark #app-loading { + background-color: rgba(0,0,0,.75); +} + #app-loading:before { content: ''; box-sizing: border-box; @@ -56,6 +60,10 @@ z-index: 2000000000; } +.theme-dark #app-loading:before { + border-top-color: #FFF; +} + #app-loading:after { content: 'Loading meeting {{ meetingData.meetingNumber }}...'; position: absolute; @@ -69,6 +77,10 @@ z-index: 2000000000; } +.theme-dark #app-loading:after { + color: #FFF; +} + #app-loading-footer { position: absolute; text-align: center; diff --git a/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html b/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html index ada5f7ada6..5f08d3d4b6 100644 --- a/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html +++ b/ietf/templates/meeting/edit_meeting_timeslots_and_misc_sessions.html @@ -36,7 +36,7 @@ data-day="{{ day.day.isoformat }}"> {{ room.name }} - {% if room.capacity %}{{ room.capacity }}{% endif %} + {% if room.capacity %}{{ room.capacity }}{% endif %} diff --git a/ietf/templates/meeting/group_materials.html b/ietf/templates/meeting/group_materials.html index 095b0fb5da..52e77d83af 100644 --- a/ietf/templates/meeting/group_materials.html +++ b/ietf/templates/meeting/group_materials.html @@ -12,13 +12,13 @@ {{ entry.group.acronym }} {% if entry.group.state.slug == "bof" %} - {{ entry.group.state.slug|upper }} + {{ entry.group.state.slug|upper }} {% endif %} {% endif %} {% if entry.canceled %} - Session cancelled + Session cancelled {% else %} @@ -32,7 +32,7 @@ {% empty %} - {% if show_agenda == "True" %}No agenda{% endif %} + {% if show_agenda == "True" %}No agenda{% endif %} {% endfor %} @@ -42,7 +42,7 @@ {% empty %} - {% if show_agenda == "True" %}No minutes{% endif %} + {% if show_agenda == "True" %}No minutes{% endif %} {% endfor %} {% if entry.session.type_id == 'regular' and show_agenda == "True" %} {% for bluesheet in entry.bluesheets %} @@ -54,7 +54,7 @@ {% empty %} - No bluesheets + No bluesheets {% endfor %} {% endif %} @@ -67,7 +67,7 @@ {{ slide.material.title|clean_whitespace }} {% empty %} - No slides + No slides {% endfor %} @@ -81,7 +81,7 @@ {% empty %} - No Internet-Drafts + No Internet-Drafts {% endfor %} diff --git a/ietf/templates/meeting/group_proceedings.html b/ietf/templates/meeting/group_proceedings.html index d0a56b5b55..92fe04675a 100644 --- a/ietf/templates/meeting/group_proceedings.html +++ b/ietf/templates/meeting/group_proceedings.html @@ -11,14 +11,14 @@ {{ entry.group.acronym }} - {% if entry.group.state_id == "bof" %}BOF{% endif %} + {% if entry.group.state_id == "bof" %}BOF{% endif %} {% else %} {{ entry.group }} {% endif %} {% if entry.canceled %} - Session cancelled + Session cancelled {% else %} {# artifacts #} @@ -31,7 +31,7 @@ {{ entry.group }} {% empty %} {% if show_agenda and not meeting.proceedings_final %} - No agenda + No agenda {% endif %} {% endfor %} @@ -43,7 +43,7 @@ {{ entry.group }} {% empty %} {% if show_agenda and not meeting.proceedings_final %} - No minutes + No minutes {% endif %} {% endfor %} @@ -71,7 +71,7 @@ {{ entry.group }} {{ slide.material.title|clean_whitespace }} {% empty %} - {% if not meeting.proceedings_final %}No slides{% endif %} + {% if not meeting.proceedings_final %}No slides{% endif %} {% endfor %} {# drafts #} @@ -82,7 +82,7 @@ {{ entry.group }} {% empty %} - {% if not meeting.proceedings_final %}No Internet-Drafts{% endif %} + {% if not meeting.proceedings_final %}No Internet-Drafts{% endif %} {% endfor %} {% endif %} diff --git a/ietf/templates/meeting/interim_pending.html b/ietf/templates/meeting/interim_pending.html index 7fbc4347bc..b702f64582 100644 --- a/ietf/templates/meeting/interim_pending.html +++ b/ietf/templates/meeting/interim_pending.html @@ -31,11 +31,11 @@ Pending Interim Meetings {{ meeting.number }} - {% if meeting.interim_meeting_cancelled %}Cancelled{% endif %} + {% if meeting.interim_meeting_cancelled %}Cancelled{% endif %} - {% if meeting.can_approve %}Can be approved{% endif %} + {% if meeting.can_approve %}Can be approved{% endif %} {% endfor %} diff --git a/ietf/templates/meeting/materials.html b/ietf/templates/meeting/materials.html index 667ce72353..ff4964a973 100644 --- a/ietf/templates/meeting/materials.html +++ b/ietf/templates/meeting/materials.html @@ -190,6 +190,42 @@ {% endif %} + + {% if editorial %} + Editorial Stream + + + + + Group + + + Agenda + + + Minutes + + + Slides + + + Internet-Drafts + + + Updated + + {% if user|has_role:"Secretariat" or user_groups %} + + {% endif %} + + + + {% for entry in editorial %} + {% include "meeting/group_materials.html" %} + {% endfor %} + + + {% endif %} {% if other %} Other Miscellaneous other sessions diff --git a/ietf/templates/meeting/materials_editable_groups.html b/ietf/templates/meeting/materials_editable_groups.html index d91e6f2141..5c8645ecff 100644 --- a/ietf/templates/meeting/materials_editable_groups.html +++ b/ietf/templates/meeting/materials_editable_groups.html @@ -14,7 +14,7 @@ IETF {{ meeting_num }} meeting materials that you can edit {% if g|has_sessions:meeting_num %} {{ g.acronym }} {% else %} - {{ g.acronym }} No session requested + {{ g.acronym }} No session requested {% endif %} {% endfor %} diff --git a/ietf/templates/meeting/past.html b/ietf/templates/meeting/past.html index 6de44b80ba..2b92c311df 100644 --- a/ietf/templates/meeting/past.html +++ b/ietf/templates/meeting/past.html @@ -37,7 +37,7 @@ Past Meetings {% if meeting.type_id == "interim" %} {{ meeting.number }} - {% if meeting.interim_meeting_cancelled %}Cancelled{% endif %} + {% if meeting.interim_meeting_cancelled %}Cancelled{% endif %} {% else %} IETF-{{ meeting.number }} {% endif %} diff --git a/ietf/templates/meeting/proceedings.html b/ietf/templates/meeting/proceedings.html index 00ee18df62..b5d4a6198a 100644 --- a/ietf/templates/meeting/proceedings.html +++ b/ietf/templates/meeting/proceedings.html @@ -206,10 +206,40 @@ {% endif %} + + {% if editorial %} + Editorial Stream + + + + + Group + + + Artifacts + + + Recordings + + + Slides + + + Internet-Drafts + + + + + {% for entry in editorial %} + {% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %} + {% endfor %} + + + {% endif %} {% endif %} {% endcache %} {% endblock %} {% block js %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/ietf/templates/meeting/requests.html b/ietf/templates/meeting/requests.html index 7c70ee0b02..18d8c5cf8c 100644 --- a/ietf/templates/meeting/requests.html +++ b/ietf/templates/meeting/requests.html @@ -144,7 +144,7 @@ {% if not forloop.first %}{% endif %} - {{ session.current_status_name|capfirst }} + {{ session.current_status_name|capfirst }} @@ -155,7 +155,7 @@ {{ session.group.acronym }} {% if session.purpose_id != "regular" %} - {{session.purpose}} + {{session.purpose}} {% endif %} {% if session.joint_with_groups.count %}joint with {{ session.joint_with_groups_acronyms|join:' ' }}{% endif %} {% if session.requested_duration %} @@ -169,7 +169,7 @@ {% endif %} {% if session.group.state.slug != "active" %} - {{ session.group.state.name }} + {{ session.group.state.name }} {% endif %} diff --git a/ietf/templates/meeting/schedule_list.html b/ietf/templates/meeting/schedule_list.html index d85e770b25..1de121a6b1 100644 --- a/ietf/templates/meeting/schedule_list.html +++ b/ietf/templates/meeting/schedule_list.html @@ -70,16 +70,16 @@ {{ label }} {{ schedule.notes|linebreaksbr }} {% if schedule.visible %} - Visible + Visible {% else %} - Hidden + Hidden {% endif %} {% if schedule.public %} - Public + Public {% else %} - Private + Private {% endif %} diff --git a/ietf/templates/meeting/session_details_panel.html b/ietf/templates/meeting/session_details_panel.html index 855fc60cf4..3a10f317a2 100644 --- a/ietf/templates/meeting/session_details_panel.html +++ b/ietf/templates/meeting/session_details_panel.html @@ -21,7 +21,7 @@ {% if time.tzinfo.zone != "UTC" %}({{ time|utc|dateformat:"H:i T" }}){% endif %} {% endfor %} {% if session.cancelled %} - Cancelled + Cancelled {% else %} {{ session.status }} {% endif %} diff --git a/ietf/templates/meeting/session_materials.html b/ietf/templates/meeting/session_materials.html index 198bb1140b..40d02fb63b 100644 --- a/ietf/templates/meeting/session_materials.html +++ b/ietf/templates/meeting/session_materials.html @@ -18,10 +18,10 @@ Agenda {% else %} - Agenda submitted as {{ agenda.file_extension|upper }} + Agenda submitted as {{ agenda.file_extension|upper }} {% endif %} {% else %} - No agenda submitted + No agenda submitted {% endif %} {% endwith %} {% if item.session.slides %} @@ -41,10 +41,10 @@ Slides Minutes {% else %} - Minutes submitted as {{ minutes.file_extension|upper }} + Minutes submitted as {{ minutes.file_extension|upper }} {% endif %} {% else %} - No minutes submitted + No minutes submitted {% endif %} {% endwith %} diff --git a/ietf/templates/meeting/upcoming.html b/ietf/templates/meeting/upcoming.html index 815698dbfd..802b1b03ca 100644 --- a/ietf/templates/meeting/upcoming.html +++ b/ietf/templates/meeting/upcoming.html @@ -86,7 +86,7 @@ Upcoming Meetings {% if session.current_status == 'canceled' %} - Cancelled + Cancelled {% else %} {% include "meeting/interim_session_buttons.html" with show_agenda=True use_notes=meeting.uses_notes %} @@ -94,7 +94,7 @@ Upcoming Meetings {% endwith %} {% else %} - Unexpected entry type: {{ entry|classname }} + Unexpected entry type: {{ entry|classname }} diff --git a/ietf/templates/nomcom/feedback.html b/ietf/templates/nomcom/feedback.html index 2ab8d5e0df..4ef18fc5fd 100644 --- a/ietf/templates/nomcom/feedback.html +++ b/ietf/templates/nomcom/feedback.html @@ -41,7 +41,7 @@ {{ p.name }} {% with count=counts|lookup:np.position.id|lookup:np.nominee.id %} title="{% if count %}{{ count }} earlier comment{{ count|pluralize }} from you {% else %}You have not yet provided feedback {% endif %} on {{ np.nominee.email.address }} as {{ np.position }}"> {{ np.nominee.name }} - + {{ count | default:"0" }} {% endwith %} @@ -60,7 +60,7 @@ Topics title="{% if count %}{{ count }} earlier comment{{ count|pluralize }} from you {% else %}You have not yet provided feedback {% endif %} on {{ t.subject }}"> {{ t.subject }} {% with count=topic_counts|lookup:t.id %} - + {{ count | default:"0" }} {% endwith %} diff --git a/ietf/templates/nomcom/nomcom_private_base.html b/ietf/templates/nomcom/nomcom_private_base.html index dcf1edc971..7f78299154 100644 --- a/ietf/templates/nomcom/nomcom_private_base.html +++ b/ietf/templates/nomcom/nomcom_private_base.html @@ -11,7 +11,7 @@ {% origin %} NomCom {{ year }} - {% if nomcom.group.state_id == 'conclude' %}Concluded{% endif %} + {% if nomcom.group.state_id == 'conclude' %}Concluded{% endif %} Private area {% if is_chair_task %}- Chair/Advisors only{% endif %} @@ -55,7 +55,7 @@ Pending emails - {% if nomcom.pending_email_count %}{{ nomcom.pending_email_count }}{% endif %} + {% if nomcom.pending_email_count %}{{ nomcom.pending_email_count }}{% endif %} diff --git a/ietf/templates/nomcom/nomcom_public_base.html b/ietf/templates/nomcom/nomcom_public_base.html index 9e575a59e3..d369b28fc9 100644 --- a/ietf/templates/nomcom/nomcom_public_base.html +++ b/ietf/templates/nomcom/nomcom_public_base.html @@ -11,7 +11,7 @@ {% origin %} NomCom {{ year }} - {% if nomcom.group.state_id == 'conclude' %}Concluded{% endif %} + {% if nomcom.group.state_id == 'conclude' %}Concluded{% endif %} diff --git a/ietf/templates/nomcom/reclassify_feedback_item.html b/ietf/templates/nomcom/reclassify_feedback_item.html new file mode 100644 index 0000000000..efa71dc104 --- /dev/null +++ b/ietf/templates/nomcom/reclassify_feedback_item.html @@ -0,0 +1,103 @@ +{# Copyright The IETF Trust 2023, All Rights Reserved #} +{% load nomcom_tags textfilters %} + Reclassify feedback item + + {% csrf_token %} + + + + Code + Explanation + + + + + U + Unclassified + + {% for ft in feedback_types %} + + {{ ft.legend }} + {{ ft.name }} + + {% endfor %} + + + + + + Date + U + {% for ft in feedback_types %} + {{ ft.legend }} + {% endfor %} + Author + Subject + + + + + + + {{ reclassify_feedback.time|date:"r" }} + + + + {% for ft in feedback_types %} + + + + {% endfor %} + {{ reclassify_feedback.author }} + {{ reclassify_feedback.subject }} + + + View + + + + + + {{ reclassify_feedback.subject }} + + + + {% decrypt reclassify_feedback.comments request year 1 %} + + + + + + + + + + + Classify + diff --git a/ietf/templates/nomcom/view_feedback.html b/ietf/templates/nomcom/view_feedback.html index d1b7f77e4c..7506c35042 100644 --- a/ietf/templates/nomcom/view_feedback.html +++ b/ietf/templates/nomcom/view_feedback.html @@ -47,7 +47,7 @@ Declined each nominated position {% for fbtype_name, fbtype_count, fbtype_newflag in fb_dict.feedback %} - {% if fbtype_newflag %}New{% endif %} + {% if fbtype_newflag %}New{% endif %} {{ fbtype_count }} {% endfor %} @@ -86,7 +86,7 @@ Feedback related to topics {% for fbtype_name, fbtype_count, fbtype_newflag in fb_dict.feedback %} - {% if fbtype_newflag %}New{% endif %} + {% if fbtype_newflag %}New{% endif %} {{ fbtype_count }} {% endfor %} diff --git a/ietf/templates/nomcom/view_feedback_nominee.html b/ietf/templates/nomcom/view_feedback_nominee.html index 7ead9f477a..0e8c043721 100644 --- a/ietf/templates/nomcom/view_feedback_nominee.html +++ b/ietf/templates/nomcom/view_feedback_nominee.html @@ -1,10 +1,13 @@ {% extends "nomcom/nomcom_private_base.html" %} -{# Copyright The IETF Trust 2015, All Rights Reserved #} +{# Copyright The IETF Trust 2015-2023, All Rights Reserved #} {% load origin %} {% load nomcom_tags textfilters %} {% block subtitle %}- View feedback about {{ nominee.email.person.name }}{% endblock %} {% block nomcom_content %} - {% origin %} +{% origin %} +{% if reclassify_feedback %} + {% include "nomcom/reclassify_feedback_item.html" %} +{% else %} Feedback about {{ nominee }} {% for ft in feedback_types %} @@ -26,13 +29,13 @@ Feedback about {{ nominee }} {% if feedback.type.slug == ft.slug %} - {% if feedback.time > last_seen_time %}New{% endif %} + {% if feedback.time > last_seen_time %}New{% endif %} From {{ feedback.author|formatted_email|default:"Anonymous"|linkify }} {% if ft.slug == "nomina" and feedback.nomination_set.first.share_nominator %} - OK to share name with nominee + OK to share name with nominee {% endif %} @@ -81,6 +84,19 @@ Feedback about {{ nominee }} {% decrypt feedback.comments request year 1 %} + {% if user|is_chair_or_advisor:year %} + + + {% csrf_token %} + + + Reclassify + + + + + + {% endif %} {% if not forloop.last %}{% endif %} {% endif %} @@ -90,6 +106,7 @@ Feedback about {{ nominee }} Back +{% endif %} {% endblock %} {% block js %}
This Internet-Draft is no longer active. A copy of the expired Internet-Draft is available in these formats:
{{ r.comment }}
+
Has already been assigned a document within the given interval.
@@ -44,89 +44,102 @@
{{ person.settings.filter_re|truncatechars:15 }}
, which is illegal. Need to rework the snippeting. #} {{ e.message|render_message_for_history|urlize_ietf_docs|linkify }} {% else %} diff --git a/ietf/templates/ipr/search_doc_result.html b/ietf/templates/ipr/search_doc_result.html index 484027094a..ff16524739 100644 --- a/ietf/templates/ipr/search_doc_result.html +++ b/ietf/templates/ipr/search_doc_result.html @@ -28,7 +28,7 @@ {{ ipr.time|date:"Y-m-d" }} {{ ipr.id }} - {{ ipr.title }}{% if ipr.state_id == 'removed' %}Removed{% endif %} + {{ ipr.title }}{% if ipr.state_id == 'removed' %}Removed{% endif %} {% if ipr.updates %} (Updates ID#: {% for upd in ipr.updates %}{{upd.target_id}}{% if not forloop.last %}, {% endif %}{% endfor %}){% endif %} @@ -57,7 +57,7 @@ {% for doc in docs %} - + Results for {{ doc.name|prettystdname|urlize_ietf_docs }} ("{{ doc.document.title }}"){% if not forloop.first %}{% if doc.related %}, which was {{ doc.relation|lower }} {{ doc.related.source|prettystdname|urlize_ietf_docs }} ("{{ doc.related.source.title }}"){% endif %}{% endif %} diff --git a/ietf/templates/ipr/search_doctitle_result.html b/ietf/templates/ipr/search_doctitle_result.html index b7a8a8b31e..7adbc9e9d5 100644 --- a/ietf/templates/ipr/search_doctitle_result.html +++ b/ietf/templates/ipr/search_doctitle_result.html @@ -27,7 +27,7 @@ {% for alias in docs %} - + IPR that is related to {{ alias.name|prettystdname:""|urlize_ietf_docs }} ("{{ alias.document.title }}") {% if alias.related %} that was {{ alias.relation|lower }} {{ alias.related.source.name|prettystdname:""|urlize_ietf_docs }} ("{{ alias.related.source.title }}") diff --git a/ietf/templates/ipr/search_result.html b/ietf/templates/ipr/search_result.html index a104e45c07..450ede9513 100644 --- a/ietf/templates/ipr/search_result.html +++ b/ietf/templates/ipr/search_result.html @@ -43,7 +43,7 @@ {% endifchanged %} {% endif %} - + {% block intro_prefix %}IPR that was submitted by "{{ q }}" and{% endblock %} {% block related %} @@ -100,4 +100,4 @@ {% block js %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/ipr/search_wg_result.html b/ietf/templates/ipr/search_wg_result.html index ae477a2699..6912e88138 100644 --- a/ietf/templates/ipr/search_wg_result.html +++ b/ietf/templates/ipr/search_wg_result.html @@ -22,7 +22,7 @@
{{ e.message|render_message_for_history|urlize_ietf_docs|linkify }}
{{ reclassify_feedback.subject }}
{% decrypt reclassify_feedback.comments request year 1 %}
{% decrypt feedback.comments request year 1 %}