diff --git a/.github/workflows/build-base-app.yml b/.github/workflows/build-base-app.yml index 075468157..161752cb5 100644 --- a/.github/workflows/build-base-app.yml +++ b/.github/workflows/build-base-app.yml @@ -20,20 +20,20 @@ jobs: - uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Docker Build & Push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . file: docker/base.Dockerfile diff --git a/.github/workflows/build-celery-worker.yml b/.github/workflows/build-celery-worker.yml index 1d29d8cd0..9c37d02ce 100644 --- a/.github/workflows/build-celery-worker.yml +++ b/.github/workflows/build-celery-worker.yml @@ -22,20 +22,20 @@ jobs: - uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Docker Build & Push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . file: dev/celery/Dockerfile diff --git a/.github/workflows/build-mq-broker.yml b/.github/workflows/build-mq-broker.yml index 54b5fb37e..ba935405f 100644 --- a/.github/workflows/build-mq-broker.yml +++ b/.github/workflows/build-mq-broker.yml @@ -24,20 +24,20 @@ jobs: - uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Docker Build & Push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . file: dev/mq/Dockerfile diff --git a/.github/workflows/dev-assets-sync-nightly.yml b/.github/workflows/dev-assets-sync-nightly.yml index e32e048c6..bfb50bd41 100644 --- a/.github/workflows/dev-assets-sync-nightly.yml +++ b/.github/workflows/dev-assets-sync-nightly.yml @@ -32,14 +32,14 @@ jobs: - uses: actions/checkout@v4 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Docker Build & Push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . file: dev/shared-assets-sync/Dockerfile diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9fa7e6524..b31feadb0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -45,9 +45,9 @@ jobs: echo "Running tests..." if [[ "x${{ github.event.inputs.ignoreLowerCoverage }}" == "xtrue" ]]; then echo "Lower coverage failures will be ignored." - ./ietf/manage.py test --validate-html-harder --settings=settings_test --ignore-lower-coverage + ./ietf/manage.py test -v2 --validate-html-harder --settings=settings_test --ignore-lower-coverage else - ./ietf/manage.py test --validate-html-harder --settings=settings_test + ./ietf/manage.py test -v2 --validate-html-harder --settings=settings_test fi coverage xml diff --git a/.pnp.cjs b/.pnp.cjs index 6c86c1d9b..a0a78d10e 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -39,7 +39,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ + ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@parcel/optimizer-data-url", "npm:2.9.3"],\ @@ -48,25 +48,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@popperjs/core", "npm:2.11.8"],\ ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\ ["@twuni/emojify", "npm:1.0.2"],\ - ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3"],\ - ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1"],\ - ["bootstrap-icons", "npm:1.10.5"],\ - ["browser-fs-access", "npm:0.34.1"],\ + ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\ + ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\ + ["bootstrap-icons", "npm:1.11.1"],\ + ["browser-fs-access", "npm:0.35.0"],\ ["browserlist", "npm:1.0.1"],\ ["c8", "npm:8.0.1"],\ - ["caniuse-lite", "npm:1.0.30001519"],\ + ["caniuse-lite", "npm:1.0.30001538"],\ ["d3", "npm:7.8.5"],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.1.0"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\ ["file-saver", "npm:2.0.5"],\ ["highcharts", "npm:11.1.0"],\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\ ["ical.js", "npm:1.5.0"],\ ["jquery", "npm:3.7.1"],\ ["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.1"],\ @@ -74,7 +74,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["list.js", "npm:2.3.1"],\ ["lodash", "npm:4.17.21"],\ ["lodash-es", "npm:4.17.21"],\ - ["luxon", "npm:3.4.0"],\ + ["luxon", "npm:3.4.3"],\ ["moment", "npm:2.29.4"],\ ["moment-timezone", "npm:0.5.43"],\ ["ms", "npm:2.1.3"],\ @@ -84,7 +84,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pug", "npm:3.0.2"],\ - ["sass", "npm:1.66.1"],\ + ["sass", "npm:1.67.0"],\ ["seedrandom", "npm:3.0.5"],\ ["select2", "npm:4.1.0-rc.0"],\ ["select2-bootstrap-5-theme", "npm:1.3.0"],\ @@ -438,12 +438,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-01223f6a8e/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ + ["virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-3145c9a18a/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\ + ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-visitor-keys", "npm:3.3.0"]\ ],\ "packagePeers": [\ @@ -488,10 +488,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@eslint/js", [\ - ["npm:8.48.0", {\ - "packageLocation": "./.yarn/cache/@eslint-js-npm-8.48.0-cee42a7097-b2755f9c0e.zip/node_modules/@eslint/js/",\ + ["npm:8.49.0", {\ + "packageLocation": "./.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip/node_modules/@eslint/js/",\ "packageDependencies": [\ - ["@eslint/js", "npm:8.48.0"]\ + ["@eslint/js", "npm:8.49.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -651,21 +651,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/luxon3", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip/node_modules/@fullcalendar/luxon3/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip/node_modules/@fullcalendar/luxon3/",\ "packageDependencies": [\ - ["@fullcalendar/luxon3", "npm:6.1.8"]\ + ["@fullcalendar/luxon3", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon3-virtual-3a7af6083c/0/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip/node_modules/@fullcalendar/luxon3/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon3-virtual-2026214153/0/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip/node_modules/@fullcalendar/luxon3/",\ "packageDependencies": [\ - ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ + ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ ["@fullcalendar/core", "npm:6.1.8"],\ ["@types/fullcalendar__core", null],\ ["@types/luxon", null],\ - ["luxon", "npm:3.4.0"]\ + ["luxon", "npm:3.4.3"]\ ],\ "packagePeers": [\ "@fullcalendar/core",\ @@ -745,10 +745,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@humanwhocodes/config-array", [\ - ["npm:0.11.10", {\ - "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zip/node_modules/@humanwhocodes/config-array/",\ + ["npm:0.11.11", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.11-e3582554ee-db84507375.zip/node_modules/@humanwhocodes/config-array/",\ "packageDependencies": [\ - ["@humanwhocodes/config-array", "npm:0.11.10"],\ + ["@humanwhocodes/config-array", "npm:0.11.11"],\ ["@humanwhocodes/object-schema", "npm:1.2.1"],\ ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ ["minimatch", "npm:3.1.2"]\ @@ -2389,10 +2389,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:0f17270113a645b9ccd471681c6953a9ecf2cc875b79eb96d26d7cb579b1f042c2aaab59d6799ee85bf4e9b312f464a118c211e37c33fa47b3e11095c49e32d7#npm:2.0.0", {\ - "packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-148105bc23/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\ + ["virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-0c74a59d49/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\ "packageDependencies": [\ - ["@sidvind/better-ajv-errors", "virtual:0f17270113a645b9ccd471681c6953a9ecf2cc875b79eb96d26d7cb579b1f042c2aaab59d6799ee85bf4e9b312f464a118c211e37c33fa47b3e11095c49e32d7#npm:2.0.0"],\ + ["@sidvind/better-ajv-errors", "virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0"],\ ["@babel/code-frame", "npm:7.16.7"],\ ["@types/ajv", null],\ ["ajv", "npm:8.11.0"],\ @@ -2638,17 +2638,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vitejs/plugin-vue", [\ - ["npm:4.3.3", {\ - "packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip/node_modules/@vitejs/plugin-vue/",\ + ["npm:4.3.4", {\ + "packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip/node_modules/@vitejs/plugin-vue/",\ "packageDependencies": [\ - ["@vitejs/plugin-vue", "npm:4.3.3"]\ + ["@vitejs/plugin-vue", "npm:4.3.4"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3", {\ - "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-c26a0d639a/0/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip/node_modules/@vitejs/plugin-vue/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-d66cb5aa6a/0/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip/node_modules/@vitejs/plugin-vue/",\ "packageDependencies": [\ - ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3"],\ + ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\ ["@types/vite", null],\ ["@types/vue", null],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9"],\ @@ -3191,10 +3191,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:5.3.1", {\ - "packageLocation": "./.yarn/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip/node_modules/bootstrap/",\ + ["npm:5.3.2", {\ + "packageLocation": "./.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip/node_modules/bootstrap/",\ "packageDependencies": [\ - ["bootstrap", "npm:5.3.1"]\ + ["bootstrap", "npm:5.3.2"]\ ],\ "linkType": "SOFT"\ }],\ @@ -3211,10 +3211,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1", {\ - "packageLocation": "./.yarn/__virtual__/bootstrap-virtual-94a6bfc3bc/0/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip/node_modules/bootstrap/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2", {\ + "packageLocation": "./.yarn/__virtual__/bootstrap-virtual-b366fabcb3/0/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip/node_modules/bootstrap/",\ "packageDependencies": [\ - ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1"],\ + ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\ ["@popperjs/core", "npm:2.11.8"],\ ["@types/popperjs__core", null]\ ],\ @@ -3226,10 +3226,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["bootstrap-icons", [\ - ["npm:1.10.5", {\ - "packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip/node_modules/bootstrap-icons/",\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.11.1-9f55aea76a-d78ff24a83.zip/node_modules/bootstrap-icons/",\ "packageDependencies": [\ - ["bootstrap-icons", "npm:1.10.5"]\ + ["bootstrap-icons", "npm:1.11.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -3264,10 +3264,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["browser-fs-access", [\ - ["npm:0.34.1", {\ - "packageLocation": "./.yarn/cache/browser-fs-access-npm-0.34.1-7fcd7d9328-339865241c.zip/node_modules/browser-fs-access/",\ + ["npm:0.35.0", {\ + "packageLocation": "./.yarn/cache/browser-fs-access-npm-0.35.0-1577b5a7ba-5f3bf1ec17.zip/node_modules/browser-fs-access/",\ "packageDependencies": [\ - ["browser-fs-access", "npm:0.34.1"]\ + ["browser-fs-access", "npm:0.35.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -3382,10 +3382,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.0.30001519", {\ - "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001519-1d6b5bc825-66085133ed.zip/node_modules/caniuse-lite/",\ + ["npm:1.0.30001538", {\ + "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip/node_modules/caniuse-lite/",\ "packageDependencies": [\ - ["caniuse-lite", "npm:1.0.30001519"]\ + ["caniuse-lite", "npm:1.0.30001538"]\ ],\ "linkType": "HARD"\ }]\ @@ -4630,15 +4630,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint", [\ - ["npm:8.48.0", {\ - "packageLocation": "./.yarn/cache/eslint-npm-8.48.0-0dd1c36629-f20b359a4f.zip/node_modules/eslint/",\ + ["npm:8.49.0", {\ + "packageLocation": "./.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip/node_modules/eslint/",\ "packageDependencies": [\ - ["eslint", "npm:8.48.0"],\ - ["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\ + ["eslint", "npm:8.49.0"],\ + ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ ["@eslint-community/regexpp", "npm:4.8.0"],\ ["@eslint/eslintrc", "npm:2.1.2"],\ - ["@eslint/js", "npm:8.48.0"],\ - ["@humanwhocodes/config-array", "npm:0.11.10"],\ + ["@eslint/js", "npm:8.49.0"],\ + ["@humanwhocodes/config-array", "npm:0.11.11"],\ ["@humanwhocodes/module-importer", "npm:1.0.1"],\ ["@nodelib/fs.walk", "npm:1.2.8"],\ ["ajv", "npm:6.12.6"],\ @@ -4691,9 +4691,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/eslint-plugin-import", null],\ ["@types/eslint-plugin-n", null],\ ["@types/eslint-plugin-promise", null],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"]\ ],\ "packagePeers": [\ @@ -4740,7 +4740,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/typescript-eslint__parser", null],\ ["@typescript-eslint/parser", null],\ ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-import-resolver-node", "npm:0.3.7"],\ ["eslint-import-resolver-typescript", null],\ ["eslint-import-resolver-webpack", null]\ @@ -4773,7 +4773,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["globals", "npm:13.21.0"]\ ],\ "packagePeers": [\ @@ -4796,7 +4796,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-utils", "npm:2.1.0"],\ ["regexpp", "npm:3.2.0"]\ ],\ @@ -4815,14 +4815,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:40d6f5c942a7ef0ae65f54bca96af56e7db0d52fb7321d7f8d1da62ed519e1f8c80fdfb1299383ab8a4a5e7182ecc1d4bae33d806b79817d62ed4ad091e77615#npm:7.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-es-x-virtual-3346953c48/0/cache/eslint-plugin-es-x-npm-7.1.0-35735e8bbc-a19924313c.zip/node_modules/eslint-plugin-es-x/",\ + ["virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-es-x-virtual-276ea3759f/0/cache/eslint-plugin-es-x-npm-7.1.0-35735e8bbc-a19924313c.zip/node_modules/eslint-plugin-es-x/",\ "packageDependencies": [\ - ["eslint-plugin-es-x", "virtual:40d6f5c942a7ef0ae65f54bca96af56e7db0d52fb7321d7f8d1da62ed519e1f8c80fdfb1299383ab8a4a5e7182ecc1d4bae33d806b79817d62ed4ad091e77615#npm:7.1.0"],\ - ["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\ + ["eslint-plugin-es-x", "virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0"],\ + ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ ["@eslint-community/regexpp", "npm:4.5.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"]\ + ["eslint", "npm:8.49.0"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4852,7 +4852,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["array.prototype.flatmap", "npm:1.3.1"],\ ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ ["doctrine", "npm:2.1.0"],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-import-resolver-node", "npm:0.3.7"],\ ["eslint-module-utils", "virtual:ef2ff17f0affe5aeeb05f2e27f2212e975bb78d898c026b74cc62e05a17de36abb35a54f0831f2ff5fced26e6128bfc2c0cf332f7c60149823619b008d0ea480#npm:2.8.0"],\ ["has", "npm:1.0.3"],\ @@ -4875,22 +4875,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint-plugin-n", [\ - ["npm:16.0.2", {\ - "packageLocation": "./.yarn/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip/node_modules/eslint-plugin-n/",\ + ["npm:16.1.0", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip/node_modules/eslint-plugin-n/",\ "packageDependencies": [\ - ["eslint-plugin-n", "npm:16.0.2"]\ + ["eslint-plugin-n", "npm:16.1.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-40d6f5c942/0/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip/node_modules/eslint-plugin-n/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-9781ae938b/0/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip/node_modules/eslint-plugin-n/",\ "packageDependencies": [\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\ - ["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ + ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ ["@types/eslint", null],\ ["builtins", "npm:5.0.1"],\ - ["eslint", "npm:8.48.0"],\ - ["eslint-plugin-es-x", "virtual:40d6f5c942a7ef0ae65f54bca96af56e7db0d52fb7321d7f8d1da62ed519e1f8c80fdfb1299383ab8a4a5e7182ecc1d4bae33d806b79817d62ed4ad091e77615#npm:7.1.0"],\ + ["eslint", "npm:8.49.0"],\ + ["eslint-plugin-es-x", "virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0"],\ + ["get-tsconfig", "npm:4.7.2"],\ ["ignore", "npm:5.2.4"],\ ["is-core-module", "npm:2.12.1"],\ ["minimatch", "npm:3.1.2"],\ @@ -4917,7 +4918,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\ ["eslint-utils", "npm:2.1.0"],\ ["ignore", "npm:5.2.0"],\ @@ -4945,7 +4946,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"]\ + ["eslint", "npm:8.49.0"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4966,9 +4967,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-e39e5d6bef/0/cache/eslint-plugin-vue-npm-9.17.0-c32115eab8-2ef53a0387.zip/node_modules/eslint-plugin-vue/",\ "packageDependencies": [\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\ - ["@eslint-community/eslint-utils", "virtual:0dd1c3662912d25464a284caa5dbde8cc315ca056be4ded44d6f67e20c4895461cf49fc7bff27c35f254bdb0924477031e3e50d50a333908daaff17dcf43b01d#npm:4.4.0"],\ + ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["natural-compare", "npm:1.4.0"],\ ["nth-check", "npm:2.1.1"],\ ["postcss-selector-parser", "npm:6.0.13"],\ @@ -5420,6 +5421,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["get-tsconfig", [\ + ["npm:4.7.2", {\ + "packageLocation": "./.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip/node_modules/get-tsconfig/",\ + "packageDependencies": [\ + ["get-tsconfig", "npm:4.7.2"],\ + ["resolve-pkg-maps", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["glob", [\ ["npm:10.2.4", {\ "packageLocation": "./.yarn/cache/glob-npm-10.2.4-49f715fccc-29845faaa1.zip/node_modules/glob/",\ @@ -5651,20 +5662,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["html-validate", [\ - ["npm:8.3.0", {\ - "packageLocation": "./.yarn/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip/node_modules/html-validate/",\ + ["npm:8.4.0", {\ + "packageLocation": "./.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip/node_modules/html-validate/",\ "packageDependencies": [\ - ["html-validate", "npm:8.3.0"]\ + ["html-validate", "npm:8.4.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0", {\ - "packageLocation": "./.yarn/__virtual__/html-validate-virtual-0f17270113/0/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip/node_modules/html-validate/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0", {\ + "packageLocation": "./.yarn/__virtual__/html-validate-virtual-baa02fb51e/0/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip/node_modules/html-validate/",\ "packageDependencies": [\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\ ["@babel/code-frame", "npm:7.16.7"],\ ["@html-validate/stylish", "npm:4.1.0"],\ - ["@sidvind/better-ajv-errors", "virtual:0f17270113a645b9ccd471681c6953a9ecf2cc875b79eb96d26d7cb579b1f042c2aaab59d6799ee85bf4e9b312f464a118c211e37c33fa47b3e11095c49e32d7#npm:2.0.0"],\ + ["@sidvind/better-ajv-errors", "virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0"],\ ["@types/jest", null],\ ["@types/jest-diff", null],\ ["@types/jest-snapshot", null],\ @@ -6701,10 +6712,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["luxon", [\ - ["npm:3.4.0", {\ - "packageLocation": "./.yarn/cache/luxon-npm-3.4.0-8e0b97226e-ca9b6d0e0a.zip/node_modules/luxon/",\ + ["npm:3.4.3", {\ + "packageLocation": "./.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip/node_modules/luxon/",\ "packageDependencies": [\ - ["luxon", "npm:3.4.0"]\ + ["luxon", "npm:3.4.3"]\ ],\ "linkType": "HARD"\ }]\ @@ -8043,6 +8054,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["resolve-pkg-maps", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip/node_modules/resolve-pkg-maps/",\ + "packageDependencies": [\ + ["resolve-pkg-maps", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["retry", [\ ["npm:0.12.0", {\ "packageLocation": "./.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip/node_modules/retry/",\ @@ -8101,7 +8121,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ + ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ ["@parcel/optimizer-data-url", "npm:2.9.3"],\ @@ -8110,25 +8130,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@popperjs/core", "npm:2.11.8"],\ ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\ ["@twuni/emojify", "npm:1.0.2"],\ - ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.3"],\ - ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.1"],\ - ["bootstrap-icons", "npm:1.10.5"],\ - ["browser-fs-access", "npm:0.34.1"],\ + ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\ + ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\ + ["bootstrap-icons", "npm:1.11.1"],\ + ["browser-fs-access", "npm:0.35.0"],\ ["browserlist", "npm:1.0.1"],\ ["c8", "npm:8.0.1"],\ - ["caniuse-lite", "npm:1.0.30001519"],\ + ["caniuse-lite", "npm:1.0.30001538"],\ ["d3", "npm:7.8.5"],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.1.0"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.0.2"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\ ["file-saver", "npm:2.0.5"],\ ["highcharts", "npm:11.1.0"],\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.3.0"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\ ["ical.js", "npm:1.5.0"],\ ["jquery", "npm:3.7.1"],\ ["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.1"],\ @@ -8136,7 +8156,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["list.js", "npm:2.3.1"],\ ["lodash", "npm:4.17.21"],\ ["lodash-es", "npm:4.17.21"],\ - ["luxon", "npm:3.4.0"],\ + ["luxon", "npm:3.4.3"],\ ["moment", "npm:2.29.4"],\ ["moment-timezone", "npm:0.5.43"],\ ["ms", "npm:2.1.3"],\ @@ -8146,7 +8166,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pug", "npm:3.0.2"],\ - ["sass", "npm:1.66.1"],\ + ["sass", "npm:1.67.0"],\ ["seedrandom", "npm:3.0.5"],\ ["select2", "npm:4.1.0-rc.0"],\ ["select2-bootstrap-5-theme", "npm:1.3.0"],\ @@ -8243,10 +8263,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.66.1", {\ - "packageLocation": "./.yarn/cache/sass-npm-1.66.1-563acb4a8f-74fc11d0fc.zip/node_modules/sass/",\ + ["npm:1.67.0", {\ + "packageLocation": "./.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip/node_modules/sass/",\ "packageDependencies": [\ - ["sass", "npm:1.66.1"],\ + ["sass", "npm:1.67.0"],\ ["chokidar", "npm:3.5.3"],\ ["immutable", "npm:4.0.0"],\ ["source-map-js", "npm:1.0.2"]\ @@ -9029,7 +9049,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lightningcss", null],\ ["postcss", "npm:8.4.27"],\ ["rollup", "npm:3.28.0"],\ - ["sass", "npm:1.66.1"],\ + ["sass", "npm:1.67.0"],\ ["stylus", null],\ ["sugarss", null],\ ["terser", null]\ @@ -9162,7 +9182,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["vue-eslint-parser", "virtual:e39e5d6bef7a93bd3b21c5c9ba6ef825c92fc73c8d9c9e01699e1dc11e40fd3bc150ba16509e2cf59495cb098c32b2e4a85c0c21802fddeffc3208b01f4f5a16#npm:9.3.1"],\ ["@types/eslint", null],\ ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ - ["eslint", "npm:8.48.0"],\ + ["eslint", "npm:8.49.0"],\ ["eslint-scope", "npm:7.1.1"],\ ["eslint-visitor-keys", "npm:3.3.0"],\ ["espree", "npm:9.3.2"],\ diff --git a/.yarn/cache/@eslint-js-npm-8.48.0-cee42a7097-b2755f9c0e.zip b/.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip similarity index 88% rename from .yarn/cache/@eslint-js-npm-8.48.0-cee42a7097-b2755f9c0e.zip rename to .yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip index fc4909569..f0acb5bec 100644 Binary files a/.yarn/cache/@eslint-js-npm-8.48.0-cee42a7097-b2755f9c0e.zip and b/.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip differ diff --git a/.yarn/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip b/.yarn/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip similarity index 63% rename from .yarn/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip rename to .yarn/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip index 873248791..097ca2265 100644 Binary files a/.yarn/cache/@fullcalendar-luxon3-npm-6.1.8-7f233a53e1-7e84200641.zip and b/.yarn/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip differ diff --git a/.yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zip b/.yarn/cache/@humanwhocodes-config-array-npm-0.11.11-e3582554ee-db84507375.zip similarity index 51% rename from .yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zip rename to .yarn/cache/@humanwhocodes-config-array-npm-0.11.11-e3582554ee-db84507375.zip index 3970ef9bc..2409a83fb 100644 Binary files a/.yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zip and b/.yarn/cache/@humanwhocodes-config-array-npm-0.11.11-e3582554ee-db84507375.zip differ diff --git a/.yarn/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip b/.yarn/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip deleted file mode 100644 index 4f77fdcf5..000000000 Binary files a/.yarn/cache/@vitejs-plugin-vue-npm-4.3.3-ffc8f9f2ac-17f8d73708.zip and /dev/null differ diff --git a/.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip b/.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip new file mode 100644 index 000000000..b1ce0622c Binary files /dev/null and b/.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip differ diff --git a/.yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip b/.yarn/cache/bootstrap-icons-npm-1.11.1-9f55aea76a-d78ff24a83.zip similarity index 53% rename from .yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip rename to .yarn/cache/bootstrap-icons-npm-1.11.1-9f55aea76a-d78ff24a83.zip index 5aef05dd9..8124ba656 100644 Binary files a/.yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip and b/.yarn/cache/bootstrap-icons-npm-1.11.1-9f55aea76a-d78ff24a83.zip differ diff --git a/.yarn/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip b/.yarn/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip deleted file mode 100644 index c2b3c9f08..000000000 Binary files a/.yarn/cache/bootstrap-npm-5.3.1-9ad45c2765-f8176376aa.zip and /dev/null differ diff --git a/.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip b/.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip new file mode 100644 index 000000000..a575a5246 Binary files /dev/null and b/.yarn/cache/bootstrap-npm-5.3.2-20b391b636-d5580b253d.zip differ diff --git a/.yarn/cache/browser-fs-access-npm-0.34.1-7fcd7d9328-339865241c.zip b/.yarn/cache/browser-fs-access-npm-0.35.0-1577b5a7ba-5f3bf1ec17.zip similarity index 59% rename from .yarn/cache/browser-fs-access-npm-0.34.1-7fcd7d9328-339865241c.zip rename to .yarn/cache/browser-fs-access-npm-0.35.0-1577b5a7ba-5f3bf1ec17.zip index 0f27ba993..2202ffed8 100644 Binary files a/.yarn/cache/browser-fs-access-npm-0.34.1-7fcd7d9328-339865241c.zip and b/.yarn/cache/browser-fs-access-npm-0.35.0-1577b5a7ba-5f3bf1ec17.zip differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001519-1d6b5bc825-66085133ed.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001519-1d6b5bc825-66085133ed.zip deleted file mode 100644 index d3c87e0da..000000000 Binary files a/.yarn/cache/caniuse-lite-npm-1.0.30001519-1d6b5bc825-66085133ed.zip and /dev/null differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip new file mode 100644 index 000000000..12c494fb8 Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip differ diff --git a/.yarn/cache/eslint-npm-8.48.0-0dd1c36629-f20b359a4f.zip b/.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip similarity index 87% rename from .yarn/cache/eslint-npm-8.48.0-0dd1c36629-f20b359a4f.zip rename to .yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip index 2c89acd4f..352a7a159 100644 Binary files a/.yarn/cache/eslint-npm-8.48.0-0dd1c36629-f20b359a4f.zip and b/.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip differ diff --git a/.yarn/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip b/.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip similarity index 79% rename from .yarn/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip rename to .yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip index 5060bb812..3fcacfa6d 100644 Binary files a/.yarn/cache/eslint-plugin-n-npm-16.0.2-6a256d6ab7-44cffe32a3.zip and b/.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip differ diff --git a/.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip b/.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip new file mode 100644 index 000000000..6580ce435 Binary files /dev/null and b/.yarn/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-1723589032.zip differ diff --git a/.yarn/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip b/.yarn/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip deleted file mode 100644 index 26bd45335..000000000 Binary files a/.yarn/cache/html-validate-npm-8.3.0-71b7ba49e2-fd96a96fa7.zip and /dev/null differ diff --git a/.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip b/.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip new file mode 100644 index 000000000..13733464b Binary files /dev/null and b/.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip differ diff --git a/.yarn/cache/luxon-npm-3.4.0-8e0b97226e-ca9b6d0e0a.zip b/.yarn/cache/luxon-npm-3.4.0-8e0b97226e-ca9b6d0e0a.zip deleted file mode 100644 index 6be5a9ac0..000000000 Binary files a/.yarn/cache/luxon-npm-3.4.0-8e0b97226e-ca9b6d0e0a.zip and /dev/null differ diff --git a/.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip b/.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip new file mode 100644 index 000000000..3089c36a8 Binary files /dev/null and b/.yarn/cache/luxon-npm-3.4.3-1b54517fa6-3eade81506.zip differ diff --git a/.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip b/.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip new file mode 100644 index 000000000..53ff3fc69 Binary files /dev/null and b/.yarn/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-1012afc566.zip differ diff --git a/.yarn/cache/sass-npm-1.66.1-563acb4a8f-74fc11d0fc.zip b/.yarn/cache/sass-npm-1.66.1-563acb4a8f-74fc11d0fc.zip deleted file mode 100644 index 6502f76ba..000000000 Binary files a/.yarn/cache/sass-npm-1.66.1-563acb4a8f-74fc11d0fc.zip and /dev/null differ diff --git a/.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip b/.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip new file mode 100644 index 000000000..fbec960e0 Binary files /dev/null and b/.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip differ diff --git a/dev/coverage-action/package-lock.json b/dev/coverage-action/package-lock.json index 130131beb..15647bce1 100644 --- a/dev/coverage-action/package-lock.json +++ b/dev/coverage-action/package-lock.json @@ -9,15 +9,15 @@ "version": "1.0.0", "license": "BSD-3-Clause", "dependencies": { - "@actions/core": "1.10.0", + "@actions/core": "1.10.1", "@actions/github": "5.1.1", "chart.js": "3.5.1", "chartjs-node-canvas": "4.1.6", "lodash": "4.17.21", - "luxon": "3.4.0" + "luxon": "3.4.3" }, "devDependencies": { - "eslint": "8.48.0", + "eslint": "8.49.0", "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-node": "11.1.0", @@ -35,9 +35,9 @@ } }, "node_modules/@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", + "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", "dependencies": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -120,18 +120,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1765,16 +1765,16 @@ } }, "node_modules/eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -3550,9 +3550,9 @@ } }, "node_modules/luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "engines": { "node": ">=12" } @@ -6080,9 +6080,9 @@ "dev": true }, "@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", + "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", "requires": { "@actions/http-client": "^2.0.1", "uuid": "^8.3.2" @@ -6147,15 +6147,15 @@ } }, "@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -7373,16 +7373,16 @@ "dev": true }, "eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -8658,9 +8658,9 @@ } }, "luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==" }, "make-dir": { "version": "3.1.0", diff --git a/dev/coverage-action/package.json b/dev/coverage-action/package.json index ed187d09a..83b644f21 100644 --- a/dev/coverage-action/package.json +++ b/dev/coverage-action/package.json @@ -6,15 +6,15 @@ "author": "IETF Trust", "license": "BSD-3-Clause", "dependencies": { - "@actions/core": "1.10.0", + "@actions/core": "1.10.1", "@actions/github": "5.1.1", "chart.js": "3.5.1", "chartjs-node-canvas": "4.1.6", "lodash": "4.17.21", - "luxon": "3.4.0" + "luxon": "3.4.3" }, "devDependencies": { - "eslint": "8.48.0", + "eslint": "8.49.0", "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-node": "11.1.0", diff --git a/dev/del-old-packages/index.js b/dev/del-old-packages/index.js index 927b2d37a..ff5ab649a 100644 --- a/dev/del-old-packages/index.js +++ b/dev/del-old-packages/index.js @@ -8,7 +8,7 @@ const octokit = new Octokit({ const oldestDate = DateTime.utc().minus({ days: 7 }) -for (const pkgName of ['datatracker-db', 'datatracker-db-pg']) { +for (const pkgName of ['datatracker-db']) { let hasMore = true let currentPage = 1 diff --git a/dev/deploy-to-container/package-lock.json b/dev/deploy-to-container/package-lock.json index 260246bfb..966d785e3 100644 --- a/dev/deploy-to-container/package-lock.json +++ b/dev/deploy-to-container/package-lock.json @@ -8,10 +8,10 @@ "dependencies": { "dockerode": "^3.3.5", "fs-extra": "^11.1.1", - "nanoid": "4.0.2", + "nanoid": "5.0.1", "nanoid-dictionary": "5.0.0-beta.1", "slugify": "1.6.6", - "tar": "^6.1.15", + "tar": "^6.2.0", "yargs": "^17.7.2" }, "engines": { @@ -337,9 +337,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", - "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.1.tgz", + "integrity": "sha512-vWeVtV5Cw68aML/QaZvqN/3QQXc6fBfIieAlu05m7FZW2Dgb+3f0xc0TTxuJW+7u30t7iSDTV/j3kVI0oJqIfQ==", "funding": [ { "type": "github", @@ -350,7 +350,7 @@ "nanoid": "bin/nanoid.js" }, "engines": { - "node": "^14 || ^16 || >=18" + "node": "^18 || >=20" } }, "node_modules/nanoid-dictionary": { @@ -483,9 +483,9 @@ } }, "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -878,9 +878,9 @@ "optional": true }, "nanoid": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", - "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.1.tgz", + "integrity": "sha512-vWeVtV5Cw68aML/QaZvqN/3QQXc6fBfIieAlu05m7FZW2Dgb+3f0xc0TTxuJW+7u30t7iSDTV/j3kVI0oJqIfQ==" }, "nanoid-dictionary": { "version": "5.0.0-beta.1", @@ -977,9 +977,9 @@ } }, "tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", diff --git a/dev/deploy-to-container/package.json b/dev/deploy-to-container/package.json index 564e755bc..6c308f9d2 100644 --- a/dev/deploy-to-container/package.json +++ b/dev/deploy-to-container/package.json @@ -4,10 +4,10 @@ "dependencies": { "dockerode": "^3.3.5", "fs-extra": "^11.1.1", - "nanoid": "4.0.2", + "nanoid": "5.0.1", "nanoid-dictionary": "5.0.0-beta.1", "slugify": "1.6.6", - "tar": "^6.1.15", + "tar": "^6.2.0", "yargs": "^17.7.2" }, "engines": { diff --git a/dev/diff/package-lock.json b/dev/diff/package-lock.json index 08f85bca4..ce1ed4dee 100644 --- a/dev/diff/package-lock.json +++ b/dev/diff/package-lock.json @@ -15,9 +15,9 @@ "keypress": "^0.2.1", "listr2": "^6.6.1", "lodash-es": "^4.17.21", - "luxon": "^3.4.0", + "luxon": "^3.4.3", "pretty-bytes": "^6.1.1", - "tar": "^6.1.15", + "tar": "^6.2.0", "yargs": "^17.7.2" }, "engines": { @@ -859,9 +859,9 @@ } }, "node_modules/luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "engines": { "node": ">=12" } @@ -1193,9 +1193,9 @@ } }, "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -1950,9 +1950,9 @@ "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==" }, "luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-7eDo4Pt7aGhoCheGFIuq4Xa2fJm4ZpmldpGhjTYBNUYNCN6TIEP6v7chwwwt3KRp7YR+rghbfvjyo3V5y9hgBw==" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==" }, "mimic-fn": { "version": "2.1.0", @@ -2173,9 +2173,9 @@ } }, "tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", diff --git a/dev/diff/package.json b/dev/diff/package.json index 34749cb66..12dc55e1c 100644 --- a/dev/diff/package.json +++ b/dev/diff/package.json @@ -11,9 +11,9 @@ "keypress": "^0.2.1", "listr2": "^6.6.1", "lodash-es": "^4.17.21", - "luxon": "^3.4.0", + "luxon": "^3.4.3", "pretty-bytes": "^6.1.1", - "tar": "^6.1.15", + "tar": "^6.2.0", "yargs": "^17.7.2" }, "engines": { diff --git a/ietf/celeryapp.py b/ietf/celeryapp.py index cefde3a8d..b36f13463 100644 --- a/ietf/celeryapp.py +++ b/ietf/celeryapp.py @@ -1,6 +1,9 @@ import os +import scout_apm.celery from celery import Celery +from scout_apm.api import Config + # Set the default Django settings module for the 'celery' program os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ietf.settings') @@ -13,6 +16,25 @@ app = Celery('ietf') # should have a `CELERY_` prefix. app.config_from_object('django.conf:settings', namespace='CELERY') +# Turn on Scout APM celery instrumentation if configured in the environment +scout_key = os.environ.get("SCOUT_KEY", "") +scout_name = os.environ.get("SCOUT_NAME", "") +scout_core_agent_socket_path = os.environ.get("SCOUT_CORE_AGENT_SOCKET_PATH", "tcp://scoutapm:6590") +if scout_key and scout_name: + Config.set( + key=scout_key, + name=scout_name, + monitor=True, + core_agent_download=False, + core_agent_launch=False, + core_agent_path=scout_core_agent_socket_path, + ) + # Note: Passing the Celery app to install() method as recommended in the + # Scout documentation causes failure at startup, likely because Scout + # ingests the config greedily before Django is ready. Have not found a + # workaround for this other than explicitly configuring Scout. + scout_apm.celery.install() + # Load task modules from all registered Django apps. app.autodiscover_tasks() diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 3a6f86032..f3cb8258c 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -750,7 +750,7 @@ Man Expires September 22, 2015 [Page 3] stream_id=draft.stream_id, group_id=draft.group_id, abstract=draft.abstract,stream=draft.stream, rev=draft.rev, pages=draft.pages, intended_std_level_id=draft.intended_std_level_id, shepherd_id=draft.shepherd_id, ad_id=draft.ad_id, expires=draft.expires, - notify=draft.notify, note=draft.note) + notify=draft.notify) rel = RelatedDocument.objects.create(source=replacement, target=draft, relationship_id="replaces") diff --git a/ietf/doc/tests_charter.py b/ietf/doc/tests_charter.py index c5c5ce5f9..1bd6c1701 100644 --- a/ietf/doc/tests_charter.py +++ b/ietf/doc/tests_charter.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright The IETF Trust 2011-2020, All Rights Reserved +# Copyright The IETF Trust 2011-2023, All Rights Reserved import datetime @@ -837,6 +837,19 @@ class EditCharterTests(TestCase): self.assertEqual(group.groupmilestone_set.filter(state="active", desc=m1.desc).count(), 1) self.assertEqual(group.groupmilestone_set.filter(state="active", desc=m4.desc).count(), 1) + def test_approve_irtf(self): + charter = CharterFactory(group__type_id='rg') + url = urlreverse('ietf.doc.views_charter.approve', kwargs=dict(name=charter.name)) + login_testing_unauthorized(self, "secretary", url) + empty_outbox() + r = self.client.post(url, dict()) + self.assertEqual(r.status_code, 302) + self.assertEqual(len(outbox), 2) + self.assertTrue("IRTF" in outbox[1]['From']) + self.assertTrue("irtf-announce" in outbox[1]['To']) + self.assertTrue(charter.group.acronym in outbox[1]['Cc']) + self.assertTrue("RG Action" in outbox[1]['Subject']) + def test_charter_with_milestones(self): charter = CharterFactory() diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py index a0d0da6c8..52f79b609 100644 --- a/ietf/doc/tests_conflict_review.py +++ b/ietf/doc/tests_conflict_review.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2012-2020, All Rights Reserved +# Copyright The IETF Trust 2012-2023, All Rights Reserved # -*- coding: utf-8 -*- @@ -13,8 +13,8 @@ from django.urls import reverse as urlreverse import debug # pyflakes:ignore -from ietf.doc.factories import IndividualDraftFactory, ConflictReviewFactory -from ietf.doc.models import Document, DocEvent, NewRevisionDocEvent, BallotPositionDocEvent, TelechatDocEvent, State +from ietf.doc.factories import IndividualDraftFactory, ConflictReviewFactory, RgDraftFactory +from ietf.doc.models import Document, DocEvent, NewRevisionDocEvent, BallotPositionDocEvent, TelechatDocEvent, State, DocTagName from ietf.doc.utils import create_ballot_if_not_open from ietf.doc.views_conflict_review import default_approval_text from ietf.group.models import Person @@ -168,6 +168,21 @@ class ConflictReviewTests(TestCase): self.assertTrue(review_doc.active_ballot()) self.assertEqual(review_doc.latest_event(BallotPositionDocEvent, type="changed_ballot_position").pos_id,'yes') + # try to change to an AD-forbidden state + appr_noprob_sent_pk = str(State.objects.get(used=True, slug='appr-noprob-sent',type__slug='conflrev').pk) + r = self.client.post(url,dict(review_state=appr_noprob_sent_pk,comment='xyzzy')) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + self.assertTrue(q('form .invalid-feedback')) + + # try again as secretariat + self.client.logout() + login_testing_unauthorized(self, 'secretary', url) + r = self.client.post(url,dict(review_state=appr_noprob_sent_pk,comment='xyzzy')) + self.assertEqual(r.status_code, 302) + review_doc = Document.objects.get(name='conflict-review-imaginary-irtf-submission') + self.assertEqual(review_doc.get_state('conflrev').slug, 'appr-noprob-sent') + def test_edit_notices(self): doc = Document.objects.get(name='conflict-review-imaginary-irtf-submission') @@ -450,3 +465,65 @@ class ConflictReviewSubmitTests(TestCase): def setUp(self): super().setUp() ConflictReviewFactory(name='conflict-review-imaginary-irtf-submission',review_of=IndividualDraftFactory(name='draft-imaginary-irtf-submission',stream_id='irtf'),notify='notifyme@example.net') + +class ConflictReviewIrtfStateTests(TestCase): + + def start_review(self, role, kwargs=None): + doc = RgDraftFactory() + url = urlreverse('ietf.doc.views_conflict_review.start_review', kwargs=dict(name=doc.name)) + login_testing_unauthorized(self, role, url) + + r = self.client.post(url, kwargs) + self.assertEqual(r.status_code, 302) + self.assertEqual(doc.get_state('draft-stream-irtf').slug, 'iesg-rev') + + def test_start_review_as_secretary(self): + ad_strpk = str(Person.objects.get(name='Areað Irector').pk) + state_strpk = str(State.objects.get(used=True, slug='needshep', type__slug='conflrev').pk) + self.start_review('secretary', kwargs=dict(ad=ad_strpk, create_in_state=state_strpk)) + + def test_start_review_as_stream_owner(self): + self.start_review('irtf-chair') + + def close_review(self, close_type, role): + doc = RgDraftFactory() + review = ConflictReviewFactory(review_of=doc) + url = urlreverse('ietf.doc.views_conflict_review.change_state', kwargs=dict(name=review.name)) + login_testing_unauthorized(self, role, url) + + strpk = str(State.objects.get(used=True, slug=close_type, type__slug='conflrev').pk) + r = self.client.post(url, dict(review_state=strpk)) + self.assertEqual(r.status_code, 302) + self.assertEqual(doc.get_state('draft-stream-irtf').slug, 'chair-w') + self.assertIn(DocTagName.objects.get(pk='iesg-com'), doc.tags.all()) + + def test_close_review_reqnopub_as_secretary(self): + self.close_review('appr-reqnopub-sent', 'secretary') + + def test_close_review_noprob_as_secretary(self): + self.close_review('appr-noprob-sent', 'secretary') + + def test_close_review_withdraw_as_secretary(self): + self.close_review('withdraw', 'secretary') + + def test_close_review_dead_as_secretary(self): + self.close_review('dead', 'secretary') + + def test_close_review_withdraw_as_ad(self): + self.close_review('withdraw', 'ad') + + def test_close_review_dead_as_ad(self): + self.close_review('dead', 'ad') + + def test_approve_review(self): + doc = RgDraftFactory() + review = ConflictReviewFactory(review_of=doc) + review.set_state(State.objects.get(used=True, slug='appr-noprob-pend', type='conflrev')) + + url = urlreverse('ietf.doc.views_conflict_review.approve_conflict_review', kwargs=dict(name=review.name)) + login_testing_unauthorized(self, 'secretary', url) + + r = self.client.post(url, dict(announcement_text=default_approval_text(review))) + self.assertEqual(r.status_code, 302) + self.assertEqual(doc.get_state('draft-stream-irtf').slug, 'chair-w') + self.assertIn(DocTagName.objects.get(pk='iesg-com'), doc.tags.all()) diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index 2437a74cd..e168f685f 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -98,7 +98,7 @@ class ChangeStateTests(TestCase): draft.action_holders.add(ad) url = urlreverse('ietf.doc.views_draft.change_state', kwargs=dict(name=draft.name)) - login_testing_unauthorized(self, "secretary", url) + login_testing_unauthorized(self, "ad", url) first_state = draft.get_state("draft-iesg") next_states = first_state.next_states.all() @@ -154,6 +154,20 @@ class ChangeStateTests(TestCase): q = PyQuery(r.content) self.assertEqual(len(q('form [type=submit]:contains("%s")' % first_state.name)), 1) + # try to change to an AD-forbidden state + r = self.client.post(url, dict(state=State.objects.get(used=True, type='draft-iesg', slug='ann').pk, comment='Test comment')) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + self.assertTrue(q('form .invalid-feedback')) + + # try again as secretariat + self.client.logout() + login_testing_unauthorized(self, 'secretary', url) + r = self.client.post(url, dict(state=State.objects.get(used=True, type='draft-iesg', slug='ann').pk, comment='Test comment')) + self.assertEqual(r.status_code, 302) + draft = Document.objects.get(name=draft.name) + self.assertEqual(draft.get_state_slug('draft-iesg'), 'ann') + def test_pull_from_rfc_queue(self): ad = Person.objects.get(user__username="ad") draft = WgDraftFactory( @@ -362,16 +376,14 @@ class EditInfoTests(TestCase): stream=draft.stream_id, ad=str(new_ad.pk), notify="test@example.com", - note="New note", telechat_date="", )) self.assertEqual(r.status_code, 302) draft = Document.objects.get(name=draft.name) self.assertEqual(draft.ad, new_ad) - self.assertEqual(draft.note, "New note") self.assertTrue(not draft.latest_event(TelechatDocEvent, type="scheduled_for_telechat")) - self.assertEqual(draft.docevent_set.count(), events_before + 3) + self.assertEqual(draft.docevent_set.count(), events_before + 2) self.assertEqual(len(outbox), mailbox_before + 1) self.assertTrue(draft.name in outbox[-1]['Subject']) @@ -386,7 +398,6 @@ class EditInfoTests(TestCase): stream=draft.stream_id, ad=str(draft.ad_id), notify=draft.notify, - note="", ) # get @@ -489,7 +500,6 @@ class EditInfoTests(TestCase): ad=ad.pk, create_in_state=State.objects.get(used=True, type="draft-iesg", slug="watching").pk, notify="test@example.com", - note="This is a note", telechat_date="", )) self.assertEqual(r.status_code, 302) @@ -497,12 +507,11 @@ class EditInfoTests(TestCase): draft = Document.objects.get(name=draft.name) self.assertEqual(draft.get_state_slug("draft-iesg"), "watching") self.assertEqual(draft.ad, ad) - self.assertEqual(draft.note, "This is a note") self.assertTrue(not draft.latest_event(TelechatDocEvent, type="scheduled_for_telechat")) - self.assertEqual(draft.docevent_set.count(), events_before + 5) + self.assertEqual(draft.docevent_set.count(), events_before + 4) self.assertCountEqual(draft.action_holders.all(), [draft.ad]) events = list(draft.docevent_set.order_by('time', 'id')) - self.assertEqual(events[-5].type, "started_iesg_process") + self.assertEqual(events[-4].type, "started_iesg_process") self.assertEqual(len(outbox), mailbox_before+1) self.assertTrue('IESG processing' in outbox[-1]['Subject']) self.assertTrue('draft-ietf-mars-test2@' in outbox[-1]['To']) @@ -518,7 +527,6 @@ class EditInfoTests(TestCase): ad=ad.pk, create_in_state=State.objects.get(used=True, type="draft-iesg", slug="pub-req").pk, notify="test@example.com", - note="This is a note", telechat_date="", )) self.assertEqual(r.status_code, 302) @@ -1043,23 +1051,6 @@ class IndividualInfoFormsTests(TestCase): doc = Document.objects.get(name=self.docname) self.assertEqual(doc.latest_event(TelechatDocEvent, "scheduled_for_telechat").telechat_date,None) - def test_doc_change_iesg_note(self): - url = urlreverse('ietf.doc.views_draft.edit_iesg_note', kwargs=dict(name=self.docname)) - login_testing_unauthorized(self, "secretary", url) - - # get - r = self.client.get(url) - self.assertEqual(r.status_code,200) - q = PyQuery(r.content) - self.assertEqual(len(q('[type=submit]:contains("Save")')),1) - - # post - r = self.client.post(url,dict(note='ZpyQFGmA\r\nZpyQFGmA')) - self.assertEqual(r.status_code,302) - doc = Document.objects.get(name=self.docname) - self.assertEqual(doc.note,'ZpyQFGmA\nZpyQFGmA') - self.assertTrue('ZpyQFGmA' in doc.latest_event(DocEvent,type='added_comment').desc) - def test_doc_change_ad(self): url = urlreverse('ietf.doc.views_draft.edit_ad', kwargs=dict(name=self.docname)) login_testing_unauthorized(self, "secretary", url) diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py index 3c471f581..1c2e6c7ac 100644 --- a/ietf/doc/tests_review.py +++ b/ietf/doc/tests_review.py @@ -1,4 +1,4 @@ -# Copyright The IETF Trust 2016-2020, All Rights Reserved +# Copyright The IETF Trust 2016-2023, All Rights Reserved # -*- coding: utf-8 -*- @@ -363,6 +363,23 @@ class ReviewTests(TestCase): request_events = review_req.reviewrequestdocevent_set.all() self.assertEqual(request_events.count(), 0) + def test_assign_reviewer_after_reject(self): + doc = WgDraftFactory() + review_team = ReviewTeamFactory() + rev_role = RoleFactory(group=review_team,person__user__username='reviewer',person__user__email='reviewer@example.com',name_id='reviewer') + reviewer_email = Email.objects.get(person__user__username="reviewer") + RoleFactory(group=review_team,person__user__username='reviewsecretary',name_id='secr') + review_req = ReviewRequestFactory(team=review_team,doc=doc) + ReviewAssignmentFactory(review_request=review_req, state_id='rejected', reviewer=rev_role.person.email_set.first()) + + url = urlreverse('ietf.doc.views_review.assign_reviewer', kwargs={ "name": doc.name, "request_id": review_req.pk }) + login_testing_unauthorized(self, "reviewsecretary", url) + r = self.client.get(url) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + reviewer_label = q("option[value=\"{}\"]".format(reviewer_email.address)).text().lower() + self.assertIn("rejected review of document before", reviewer_label) + def test_previously_reviewed_replaced_doc(self): review_team = ReviewTeamFactory(acronym="reviewteam", name="Review Team", type_id="review", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut")) rev_role = RoleFactory(group=review_team,person__user__username='reviewer',person__user__email='reviewer@example.com',person__name='Some Reviewer',name_id='reviewer') @@ -577,6 +594,29 @@ class ReviewTests(TestCase): self.assertContains(r, ' - Back - -{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/mail/ballot_writeup.txt b/ietf/templates/doc/mail/ballot_writeup.txt index 7c7209cf6..74871e5a8 100644 --- a/ietf/templates/doc/mail/ballot_writeup.txt +++ b/ietf/templates/doc/mail/ballot_writeup.txt @@ -33,13 +33,6 @@ Personnel Who is the Document Shepherd for this document? Who is the Responsible Area Director? {% endif %} -{% if doc.stream.slug == "irtf" %}IRTF Note - - (Insert IRTF Note here or remove section) -{% elif doc.stream.slug == "ietf" %}IESG Note - - (Insert IESG Note here or remove section) -{% endif %} IANA Note {% if iana %} {% filter wordwrap:"76"|indent:2 %}{{ iana }}{% endfilter %} diff --git a/ietf/templates/doc/review/request_info.html b/ietf/templates/doc/review/request_info.html index 31578f010..5c7ca8907 100644 --- a/ietf/templates/doc/review/request_info.html +++ b/ietf/templates/doc/review/request_info.html @@ -177,6 +177,8 @@
{% if assignment.state_id == "assigned" %} Assignment not accepted yet + {% elif assignment.state_id == "rejected" %} + Assignment rejected {% else %} Assignment accepted {% endif %} diff --git a/ietf/templates/doc/state_help.html b/ietf/templates/doc/state_help.html index 34481b786..606e13cba 100644 --- a/ietf/templates/doc/state_help.html +++ b/ietf/templates/doc/state_help.html @@ -26,7 +26,7 @@ {% for state in states %} {{ state.name }} - {{ state.desc|urlize_ietf_docs|linkify }} + {{ state.desc|safe|urlize_ietf_docs|linkify }} {% if has_next_states %} {% for s in state.next_states.all %} diff --git a/ietf/templates/group/all_photos.html b/ietf/templates/group/all_photos.html index d32cccb4e..0b4947ccb 100644 --- a/ietf/templates/group/all_photos.html +++ b/ietf/templates/group/all_photos.html @@ -8,7 +8,8 @@

{{ group_type | upper }} {{ role }} photos

{% regroup roles|dictsort:"last_initial" by last_initial as alphabet_blocks %} {% for letter in alphabet_blocks %} -

{{ letter.grouper }}

+ +

{{ letter.grouper }}

{% regroup letter.list by person as person_groups %} {# keep in sync with group_photos.html #}
@@ -17,4 +18,4 @@ {% endfor %}
{% endfor %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/group/meetings-row.html b/ietf/templates/group/meetings-row.html index 487c8f7e1..d1775f3cc 100644 --- a/ietf/templates/group/meetings-row.html +++ b/ietf/templates/group/meetings-row.html @@ -1,7 +1,6 @@ {% load origin tz %} {% origin %} {% for s in sessions %} - {% timezone s.meeting.time_zone %} {% if s.meeting.type.slug == 'ietf' %} @@ -12,9 +11,11 @@ {% if s.current_status == "sched" %} - {{ s.time|date:"Y-m-d" }} + {% with timeslot=s.official_timeslotassignment.timeslot %} + + {% endwith %} {% else %} - {{ s.current_status_name }} +
{{ s.current_status_name }}
{% endif %} {% if show_request and s.meeting.type_id == 'ietf' %} {% if can_edit %} @@ -28,9 +29,6 @@ {% if s.name %}{{ s.name }}{% endif %} - - {% if s.current_status == "sched" %}{{ s.time|date:"D" }}{% endif %} - {% if show_ical and s.current_status == "sched" %} {% if s.meeting.type_id == 'ietf' %} @@ -78,5 +76,4 @@ {% endif %} - {% endtimezone %} {% endfor %} \ No newline at end of file diff --git a/ietf/templates/group/meetings.html b/ietf/templates/group/meetings.html index a344e74d8..19f39d6d9 100644 --- a/ietf/templates/group/meetings.html +++ b/ietf/templates/group/meetings.html @@ -1,6 +1,5 @@ {% extends "group/group_base.html" %} -{# Copyright The IETF Trust 2015-2022, All Rights Reserved #} -{% load origin %} +{% load origin static %} {% block title %} Meetings {% if group %}for {{ group.acronym }}{% endif %} @@ -19,15 +18,15 @@ {% endblock %} {% block group_content %} {% origin %} + {% include "meeting/tz-display.html" with meeting_timezone=None id_suffix="" minimal=False only %} {% if in_progress %} -

Meetings in progress

+

Meetings in progress

{% with sessions=in_progress show_request=True show_ical=True can_edit_materials=can_edit %} - - - + + @@ -39,7 +38,7 @@ {% endwith %} {% endif %} {% if future %} -

+

Future Meetings

- - - + + @@ -66,13 +64,12 @@
MeetingDateMeetingDate Materials
MeetingDateMeetingDate Materials
{% endif %} {% if past or recent %} -

Past Meetings (within the last four years)

+

Past Meetings (within the last four years)

- - - + + @@ -100,13 +97,12 @@ older_sessions value, this block will need to be adjusted. {% endcomment %} {% if far_past %} -

Meetings more than four years ago

+

Meetings more than four years ago

MeetingDateMeetingDate Materials
- - - + + @@ -160,3 +156,16 @@ {% endif %} {% endif %} {% endblock %} +{% block js %} + + + + + +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/iesg/agenda_conflict_doc.html b/ietf/templates/iesg/agenda_conflict_doc.html index ef78cebdf..316dd8e2c 100644 --- a/ietf/templates/iesg/agenda_conflict_doc.html +++ b/ietf/templates/iesg/agenda_conflict_doc.html @@ -1,7 +1,7 @@ {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin %} {% origin %} -{% load ietf_filters ballot_icon person_filters %} +{% load ietf_filters ballot_icon person_filters textfilters %}
{% ballot_icon doc %}
@@ -27,7 +27,7 @@ {% if conflictdoc.note %}
Note
-
{{ conflictdoc.note|linebreaksbr }}
+
{{ conflictdoc.note|urlize_ietf_docs|linkify|linebreaksbr }}
{% endif %}
diff --git a/ietf/templates/iesg/agenda_conflict_doc.txt b/ietf/templates/iesg/agenda_conflict_doc.txt index b8ad71457..e4fbcc32b 100644 --- a/ietf/templates/iesg/agenda_conflict_doc.txt +++ b/ietf/templates/iesg/agenda_conflict_doc.txt @@ -3,6 +3,5 @@ {% filter wordwrap:"68"|indent|indent %}{{ doc.title }}{% endfilter %} {{ conflictdoc.name }}-{{ conflictdoc.rev }} {% filter wordwrap:"66"|indent:"4" %}{{ conflictdoc.title }} ({{ conflictdoc.stream }}: {{ conflictdoc.intended_std_level }}){% endfilter %} -{% if conflictdoc.note %}{# note: note is not escaped #} {% filter wordwrap:"64"|indent:"6" %}Note: {{ conflictdoc.note|striptags }}{% endfilter %} -{% endif %} Token: {{ doc.ad }} + Token: {{ doc.ad }} {% with doc.active_defer_event as defer %}{% if defer %} Was deferred by {{defer.by}} on {{defer.time|date:"Y-m-d"}}{% endif %}{% endwith %}{% endwith %} diff --git a/ietf/templates/iesg/agenda_doc.txt b/ietf/templates/iesg/agenda_doc.txt index 7a75731ba..015af3240 100644 --- a/ietf/templates/iesg/agenda_doc.txt +++ b/ietf/templates/iesg/agenda_doc.txt @@ -1,8 +1,7 @@ {% load ietf_filters %}{% with doc.rfc_number as rfc_number %} o {{doc.name}}{% if not rfc_number %}-{{doc.rev}}{% endif %}{% endwith %}{%if doc.has_rfc_editor_note %} (Has RFC Editor Note){% endif %}{% if doc.stream %} - {{ doc.stream }} stream{% endif %} {% filter wordwrap:"68"|indent|indent %}{{ doc.title }} ({{ doc.intended_std_level }}){% endfilter %} -{% if doc.note %}{# note: note is not escaped #} {% filter wordwrap:"68"|indent|indent %}Note: {{ doc.note|striptags }}{% endfilter %} -{% endif %} Token: {{ doc.ad }}{% if doc.iana_review_state %} + Token: {{ doc.ad }}{% if doc.iana_review_state %} IANA Review: {{ doc.iana_review_state }}{% endif %}{% if doc.consensus %} Consensus: {{ doc.consensus }}{% endif %}{% if doc.lastcall_expires %} Last call expires: {{ doc.lastcall_expires|date:"Y-m-d" }}{% endif %}{% if doc.review_assignments %} diff --git a/ietf/templates/iesg/moderator_doc.html b/ietf/templates/iesg/moderator_doc.html index 9d5f49987..1a06ffa1d 100644 --- a/ietf/templates/iesg/moderator_doc.html +++ b/ietf/templates/iesg/moderator_doc.html @@ -93,7 +93,7 @@ Parts Copyright (c) 2009 The IETF Trust, all rights reserved.

If APPROVED with caveats - The Secretariat will send a working group submission, Protocol Action Announcement that includes the - [RFC Editor Note, IESG Note, etc.] to be drafted by [Name that + [RFC Editor Note, etc.] to be drafted by [Name that AD].

{% endif %} @@ -103,7 +103,7 @@ Parts Copyright (c) 2009 The IETF Trust, all rights reserved.

If APPROVED with caveats - The Secretariat will send an individual submission, Protocol Action Announcement that includes - the [RFC Editor Note, IESG Note, etc.] to be drafted by [Name that + the [RFC Editor Note, etc.] to be drafted by [Name that AD].

{% endif %} @@ -113,7 +113,7 @@ Parts Copyright (c) 2009 The IETF Trust, all rights reserved.

If APPROVED with caveats - The Secretariat will send the associated status change Protocol Action Announcements that includes the - [RFC Editor Note, IESG Note, etc.] to be drafted by [Name that + [RFC Editor Note, etc.] to be drafted by [Name that AD].

{% endif %} @@ -123,7 +123,7 @@ Parts Copyright (c) 2009 The IETF Trust, all rights reserved.

If APPROVED with caveats - The Secretariat will send a working group submission Document Action announcement that includes the [RFC - Ed. Note, IESG, note, etc.] from [Name that AD].

+ Ed. Note, etc.] from [Name that AD].

{% endif %} {% if num|startswith:"3.2.1" or num|startswith:"3.2.2" %} @@ -132,7 +132,7 @@ Parts Copyright (c) 2009 The IETF Trust, all rights reserved.

If APPROVED with caveats - The Secretariat will send an individual submission Document Action announcement that includes the - [RFC Ed. Note, IESG, note, etc.] from [Name that AD].

+ [RFC Ed. Note, etc.] from [Name that AD].

{% endif %} {% if num|startswith:"3.3.1" or num|startswith:"3.3.2" %} @@ -141,13 +141,12 @@ Parts Copyright (c) 2009 The IETF Trust, all rights reserved.

If APPROVED with caveats - The Secretariat will send the associated status change Document Action announcements that includes the [RFC - Ed. Note, IESG, note, etc.] from [Name that AD].

+ Ed. Note, etc.] from [Name that AD].

{% endif %} {% if num|startswith:"3.4.1" or num|startswith:"3.4.2" %}

If APPROVED - The Secretariat will send a standard no problem - message to the RFC Editor. [Name of AD] will you supply the text for - the IESG Note?

+ message to the RFC Editor.

If APPROVED with caveats - The Secretariat will send a standard no problem message to the RFC Editor that includes the note drafted diff --git a/ietf/templates/meeting/interim_request.html b/ietf/templates/meeting/interim_request.html index 977eaad3f..995a612b5 100644 --- a/ietf/templates/meeting/interim_request.html +++ b/ietf/templates/meeting/interim_request.html @@ -24,8 +24,8 @@

{% endif %} {% bootstrap_field form.meeting_type layout='horizontal' %} - {% bootstrap_field form.city layout='horizontal' %} - {% bootstrap_field form.country layout='horizontal' %} + {% bootstrap_field form.city layout='horizontal' wrapper_class='location mb-3' %} + {% bootstrap_field form.country layout='horizontal' wrapper_class='location mb-3' %} {% bootstrap_field form.time_zone layout='horizontal' %} {{ formset.management_form }} {% if formset.non_form_errors %}
{{ formset.non_form_errors }}
{% endif %} diff --git a/ietf/templates/meeting/interim_send_announcement.html b/ietf/templates/meeting/interim_send_announcement.html index fa05c7234..3e08f7ee0 100644 --- a/ietf/templates/meeting/interim_send_announcement.html +++ b/ietf/templates/meeting/interim_send_announcement.html @@ -25,7 +25,7 @@
-
{% render_field form.subject class="form-control" readonly="readonly" %}
+
{% render_field form.subject class="form-control" %}
diff --git a/ietf/templates/meeting/session_details.html b/ietf/templates/meeting/session_details.html index 96f42708a..571715b4b 100644 --- a/ietf/templates/meeting/session_details.html +++ b/ietf/templates/meeting/session_details.html @@ -57,6 +57,17 @@ {% endif %} {% endblock %} {% block js %} + + + + + {% if can_manage_materials %} {% endblock %} \ No newline at end of file diff --git a/ietf/templates/nomcom/list_positions.html b/ietf/templates/nomcom/list_positions.html index 476dce967..59e549fc3 100644 --- a/ietf/templates/nomcom/list_positions.html +++ b/ietf/templates/nomcom/list_positions.html @@ -24,23 +24,24 @@
{% if nomcom.group.state_id == 'active' %} - + {% endif %} - - - - @@ -58,13 +59,11 @@ aria-label="position.name" name="selected"> - - - - - - @@ -117,7 +116,7 @@ -
MeetingDateMeetingDate Materials
- + + ✓ Position + IESG + Open + Accepting Nominations + Accepting Feedback
+ Edit - Remove @@ -74,16 +73,16 @@ {{ position.name }} + {{ position.is_iesg_position|yesno:"✓," }} + {{ position.is_open|yesno:"✓," }} + {{ position.accepting_nominations|yesno:"✓," }} + {{ position.accepting_feedback|yesno:"✓," }}
{% endif %} -{% endblock %} -{% block js %} - -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/nomcom/volunteers.html b/ietf/templates/nomcom/volunteers.html index 764a055b1..008951c44 100644 --- a/ietf/templates/nomcom/volunteers.html +++ b/ietf/templates/nomcom/volunteers.html @@ -1,12 +1,9 @@ {% extends public|yesno:"nomcom/nomcom_public_base.html,nomcom/nomcom_private_base.html" %} {# Copyright The IETF Trust 2021, All Rights Reserved #} {% load origin %} -{% load django_bootstrap5 textfilters person_filters %} +{% load django_bootstrap5 textfilters person_filters ietf_filters%} {% load static %} {% block subtitle %}- Volunteers{% endblock %} -{% block pagehead %} - -{% endblock %} {% block nomcom_content %} {% origin %}

Volunteers for {{ nomcom.group }}

@@ -34,7 +31,7 @@ {% for v in eligibility_group.list %} {{ forloop.counter }} - {{ v.person.last_name }} + {{ v.person.last_name|split:'+'|join:'+' }} {{ v.person.first_name }} {{ v.person.ascii_name }} {% person_link v.person %} @@ -46,7 +43,4 @@ {% endfor %} -{% endblock %} -{% block js %} - {% endblock %} \ No newline at end of file diff --git a/ietf/templates/submit/api_submission_info.html b/ietf/templates/submit/api_submission_info.html index 3153d4257..c49b8baa4 100644 --- a/ietf/templates/submit/api_submission_info.html +++ b/ietf/templates/submit/api_submission_info.html @@ -21,7 +21,6 @@