Merge pull request #5634 from ietf-tools/main

chore: Merge main into feat/django4
This commit is contained in:
Jennifer Richards 2023-05-16 13:06:49 -03:00 committed by GitHub
commit 7475aa01b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 938 additions and 541 deletions

View file

@ -389,7 +389,7 @@ jobs:
notify: notify:
name: Notify name: Notify
if: ${{ always() }} if: ${{ always() }}
needs: [prepare, release] needs: [prepare, tests-python, tests-playwright, tests-playwright-legacy, release]
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
PKG_VERSION: ${{needs.prepare.outputs.pkg_version}} PKG_VERSION: ${{needs.prepare.outputs.pkg_version}}

35
.github/workflows/sandbox-refresh.yml vendored Normal file
View file

@ -0,0 +1,35 @@
name: Sandbox Refresh
on:
# Run every night
schedule:
- cron: '0 9 * * *'
workflow_dispatch:
jobs:
main:
name: Refresh DBs
runs-on: [self-hosted, dev-server]
permissions:
contents: read
steps:
- uses: actions/checkout@v3
- name: Refresh DBs
env:
DEBIAN_FRONTEND: noninteractive
run: |
echo "Install Deploy to Container CLI dependencies..."
cd dev/deploy-to-container
npm ci
cd ../..
echo "Start Refresh..."
node ./dev/deploy-to-container/refresh.js
- name: Cleanup old docker resources
env:
DEBIAN_FRONTEND: noninteractive
run: |
docker image prune -a -f

155
.pnp.cjs generated
View file

@ -36,7 +36,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@faker-js/faker", "npm:7.6.0"],\ ["@faker-js/faker", "npm:7.6.0"],\
["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\ ["@fullcalendar/core", "npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5"],\ ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
@ -49,9 +49,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@popperjs/core", "npm:2.11.7"],\ ["@popperjs/core", "npm:2.11.7"],\
["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\ ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\
["@twuni/emojify", "npm:1.0.2"],\ ["@twuni/emojify", "npm:1.0.2"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\
["bootstrap-icons", "npm:1.10.4"],\ ["bootstrap-icons", "npm:1.10.5"],\
["browser-fs-access", "npm:0.33.1"],\ ["browser-fs-access", "npm:0.33.1"],\
["browserlist", "npm:1.0.1"],\ ["browserlist", "npm:1.0.1"],\
["c8", "npm:7.13.0"],\ ["c8", "npm:7.13.0"],\
@ -59,14 +59,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["d3", "npm:7.8.4"],\ ["d3", "npm:7.8.4"],\
["eslint", "npm:8.39.0"],\ ["eslint", "npm:8.39.0"],\
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3"],\
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.7.0"],\ ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.7.0"],\
["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\
["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.11.0"],\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.11.0"],\
["file-saver", "npm:2.0.5"],\ ["file-saver", "npm:2.0.5"],\
["highcharts", "npm:10.3.3"],\ ["highcharts", "npm:11.0.0"],\
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.15.1"],\ ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.15.1"],\
["ical.js", "npm:1.5.0"],\ ["ical.js", "npm:1.5.0"],\
["jquery", "npm:3.6.4"],\ ["jquery", "npm:3.6.4"],\
@ -82,7 +82,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["murmurhash-js", "npm:1.0.0"],\ ["murmurhash-js", "npm:1.0.0"],\
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\ ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\ ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\ ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
["pug", "npm:3.0.2"],\ ["pug", "npm:3.0.2"],\
["sass", "npm:1.62.0"],\ ["sass", "npm:1.62.0"],\
@ -94,7 +94,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["slugify", "npm:1.6.6"],\ ["slugify", "npm:1.6.6"],\
["sortablejs", "npm:1.15.0"],\ ["sortablejs", "npm:1.15.0"],\
["vanillajs-datepicker", "npm:1.3.1"],\ ["vanillajs-datepicker", "npm:1.3.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["vue", "npm:3.2.47"],\ ["vue", "npm:3.2.47"],\
["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\ ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\
["zxcvbn", "npm:4.4.2"]\ ["zxcvbn", "npm:4.4.2"]\
@ -534,13 +534,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["@fullcalendar/daygrid", [\ ["@fullcalendar/daygrid", [\
["npm:6.1.5", {\
"packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.5-3a84c9028f-f62aa7364d.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\
["@fullcalendar/daygrid", "npm:6.1.5"]\
],\
"linkType": "SOFT"\
}],\
["npm:6.1.6", {\ ["npm:6.1.6", {\
"packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\ "packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\ "packageDependencies": [\
@ -548,23 +541,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:1495e7dbe47a0c3fff6635b537a1f6362ca58f10310322fb93a5f9a6208e3e7081cd944d8d2131ee2c338abdf4479816afa3d632114f0fceb5b350c0ee84672d#npm:6.1.6", {\ ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6", {\
"packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-e69ea54296/0/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\ "packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-c806a244df/0/cache/@fullcalendar-daygrid-npm-6.1.6-13b72a08b0-e7b60e359b.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\ "packageDependencies": [\
["@fullcalendar/daygrid", "virtual:1495e7dbe47a0c3fff6635b537a1f6362ca58f10310322fb93a5f9a6208e3e7081cd944d8d2131ee2c338abdf4479816afa3d632114f0fceb5b350c0ee84672d#npm:6.1.6"],\ ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\
["@types/fullcalendar__core", null]\
],\
"packagePeers": [\
"@fullcalendar/core",\
"@types/fullcalendar__core"\
],\
"linkType": "HARD"\
}],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5", {\
"packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-cb2eb2d850/0/cache/@fullcalendar-daygrid-npm-6.1.5-3a84c9028f-f62aa7364d.zip/node_modules/@fullcalendar/daygrid/",\
"packageDependencies": [\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5"],\
["@fullcalendar/core", "npm:6.1.6"],\ ["@fullcalendar/core", "npm:6.1.6"],\
["@types/fullcalendar__core", null]\ ["@types/fullcalendar__core", null]\
],\ ],\
@ -684,7 +664,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"packageDependencies": [\ "packageDependencies": [\
["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\ ["@fullcalendar/core", "npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:1495e7dbe47a0c3fff6635b537a1f6362ca58f10310322fb93a5f9a6208e3e7081cd944d8d2131ee2c338abdf4479816afa3d632114f0fceb5b350c0ee84672d#npm:6.1.6"],\ ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@types/fullcalendar__core", null]\ ["@types/fullcalendar__core", null]\
],\ ],\
"packagePeers": [\ "packagePeers": [\
@ -2398,20 +2378,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["@vitejs/plugin-vue", [\ ["@vitejs/plugin-vue", [\
["npm:4.1.0", {\ ["npm:4.2.1", {\
"packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.1.0-7f9225ba6f-532192a3da.zip/node_modules/@vitejs/plugin-vue/",\ "packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.2.1-2b331ccfdc-a7266a4537.zip/node_modules/@vitejs/plugin-vue/",\
"packageDependencies": [\ "packageDependencies": [\
["@vitejs/plugin-vue", "npm:4.1.0"]\ ["@vitejs/plugin-vue", "npm:4.2.1"]\
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0", {\ ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1", {\
"packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-f05e60383f/0/cache/@vitejs-plugin-vue-npm-4.1.0-7f9225ba6f-532192a3da.zip/node_modules/@vitejs/plugin-vue/",\ "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-68094506b2/0/cache/@vitejs-plugin-vue-npm-4.2.1-2b331ccfdc-a7266a4537.zip/node_modules/@vitejs/plugin-vue/",\
"packageDependencies": [\ "packageDependencies": [\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["@types/vite", null],\ ["@types/vite", null],\
["@types/vue", null],\ ["@types/vue", null],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["vue", "npm:3.2.47"]\ ["vue", "npm:3.2.47"]\
],\ ],\
"packagePeers": [\ "packagePeers": [\
@ -2955,10 +2935,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["bootstrap-icons", [\ ["bootstrap-icons", [\
["npm:1.10.4", {\ ["npm:1.10.5", {\
"packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.4-da897c241e-d76333e46d.zip/node_modules/bootstrap-icons/",\ "packageLocation": "./.yarn/cache/bootstrap-icons-npm-1.10.5-36f80ab074-8a0cfbd237.zip/node_modules/bootstrap-icons/",\
"packageDependencies": [\ "packageDependencies": [\
["bootstrap-icons", "npm:1.10.4"]\ ["bootstrap-icons", "npm:1.10.5"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -4447,17 +4427,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["eslint-plugin-cypress", [\ ["eslint-plugin-cypress", [\
["npm:2.13.2", {\ ["npm:2.13.3", {\
"packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.13.2-ee79f6209e-81cc425cfc.zip/node_modules/eslint-plugin-cypress/",\ "packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.13.3-0ad3bff9c9-9affbcee29.zip/node_modules/eslint-plugin-cypress/",\
"packageDependencies": [\ "packageDependencies": [\
["eslint-plugin-cypress", "npm:2.13.2"]\ ["eslint-plugin-cypress", "npm:2.13.3"]\
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2", {\ ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3", {\
"packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-53cd8166c0/0/cache/eslint-plugin-cypress-npm-2.13.2-ee79f6209e-81cc425cfc.zip/node_modules/eslint-plugin-cypress/",\ "packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-2dc00cb202/0/cache/eslint-plugin-cypress-npm-2.13.3-0ad3bff9c9-9affbcee29.zip/node_modules/eslint-plugin-cypress/",\
"packageDependencies": [\ "packageDependencies": [\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3"],\
["@types/eslint", null],\ ["@types/eslint", null],\
["eslint", "npm:8.39.0"],\ ["eslint", "npm:8.39.0"],\
["globals", "npm:11.12.0"]\ ["globals", "npm:11.12.0"]\
@ -5305,10 +5285,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["highcharts", [\ ["highcharts", [\
["npm:10.3.3", {\ ["npm:11.0.0", {\
"packageLocation": "./.yarn/cache/highcharts-npm-10.3.3-c7af5563d7-f406901094.zip/node_modules/highcharts/",\ "packageLocation": "./.yarn/cache/highcharts-npm-11.0.0-df56f18474-f173287d41.zip/node_modules/highcharts/",\
"packageDependencies": [\ "packageDependencies": [\
["highcharts", "npm:10.3.3"]\ ["highcharts", "npm:11.0.0"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -6672,10 +6652,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}],\ }],\
["npm:3.3.4", {\ ["npm:3.3.6", {\
"packageLocation": "./.yarn/cache/nanoid-npm-3.3.4-3d250377d6-2fddd6dee9.zip/node_modules/nanoid/",\ "packageLocation": "./.yarn/cache/nanoid-npm-3.3.6-e6d6ae7e71-7d0eda6570.zip/node_modules/nanoid/",\
"packageDependencies": [\ "packageDependencies": [\
["nanoid", "npm:3.3.4"]\ ["nanoid", "npm:3.3.6"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -7085,17 +7065,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["pinia", [\ ["pinia", [\
["npm:2.0.34", {\ ["npm:2.0.35", {\
"packageLocation": "./.yarn/cache/pinia-npm-2.0.34-7d4aa360d9-f31333f481.zip/node_modules/pinia/",\ "packageLocation": "./.yarn/cache/pinia-npm-2.0.35-60f8addaf8-cecb1e1e97.zip/node_modules/pinia/",\
"packageDependencies": [\ "packageDependencies": [\
["pinia", "npm:2.0.34"]\ ["pinia", "npm:2.0.35"]\
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34", {\ ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35", {\
"packageLocation": "./.yarn/__virtual__/pinia-virtual-6f6dd9f79c/0/cache/pinia-npm-2.0.34-7d4aa360d9-f31333f481.zip/node_modules/pinia/",\ "packageLocation": "./.yarn/__virtual__/pinia-virtual-9f965060ea/0/cache/pinia-npm-2.0.35-60f8addaf8-cecb1e1e97.zip/node_modules/pinia/",\
"packageDependencies": [\ "packageDependencies": [\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\ ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["@types/typescript", null],\ ["@types/typescript", null],\
["@types/vue", null],\ ["@types/vue", null],\
["@types/vue__composition-api", null],\ ["@types/vue__composition-api", null],\
@ -7103,7 +7083,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@vue/devtools-api", "npm:6.5.0"],\ ["@vue/devtools-api", "npm:6.5.0"],\
["typescript", null],\ ["typescript", null],\
["vue", "npm:3.2.47"],\ ["vue", "npm:3.2.47"],\
["vue-demi", "virtual:6f6dd9f79c280c43eb0d7f97e114765720a0e387c74408db7657a81c12a363a8671ba8b9ec4011ddc5bd8e65d68e3dccc253556d637d3610f1528552fd281364#npm:0.13.1"]\ ["vue-demi", "virtual:9f965060eafe5d7d052212cc7fd6fef913db724957f695b650ecef8b5179ad752b46bfcd2beb1965c04a72ea327c1241f8e860a445f77aaf193b4f78ba29f8b4#npm:0.13.1"]\
],\ ],\
"packagePeers": [\ "packagePeers": [\
"@types/typescript",\ "@types/typescript",\
@ -7132,7 +7112,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@types/vue", null],\ ["@types/vue", null],\
["@types/vue__composition-api", null],\ ["@types/vue__composition-api", null],\
["@vue/composition-api", null],\ ["@vue/composition-api", null],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\ ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["vue", "npm:3.2.47"],\ ["vue", "npm:3.2.47"],\
["vue-demi", "virtual:f56fcf19bbebc2ada1b28955da8cc216b1e9a569a1a7337d2d1926c1ebd1bc7a5bd91aedae1d05c15c8562f33caf7c59bd3020a667340f6bdc6a7b13fc2ba847#npm:0.12.5"]\ ["vue-demi", "virtual:f56fcf19bbebc2ada1b28955da8cc216b1e9a569a1a7337d2d1926c1ebd1bc7a5bd91aedae1d05c15c8562f33caf7c59bd3020a667340f6bdc6a7b13fc2ba847#npm:0.12.5"]\
],\ ],\
@ -7158,11 +7138,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}],\ }],\
["npm:8.4.21", {\ ["npm:8.4.23", {\
"packageLocation": "./.yarn/cache/postcss-npm-8.4.21-9ad76bf58d-e39ac60ccd.zip/node_modules/postcss/",\ "packageLocation": "./.yarn/cache/postcss-npm-8.4.23-d4a02a832d-8bb9d1b2ea.zip/node_modules/postcss/",\
"packageDependencies": [\ "packageDependencies": [\
["postcss", "npm:8.4.21"],\ ["postcss", "npm:8.4.23"],\
["nanoid", "npm:3.3.4"],\ ["nanoid", "npm:3.3.6"],\
["picocolors", "npm:1.0.0"],\ ["picocolors", "npm:1.0.0"],\
["source-map-js", "npm:1.0.2"]\ ["source-map-js", "npm:1.0.2"]\
],\ ],\
@ -7647,10 +7627,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["rollup", [\ ["rollup", [\
["npm:3.20.2", {\ ["npm:3.21.6", {\
"packageLocation": "./.yarn/cache/rollup-npm-3.20.2-f1b9d0e0bb-34b0932839.zip/node_modules/rollup/",\ "packageLocation": "./.yarn/cache/rollup-npm-3.21.6-ae95b73a21-bb6786ee0d.zip/node_modules/rollup/",\
"packageDependencies": [\ "packageDependencies": [\
["rollup", "npm:3.20.2"],\ ["rollup", "npm:3.21.6"],\
["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=18f3a7"]\ ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=18f3a7"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
@ -7664,7 +7644,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@faker-js/faker", "npm:7.6.0"],\ ["@faker-js/faker", "npm:7.6.0"],\
["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/core", "npm:6.1.6"],\ ["@fullcalendar/core", "npm:6.1.6"],\
["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.5"],\ ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\ ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.6"],\
@ -7677,9 +7657,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@popperjs/core", "npm:2.11.7"],\ ["@popperjs/core", "npm:2.11.7"],\
["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\ ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\
["@twuni/emojify", "npm:1.0.2"],\ ["@twuni/emojify", "npm:1.0.2"],\
["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.0"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\
["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\
["bootstrap-icons", "npm:1.10.4"],\ ["bootstrap-icons", "npm:1.10.5"],\
["browser-fs-access", "npm:0.33.1"],\ ["browser-fs-access", "npm:0.33.1"],\
["browserlist", "npm:1.0.1"],\ ["browserlist", "npm:1.0.1"],\
["c8", "npm:7.13.0"],\ ["c8", "npm:7.13.0"],\
@ -7687,14 +7667,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["d3", "npm:7.8.4"],\ ["d3", "npm:7.8.4"],\
["eslint", "npm:8.39.0"],\ ["eslint", "npm:8.39.0"],\
["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\
["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.2"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.13.3"],\
["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\
["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.7.0"],\ ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.7.0"],\
["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\
["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\
["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.11.0"],\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.11.0"],\
["file-saver", "npm:2.0.5"],\ ["file-saver", "npm:2.0.5"],\
["highcharts", "npm:10.3.3"],\ ["highcharts", "npm:11.0.0"],\
["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.15.1"],\ ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.15.1"],\
["ical.js", "npm:1.5.0"],\ ["ical.js", "npm:1.5.0"],\
["jquery", "npm:3.6.4"],\ ["jquery", "npm:3.6.4"],\
@ -7710,7 +7690,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["murmurhash-js", "npm:1.0.0"],\ ["murmurhash-js", "npm:1.0.0"],\
["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\ ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\
["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\ ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\
["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.34"],\ ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.35"],\
["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\
["pug", "npm:3.0.2"],\ ["pug", "npm:3.0.2"],\
["sass", "npm:1.62.0"],\ ["sass", "npm:1.62.0"],\
@ -7722,7 +7702,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["slugify", "npm:1.6.6"],\ ["slugify", "npm:1.6.6"],\
["sortablejs", "npm:1.15.0"],\ ["sortablejs", "npm:1.15.0"],\
["vanillajs-datepicker", "npm:1.3.1"],\ ["vanillajs-datepicker", "npm:1.3.1"],\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["vue", "npm:3.2.47"],\ ["vue", "npm:3.2.47"],\
["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\ ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\
["zxcvbn", "npm:4.4.2"]\ ["zxcvbn", "npm:4.4.2"]\
@ -8518,17 +8498,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\ }]\
]],\ ]],\
["vite", [\ ["vite", [\
["npm:4.2.1", {\ ["npm:4.3.4", {\
"packageLocation": "./.yarn/cache/vite-npm-4.2.1-a0fa6996de-70eb162ffc.zip/node_modules/vite/",\ "packageLocation": "./.yarn/cache/vite-npm-4.3.4-4744edd48c-90ce3923ef.zip/node_modules/vite/",\
"packageDependencies": [\ "packageDependencies": [\
["vite", "npm:4.2.1"]\ ["vite", "npm:4.3.4"]\
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1", {\ ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4", {\
"packageLocation": "./.yarn/__virtual__/vite-virtual-aec8c25c85/0/cache/vite-npm-4.2.1-a0fa6996de-70eb162ffc.zip/node_modules/vite/",\ "packageLocation": "./.yarn/__virtual__/vite-virtual-610e3576a6/0/cache/vite-npm-4.3.4-4744edd48c-90ce3923ef.zip/node_modules/vite/",\
"packageDependencies": [\ "packageDependencies": [\
["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.1"],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\
["@types/less", null],\ ["@types/less", null],\
["@types/node", null],\ ["@types/node", null],\
["@types/sass", null],\ ["@types/sass", null],\
@ -8538,9 +8518,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["esbuild", "npm:0.17.13"],\ ["esbuild", "npm:0.17.13"],\
["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=18f3a7"],\ ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=18f3a7"],\
["less", null],\ ["less", null],\
["postcss", "npm:8.4.21"],\ ["postcss", "npm:8.4.23"],\
["resolve", "patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"],\ ["rollup", "npm:3.21.6"],\
["rollup", "npm:3.20.2"],\
["sass", "npm:1.62.0"],\ ["sass", "npm:1.62.0"],\
["stylus", null],\ ["stylus", null],\
["sugarss", null],\ ["sugarss", null],\
@ -8617,16 +8596,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["npm:0.13.1", {\ ["npm:0.13.1", {\
"packageLocation": "./.yarn/unplugged/vue-demi-virtual-adda43c8bf/node_modules/vue-demi/",\ "packageLocation": "./.yarn/unplugged/vue-demi-virtual-89e28ee82b/node_modules/vue-demi/",\
"packageDependencies": [\ "packageDependencies": [\
["vue-demi", "npm:0.13.1"]\ ["vue-demi", "npm:0.13.1"]\
],\ ],\
"linkType": "SOFT"\ "linkType": "SOFT"\
}],\ }],\
["virtual:6f6dd9f79c280c43eb0d7f97e114765720a0e387c74408db7657a81c12a363a8671ba8b9ec4011ddc5bd8e65d68e3dccc253556d637d3610f1528552fd281364#npm:0.13.1", {\ ["virtual:9f965060eafe5d7d052212cc7fd6fef913db724957f695b650ecef8b5179ad752b46bfcd2beb1965c04a72ea327c1241f8e860a445f77aaf193b4f78ba29f8b4#npm:0.13.1", {\
"packageLocation": "./.yarn/unplugged/vue-demi-virtual-adda43c8bf/node_modules/vue-demi/",\ "packageLocation": "./.yarn/unplugged/vue-demi-virtual-89e28ee82b/node_modules/vue-demi/",\
"packageDependencies": [\ "packageDependencies": [\
["vue-demi", "virtual:6f6dd9f79c280c43eb0d7f97e114765720a0e387c74408db7657a81c12a363a8671ba8b9ec4011ddc5bd8e65d68e3dccc253556d637d3610f1528552fd281364#npm:0.13.1"],\ ["vue-demi", "virtual:9f965060eafe5d7d052212cc7fd6fef913db724957f695b650ecef8b5179ad752b46bfcd2beb1965c04a72ea327c1241f8e860a445f77aaf193b4f78ba29f8b4#npm:0.13.1"],\
["@types/vue", null],\ ["@types/vue", null],\
["@types/vue__composition-api", null],\ ["@types/vue__composition-api", null],\
["@vue/composition-api", null],\ ["@vue/composition-api", null],\

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1061,7 +1061,7 @@ onBeforeUnmount(() => {
&-cell-ts { &-cell-ts {
border-right: 1px solid $gray-300 !important; border-right: 1px solid $gray-300 !important;
// -> Use system font instead of Montserrat so that all digits align vertically // -> Use system font instead of Inter so that all digits align vertically
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-size: 1rem; font-size: 1rem;
font-weight: 700; font-weight: 700;

View file

@ -8,6 +8,8 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css">
<link href="https://static.ietf.org/fonts/inter/import.css" rel="stylesheet">
<link href="https://static.ietf.org/fonts/noto-sans-mono/import.css" rel="stylesheet">
</head> </head>
<body> <body>
<div class="pt-3 container-fluid"> <div class="pt-3 container-fluid">

View file

@ -11,7 +11,7 @@
"nanoid": "4.0.2", "nanoid": "4.0.2",
"nanoid-dictionary": "5.0.0-beta.1", "nanoid-dictionary": "5.0.0-beta.1",
"slugify": "1.6.6", "slugify": "1.6.6",
"tar": "^6.1.13", "tar": "^6.1.14",
"yargs": "^17.7.2" "yargs": "^17.7.2"
}, },
"engines": { "engines": {
@ -483,13 +483,13 @@
} }
}, },
"node_modules/tar": { "node_modules/tar": {
"version": "6.1.13", "version": "6.1.14",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
"integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
"dependencies": { "dependencies": {
"chownr": "^2.0.0", "chownr": "^2.0.0",
"fs-minipass": "^2.0.0", "fs-minipass": "^2.0.0",
"minipass": "^4.0.0", "minipass": "^5.0.0",
"minizlib": "^2.1.1", "minizlib": "^2.1.1",
"mkdirp": "^1.0.3", "mkdirp": "^1.0.3",
"yallist": "^4.0.0" "yallist": "^4.0.0"
@ -566,9 +566,9 @@
} }
}, },
"node_modules/tar/node_modules/minipass": { "node_modules/tar/node_modules/minipass": {
"version": "4.2.5", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
@ -977,13 +977,13 @@
} }
}, },
"tar": { "tar": {
"version": "6.1.13", "version": "6.1.14",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz",
"integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==",
"requires": { "requires": {
"chownr": "^2.0.0", "chownr": "^2.0.0",
"fs-minipass": "^2.0.0", "fs-minipass": "^2.0.0",
"minipass": "^4.0.0", "minipass": "^5.0.0",
"minizlib": "^2.1.1", "minizlib": "^2.1.1",
"mkdirp": "^1.0.3", "mkdirp": "^1.0.3",
"yallist": "^4.0.0" "yallist": "^4.0.0"
@ -995,9 +995,9 @@
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
}, },
"minipass": { "minipass": {
"version": "4.2.5", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==" "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="
} }
} }
}, },

View file

@ -7,7 +7,7 @@
"nanoid": "4.0.2", "nanoid": "4.0.2",
"nanoid-dictionary": "5.0.0-beta.1", "nanoid-dictionary": "5.0.0-beta.1",
"slugify": "1.6.6", "slugify": "1.6.6",
"tar": "^6.1.13", "tar": "^6.1.14",
"yargs": "^17.7.2" "yargs": "^17.7.2"
}, },
"engines": { "engines": {

View file

@ -0,0 +1,81 @@
#!/usr/bin/env node
import Docker from 'dockerode'
async function main () {
// Connect to Docker Engine API
console.info('Connecting to Docker Engine API...')
const dock = new Docker()
await dock.ping()
console.info('Connected to Docker Engine API.')
// Pull latest DB image
console.info('Pulling latest DB docker image...')
const dbImagePullStream = await dock.pull('ghcr.io/ietf-tools/datatracker-db:latest')
await new Promise((resolve, reject) => {
dock.modem.followProgress(dbImagePullStream, (err, res) => err ? reject(err) : resolve(res))
})
console.info('Pulled latest DB docker image successfully.')
// Terminate existing containers
console.info('Terminating DB containers and stopping app containers...')
const containers = await dock.listContainers({ all: true })
const dbContainersToCreate = []
const containersToRestart = []
for (const container of containers) {
if (
container.Names.some(n => n.startsWith('/dt-db-'))
) {
console.info(`Terminating DB container ${container.Id}...`)
dbContainersToCreate.push(container.Names.find(n => n.startsWith('/dt-db-')).substring(1))
const oldContainer = dock.getContainer(container.Id)
if (container.State === 'running') {
await oldContainer.stop({ t: 5 })
}
await oldContainer.remove({
force: true,
v: true
})
} else if (
container.Names.some(n => n.startsWith('/dt-app-')) ||
container.Names.some(n => n.startsWith('/dt-celery-')) ||
container.Names.some(n => n.startsWith('/dt-beat-'))
) {
if (container.State === 'running') {
const appContainer = dock.getContainer(container.Id)
containersToRestart.push(appContainer)
console.info(`Stopping app / celery container ${container.Id}...`)
await appContainer.stop({ t: 5 })
}
}
}
console.info('DB containers have been terminated.')
// Create DB containers
for (const dbContainerName of dbContainersToCreate) {
console.info(`Recreating DB docker container... [${dbContainerName}]`)
const dbContainer = await dock.createContainer({
Image: 'ghcr.io/ietf-tools/datatracker-db:latest',
name: dbContainerName,
Hostname: dbContainerName,
HostConfig: {
NetworkMode: 'shared',
RestartPolicy: {
Name: 'unless-stopped'
}
}
})
await dbContainer.start()
}
console.info('Recreated and started DB docker containers successfully.')
console.info('Restarting app / celery containers...')
for (const appContainer of containersToRestart) {
await appContainer.start()
}
console.info('Done.')
process.exit(0)
}
main()

File diff suppressed because it is too large Load diff

View file

@ -9,12 +9,12 @@
"fs-extra": "^11.1.1", "fs-extra": "^11.1.1",
"got": "^12.6.0", "got": "^12.6.0",
"keypress": "^0.2.1", "keypress": "^0.2.1",
"listr2": "^5.0.8", "listr2": "^6.3.1",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"luxon": "^3.3.0", "luxon": "^3.3.0",
"pretty-bytes": "^6.1.0", "pretty-bytes": "^6.1.0",
"tar": "^6.1.13", "tar": "^6.1.14",
"yargs": "^17.7.1" "yargs": "^17.7.2"
}, },
"engines": { "engines": {
"node": ">=16" "node": ">=16"

View file

@ -0,0 +1,20 @@
# Copyright The IETF Trust 2023, All Rights Reserved
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('doc', '0002_auto_20230320_1222'),
]
operations = [
migrations.RemoveField(
model_name='dochistory',
name='order',
),
migrations.RemoveField(
model_name='document',
name='order',
),
]

View file

@ -113,7 +113,6 @@ class DocumentInfo(models.Model):
pages = models.IntegerField(blank=True, null=True) pages = models.IntegerField(blank=True, null=True)
words = models.IntegerField(blank=True, null=True) words = models.IntegerField(blank=True, null=True)
formal_languages = models.ManyToManyField(FormalLanguageName, blank=True, help_text="Formal languages used in document") formal_languages = models.ManyToManyField(FormalLanguageName, blank=True, help_text="Formal languages used in document")
order = models.IntegerField(default=1, blank=True) # This is probably obviated by SessionPresentaion.order
intended_std_level = ForeignKey(IntendedStdLevelName, verbose_name="Intended standardization level", blank=True, null=True) intended_std_level = ForeignKey(IntendedStdLevelName, verbose_name="Intended standardization level", blank=True, null=True)
std_level = ForeignKey(StdLevelName, verbose_name="Standardization level", blank=True, null=True) std_level = ForeignKey(StdLevelName, verbose_name="Standardization level", blank=True, null=True)
ad = ForeignKey(Person, verbose_name="area director", related_name='ad_%(class)s_set', blank=True, null=True) ad = ForeignKey(Person, verbose_name="area director", related_name='ad_%(class)s_set', blank=True, null=True)

View file

@ -1,4 +1,4 @@
# Copyright The IETF Trust 2009-2022, All Rights Reserved # Copyright The IETF Trust 2009-2023, All Rights Reserved
# Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com> # All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com>
@ -32,6 +32,8 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import debug # pyflakes: ignore
from django import template from django import template
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.db import models from django.db import models
@ -68,7 +70,7 @@ def wg_menu(flavor):
p.short_name = p.short_name[: -len(" Area")] p.short_name = p.short_name[: -len(" Area")]
if p.type_id == "area": if p.type_id == "area":
p.menu_url = "/wg/#" + p.acronym p.menu_url = "/wg/#" + p.acronym.upper()
elif p.acronym == "irtf": elif p.acronym == "irtf":
p.menu_url = "/rg/" p.menu_url = "/rg/"
elif p.acronym == "iab": elif p.acronym == "iab":

View file

@ -1,17 +1,56 @@
# Copyright The IETF Trust 2023, All Rights Reserved
from django import template from django import template
from ietf.name.models import SessionStatusName
register = template.Library() register = template.Library()
@register.filter
def presented_versions(session,doc):
sp = session.sessionpresentation_set.filter(document=doc)
if not sp:
return "Document not in session"
else:
rev = sp.first().rev
return rev if rev else "(current)"
@register.filter @register.filter
def can_manage_materials(session,user): def presented_versions(session, doc):
sp = session.sessionpresentation_set.filter(document=doc)
if not sp:
return "Document not in session"
else:
rev = sp.first().rev
return rev if rev else "(current)"
@register.filter
def can_manage_materials(session, user):
return session.can_manage_materials(user) return session.can_manage_materials(user)
@register.filter
def describe_with_tz(session):
# Very similar to session.__str__, but doesn't treat interims differently from sessions at an IETF meeting
# and displays the timeslot in the meeting's timezone.
if session is None:
return ""
status_id = None
if hasattr(session, "current_status"):
status_id = session.current_status
elif session.pk is not None:
latest_event = session.schedulingevent_set.order_by("-time", "-id").first()
if latest_event:
status_id = latest_event.status_id
if status_id in ("canceled", "disappr", "notmeet", "deleted"):
ss0name = "(%s)" % SessionStatusName.objects.get(slug=status_id).name
else:
ss0name = "(unscheduled)"
ss = session.timeslotassignments.filter(
schedule__in=[
session.meeting.schedule,
session.meeting.schedule.base if session.meeting.schedule else None,
]
).order_by("timeslot__time")
if ss:
ss0name = ",".join(
x.timeslot.time.astimezone(session.meeting.tz()).strftime("%a-%H%M")
for x in ss
)
ss0name += f" {session.meeting.tz()}"
return f"{session.meeting}: {session.group.acronym} {session.name} {ss0name}"

View file

@ -2786,7 +2786,7 @@
"about_page": "ietf.group.views.group_about", "about_page": "ietf.group.views.group_about",
"acts_like_wg": false, "acts_like_wg": false,
"admin_roles": "[\n \"chair\"\n]", "admin_roles": "[\n \"chair\"\n]",
"agenda_filter_type": "none", "agenda_filter_type": "heading",
"agenda_type": "ietf", "agenda_type": "ietf",
"create_wiki": false, "create_wiki": false,
"custom_group_roles": false, "custom_group_roles": false,
@ -2800,12 +2800,12 @@
"has_chartering_process": false, "has_chartering_process": false,
"has_default_chat": false, "has_default_chat": false,
"has_documents": false, "has_documents": false,
"has_meetings": false, "has_meetings": true,
"has_milestones": false, "has_milestones": false,
"has_nonsession_materials": false, "has_nonsession_materials": false,
"has_reviews": false, "has_reviews": false,
"has_session_materials": false, "has_session_materials": false,
"is_schedulable": false, "is_schedulable": true,
"material_types": "[\n \"slides\"\n]", "material_types": "[\n \"slides\"\n]",
"matman_roles": "[\n \"chair\"\n]", "matman_roles": "[\n \"chair\"\n]",
"need_parent": false, "need_parent": false,
@ -2813,7 +2813,7 @@
"req_subm_approval": false, "req_subm_approval": false,
"role_order": "[\n \"chair\"\n]", "role_order": "[\n \"chair\"\n]",
"session_purposes": "[\n \"closed_meeting\",\n \"officehours\"\n]", "session_purposes": "[\n \"closed_meeting\",\n \"officehours\"\n]",
"show_on_agenda": false "show_on_agenda": true
}, },
"model": "group.groupfeatures", "model": "group.groupfeatures",
"pk": "adm" "pk": "adm"
@ -3284,8 +3284,8 @@
"about_page": "ietf.group.views.group_about", "about_page": "ietf.group.views.group_about",
"acts_like_wg": false, "acts_like_wg": false,
"admin_roles": "[\n \"chair\",\n \"lead\"\n]", "admin_roles": "[\n \"chair\",\n \"lead\"\n]",
"agenda_filter_type": "none", "agenda_filter_type": "heading",
"agenda_type": "ad", "agenda_type": "ietf",
"create_wiki": false, "create_wiki": false,
"custom_group_roles": true, "custom_group_roles": true,
"customize_workflow": false, "customize_workflow": false,
@ -3298,12 +3298,12 @@
"has_chartering_process": false, "has_chartering_process": false,
"has_default_chat": false, "has_default_chat": false,
"has_documents": true, "has_documents": true,
"has_meetings": false, "has_meetings": true,
"has_milestones": false, "has_milestones": false,
"has_nonsession_materials": false, "has_nonsession_materials": false,
"has_reviews": false, "has_reviews": false,
"has_session_materials": false, "has_session_materials": false,
"is_schedulable": false, "is_schedulable": true,
"material_types": "[\n \"slides\"\n]", "material_types": "[\n \"slides\"\n]",
"matman_roles": "[\n \"chair\",\n \"delegate\"\n]", "matman_roles": "[\n \"chair\",\n \"delegate\"\n]",
"need_parent": false, "need_parent": false,
@ -3311,7 +3311,7 @@
"req_subm_approval": true, "req_subm_approval": true,
"role_order": "[\n \"chair\",\n \"delegate\"\n]", "role_order": "[\n \"chair\",\n \"delegate\"\n]",
"session_purposes": "[\n \"officehours\"\n]", "session_purposes": "[\n \"officehours\"\n]",
"show_on_agenda": false "show_on_agenda": true
}, },
"model": "group.groupfeatures", "model": "group.groupfeatures",
"pk": "ise" "pk": "ise"
@ -4098,8 +4098,8 @@
"doc_ad", "doc_ad",
"doc_group_chairs", "doc_group_chairs",
"doc_group_delegates", "doc_group_delegates",
"doc_shepherd", "doc_non_ietf_stream_manager",
"doc_stream_manager" "doc_shepherd"
] ]
}, },
"model": "mailtrigger.mailtrigger", "model": "mailtrigger.mailtrigger",
@ -5005,6 +5005,35 @@
"model": "mailtrigger.mailtrigger", "model": "mailtrigger.mailtrigger",
"pk": "review_completed_genart_telechat" "pk": "review_completed_genart_telechat"
}, },
{
"fields": {
"cc": [
"review_doc_all_parties",
"review_doc_group_mail_list"
],
"desc": "Recipients when a httpdir Early review is completed",
"to": [
"review_team_mail_list"
]
},
"model": "mailtrigger.mailtrigger",
"pk": "review_completed_httpdir_early"
},
{
"fields": {
"cc": [
"ietf_last_call",
"review_doc_all_parties",
"review_doc_group_mail_list"
],
"desc": "Recipients when a httpdir Telechat review is completed",
"to": [
"review_team_mail_list"
]
},
"model": "mailtrigger.mailtrigger",
"pk": "review_completed_httpdir_telechat"
},
{ {
"fields": { "fields": {
"cc": [ "cc": [
@ -6025,7 +6054,7 @@
}, },
{ {
"fields": { "fields": {
"desc": "The Internet-Drafts ticketing system", "desc": "The Internet-Draft ticketing system",
"template": "<internet-drafts@ietf.org>" "template": "<internet-drafts@ietf.org>"
}, },
"model": "mailtrigger.recipient", "model": "mailtrigger.recipient",
@ -11328,7 +11357,7 @@
"name": "Editorial Stream Approval Group", "name": "Editorial Stream Approval Group",
"order": 0, "order": 0,
"used": true, "used": true,
"verbose_name": "" "verbose_name": "Editorial Stream Approval Group"
}, },
"model": "name.grouptypename", "model": "name.grouptypename",
"pk": "edappr" "pk": "edappr"
@ -11339,7 +11368,7 @@
"name": "Editorial Stream Working Group", "name": "Editorial Stream Working Group",
"order": 0, "order": 0,
"used": true, "used": true,
"verbose_name": "" "verbose_name": "Editorial Stream Working Group"
}, },
"model": "name.grouptypename", "model": "name.grouptypename",
"pk": "edwg" "pk": "edwg"
@ -11460,7 +11489,7 @@
"name": "Program", "name": "Program",
"order": 0, "order": 0,
"used": true, "used": true,
"verbose_name": "" "verbose_name": "IAB Program"
}, },
"model": "name.grouptypename", "model": "name.grouptypename",
"pk": "program" "pk": "program"
@ -11482,7 +11511,7 @@
"name": "Directorate (with reviews)", "name": "Directorate (with reviews)",
"order": 0, "order": 0,
"used": true, "used": true,
"verbose_name": "" "verbose_name": "Review Team"
}, },
"model": "name.grouptypename", "model": "name.grouptypename",
"pk": "review" "pk": "review"
@ -11545,8 +11574,8 @@
{ {
"fields": { "fields": {
"default_offset_days": -19, "default_offset_days": -19,
"desc": "Internet-Draft submission cut-off for -00 drafts by UTC 23:59", "desc": "Internet-Draft submission cut-off for -00 I-Ds by UTC 23:59",
"name": "00 ID Cutoff", "name": "00 I-D Cutoff",
"order": 0, "order": 0,
"used": false "used": false
}, },
@ -11556,8 +11585,8 @@
{ {
"fields": { "fields": {
"default_offset_days": -12, "default_offset_days": -12,
"desc": "Internet-Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59", "desc": "Internet-Draft submission cut-off for revised (-01 and above) I-Ds by UTC 23:59",
"name": "01 ID Cutoff", "name": "01 I-D Cutoff",
"order": 0, "order": 0,
"used": false "used": false
}, },
@ -11699,8 +11728,8 @@
{ {
"fields": { "fields": {
"default_offset_days": -12, "default_offset_days": -12,
"desc": "Internet-Draft submission cut-off (for all drafts, including -00) by UTC 23:59", "desc": "Internet-Draft submission cut-off (for all Internet-Drafts, including -00) by UTC 23:59",
"name": "ID Cutoff", "name": "I-D Cutoff",
"order": 0, "order": 0,
"used": true "used": true
}, },
@ -16356,9 +16385,9 @@
"fields": { "fields": {
"command": "xym", "command": "xym",
"switch": "--version", "switch": "--version",
"time": "2023-01-31T08:09:46.678Z", "time": "2023-05-14T07:09:32.713Z",
"used": true, "used": true,
"version": "xym 0.6.2" "version": "xym 0.7.0"
}, },
"model": "utils.versioninfo", "model": "utils.versioninfo",
"pk": 1 "pk": 1
@ -16367,7 +16396,7 @@
"fields": { "fields": {
"command": "pyang", "command": "pyang",
"switch": "--version", "switch": "--version",
"time": "2023-01-31T08:09:47.011Z", "time": "2023-05-14T07:09:33.045Z",
"used": true, "used": true,
"version": "pyang 2.5.3" "version": "pyang 2.5.3"
}, },
@ -16378,7 +16407,7 @@
"fields": { "fields": {
"command": "yanglint", "command": "yanglint",
"switch": "--version", "switch": "--version",
"time": "2023-01-31T08:09:47.028Z", "time": "2023-05-14T07:09:33.065Z",
"used": true, "used": true,
"version": "yanglint SO 1.9.2" "version": "yanglint SO 1.9.2"
}, },
@ -16389,9 +16418,9 @@
"fields": { "fields": {
"command": "xml2rfc", "command": "xml2rfc",
"switch": "--version", "switch": "--version",
"time": "2023-01-31T08:09:48.031Z", "time": "2023-05-14T07:09:33.970Z",
"used": true, "used": true,
"version": "xml2rfc 3.16.0" "version": "xml2rfc 3.17.1"
}, },
"model": "utils.versioninfo", "model": "utils.versioninfo",
"pk": 4 "pk": 4

View file

@ -1,4 +1,4 @@
# Copyright The IETF Trust 2007-2019, All Rights Reserved # Copyright The IETF Trust 2007-2023, All Rights Reserved
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import datetime import datetime
@ -129,7 +129,7 @@ def is_combined(session,meeting,schedule=None):
def send_notifications(meeting, groups, person): def send_notifications(meeting, groups, person):
''' '''
Send session scheduled email notifications for each group in groups. Person is the Send session scheduled email notifications for each group in groups. Person is the
user who initiated this action, request.uesr.get_profile(). user who initiated this action, request.user.get_profile().
''' '''
now = timezone.now() now = timezone.now()
for group in groups: for group in groups:
@ -150,7 +150,7 @@ def send_notifications(meeting, groups, person):
t = d['timeslot'] t = d['timeslot']
dur = s.requested_duration.seconds/60 dur = s.requested_duration.seconds/60
items[i]['duration'] = "%d:%02d" % (dur//60, dur%60) items[i]['duration'] = "%d:%02d" % (dur//60, dur%60)
items[i]['period'] = '%s-%s' % (t.time.strftime('%H%M'),(t.time + t.duration).strftime('%H%M')) items[i]['period'] = f"{t.local_start_time().strftime('%H%M')}-{t.local_end_time().strftime('%H%M')} {t.tz()}"
# send email # send email
first_event = SchedulingEvent.objects.filter(session=sessions[0]).select_related('by').order_by('time', 'id').first() first_event = SchedulingEvent.objects.filter(session=sessions[0]).select_related('by').order_by('time', 'id').first()

View file

@ -14,6 +14,9 @@ $popover-max-width: 100%;
@import "bootstrap/scss/variables"; @import "bootstrap/scss/variables";
$font-family-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
$font-family-monospace: "Noto Sans Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
$h1-font-size: $font-size-base * 2.2; $h1-font-size: $font-size-base * 2.2;
$h2-font-size: $font-size-base * 1.8; $h2-font-size: $font-size-base * 1.8;
$h3-font-size: $font-size-base * 1.6; $h3-font-size: $font-size-base * 1.6;

View file

@ -194,7 +194,7 @@ class SubmissionBaseUploadForm(forms.Form):
def clean(self): def clean(self):
if self.shutdown and not has_role(self.request.user, "Secretariat"): if self.shutdown and not has_role(self.request.user, "Secretariat"):
raise forms.ValidationError('The submission tool is currently shut down') raise forms.ValidationError(self.cutoff_warning)
# check general submission rate thresholds before doing any more work # check general submission rate thresholds before doing any more work
today = date_today() today = date_today()
@ -383,7 +383,7 @@ class DeprecatedSubmissionBaseUploadForm(SubmissionBaseUploadForm):
return msgs return msgs
if self.shutdown and not has_role(self.request.user, "Secretariat"): if self.shutdown and not has_role(self.request.user, "Secretariat"):
raise forms.ValidationError('The submission tool is currently shut down') raise forms.ValidationError(self.cutoff_warning)
for ext in self.formats: for ext in self.formats:
f = self.cleaned_data.get(ext, None) f = self.cleaned_data.get(ext, None)

View file

@ -2744,6 +2744,10 @@ Subject: test
class ApiSubmissionTests(BaseSubmitTestCase): class ApiSubmissionTests(BaseSubmitTestCase):
TASK_TO_MOCK = "ietf.submit.views.process_and_accept_uploaded_submission_task" TASK_TO_MOCK = "ietf.submit.views.process_and_accept_uploaded_submission_task"
def setUp(self):
super().setUp()
MeetingFactory(type_id='ietf', date=date_today()+datetime.timedelta(days=60))
def test_upload_draft(self): def test_upload_draft(self):
"""api_submission accepts a submission and queues it for processing""" """api_submission accepts a submission and queues it for processing"""
url = urlreverse('ietf.submit.views.api_submission') url = urlreverse('ietf.submit.views.api_submission')
@ -2890,6 +2894,24 @@ class ApiSubmissionTests(BaseSubmitTestCase):
r = self.client.get(urlreverse('ietf.submit.views.api_submission_status', kwargs={'submission_id': '999999'})) r = self.client.get(urlreverse('ietf.submit.views.api_submission_status', kwargs={'submission_id': '999999'}))
self.assertEqual(r.status_code, 404) self.assertEqual(r.status_code, 404)
def test_upload_blackout(self):
"""api_submission returns a useful error in the blackout period"""
# Put today in the blackout period
meeting = Meeting.get_current_meeting()
meeting.importantdate_set.create(name_id='idcutoff',date=date_today()-datetime.timedelta(days=2))
url = urlreverse('ietf.submit.views.api_submission')
xml, author = submission_file('draft-somebody-test-00', 'draft-somebody-test-00.xml', None, 'test_submission.xml')
data = {
'xml': xml,
'user': author.user.username,
}
with mock.patch('ietf.submit.views.process_uploaded_submission_task'):
r = self.client.post(url, data)
self.assertContains(r, 'The last submission time for the I-D submission was', status_code=400)
class SubmissionUploadFormTests(BaseSubmitTestCase): class SubmissionUploadFormTests(BaseSubmitTestCase):
def test_check_submission_thresholds(self): def test_check_submission_thresholds(self):

View file

@ -15,12 +15,8 @@
{% block title %}No title{% endblock %} {% block title %}No title{% endblock %}
</title> </title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
{% comment Halloween %} <link href="https://static.ietf.org/fonts/inter/import.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=IM+Fell+English+SC|IM+Fell+DW+Pica:400,400italic|Nova+Mono|IM+Fell+English:400,400italic&subset=latin-ext,latin' rel='stylesheet'> <link href="https://static.ietf.org/fonts/noto-sans-mono/import.css" rel="stylesheet">
{% endcomment %}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300..700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{% static 'ietf/css/ietf.css' %}"> <link rel="stylesheet" href="{% static 'ietf/css/ietf.css' %}">
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}"> <link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
<style> <style>

View file

@ -16,9 +16,6 @@
{% vite_asset 'client/main.js' %} {% vite_asset 'client/main.js' %}
{% endblock %} {% endblock %}
{% block morecss %} {% block morecss %}
body {
font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
/* Avoid hiding the page footer when on mobile with the footer toolbar overlay */ /* Avoid hiding the page footer when on mobile with the footer toolbar overlay */
@media screen and (max-width: 992px) { @media screen and (max-width: 992px) {

View file

@ -1,15 +1,16 @@
{% extends "base.html" %} {% extends "base.html" %}
{# Copyright The IETF Trust 2021, All Rights Reserved #} {# Copyright The IETF Trust 2023, All Rights Reserved #}
{% load origin %} {% load origin %}
{% load django_bootstrap5 %} {% load django_bootstrap5 %}
{% load session_filters %}
{% block pagehead %}{{ form.media.css }}{% endblock %} {% block pagehead %}{{ form.media.css }}{% endblock %}
{% block title %}Edit session "{{ session }}"{% endblock %} {% block title %}Edit session "{{ session|describe_with_tz }}"{% endblock %}
{% block content %} {% block content %}
{% origin %} {% origin %}
<h1> <h1>
Edit session Edit session
<br> <br>
<small class="text-muted">{{ session }}</small> <small class="text-muted">{{ session|describe_with_tz }}</small>
</h1> </h1>
<form class="session-details-form my-3" method="post"> <form class="session-details-form my-3" method="post">
{% csrf_token %} {% csrf_token %}

View file

@ -9,7 +9,7 @@
"dependencies": { "dependencies": {
"@fullcalendar/bootstrap5": "6.1.6", "@fullcalendar/bootstrap5": "6.1.6",
"@fullcalendar/core": "6.1.6", "@fullcalendar/core": "6.1.6",
"@fullcalendar/daygrid": "6.1.5", "@fullcalendar/daygrid": "6.1.6",
"@fullcalendar/icalendar": "6.1.6", "@fullcalendar/icalendar": "6.1.6",
"@fullcalendar/interaction": "6.1.6", "@fullcalendar/interaction": "6.1.6",
"@fullcalendar/list": "6.1.6", "@fullcalendar/list": "6.1.6",
@ -19,12 +19,12 @@
"@popperjs/core": "2.11.7", "@popperjs/core": "2.11.7",
"@twuni/emojify": "1.0.2", "@twuni/emojify": "1.0.2",
"bootstrap": "5.2.3", "bootstrap": "5.2.3",
"bootstrap-icons": "1.10.4", "bootstrap-icons": "1.10.5",
"browser-fs-access": "0.33.1", "browser-fs-access": "0.33.1",
"caniuse-lite": "1.0.30001481", "caniuse-lite": "1.0.30001481",
"d3": "7.8.4", "d3": "7.8.4",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"highcharts": "10.3.3", "highcharts": "11.0.0",
"ical.js": "1.5.0", "ical.js": "1.5.0",
"jquery": "3.6.4", "jquery": "3.6.4",
"js-cookie": "3.0.5", "js-cookie": "3.0.5",
@ -37,7 +37,7 @@
"ms": "2.1.3", "ms": "2.1.3",
"murmurhash-js": "1.0.0", "murmurhash-js": "1.0.0",
"naive-ui": "2.34.3", "naive-ui": "2.34.3",
"pinia": "2.0.34", "pinia": "2.0.35",
"pinia-plugin-persist": "1.0.0", "pinia-plugin-persist": "1.0.0",
"select2": "4.1.0-rc.0", "select2": "4.1.0-rc.0",
"select2-bootstrap-5-theme": "1.3.0", "select2-bootstrap-5-theme": "1.3.0",
@ -56,12 +56,12 @@
"@parcel/transformer-inline-string": "2.8.3", "@parcel/transformer-inline-string": "2.8.3",
"@parcel/transformer-sass": "2.8.3", "@parcel/transformer-sass": "2.8.3",
"@rollup/pluginutils": "5.0.2", "@rollup/pluginutils": "5.0.2",
"@vitejs/plugin-vue": "4.1.0", "@vitejs/plugin-vue": "4.2.1",
"browserlist": "latest", "browserlist": "latest",
"c8": "7.13.0", "c8": "7.13.0",
"eslint": "8.39.0", "eslint": "8.39.0",
"eslint-config-standard": "17.0.0", "eslint-config-standard": "17.0.0",
"eslint-plugin-cypress": "2.13.2", "eslint-plugin-cypress": "2.13.3",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.27.5",
"eslint-plugin-n": "15.7.0", "eslint-plugin-n": "15.7.0",
"eslint-plugin-node": "11.1.0", "eslint-plugin-node": "11.1.0",
@ -73,7 +73,7 @@
"pug": "3.0.2", "pug": "3.0.2",
"sass": "1.62.0", "sass": "1.62.0",
"seedrandom": "3.0.5", "seedrandom": "3.0.5",
"vite": "4.2.1" "vite": "4.3.4"
}, },
"targets": { "targets": {
"ietf": { "ietf": {

View file

@ -15,7 +15,7 @@
"slugify": "1.6.6" "slugify": "1.6.6"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "1.32.3", "@playwright/test": "1.33.0",
"eslint": "8.39.0", "eslint": "8.39.0",
"eslint-config-standard": "17.0.0", "eslint-config-standard": "17.0.0",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.27.5",
@ -328,13 +328,13 @@
} }
}, },
"node_modules/@playwright/test": { "node_modules/@playwright/test": {
"version": "1.32.3", "version": "1.33.0",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
"integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "*", "@types/node": "*",
"playwright-core": "1.32.3" "playwright-core": "1.33.0"
}, },
"bin": { "bin": {
"playwright": "cli.js" "playwright": "cli.js"
@ -4330,9 +4330,9 @@
} }
}, },
"node_modules/playwright-core": { "node_modules/playwright-core": {
"version": "1.32.3", "version": "1.33.0",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
"integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
"dev": true, "dev": true,
"bin": { "bin": {
"playwright": "cli.js" "playwright": "cli.js"
@ -6040,14 +6040,14 @@
} }
}, },
"@playwright/test": { "@playwright/test": {
"version": "1.32.3", "version": "1.33.0",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
"integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/node": "*", "@types/node": "*",
"fsevents": "2.3.2", "fsevents": "2.3.2",
"playwright-core": "1.32.3" "playwright-core": "1.33.0"
} }
}, },
"@pnpm/network.ca-file": { "@pnpm/network.ca-file": {
@ -8993,9 +8993,9 @@
"dev": true "dev": true
}, },
"playwright-core": { "playwright-core": {
"version": "1.32.3", "version": "1.33.0",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
"integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
"dev": true "dev": true
}, },
"prelude-ls": { "prelude-ls": {

View file

@ -7,7 +7,7 @@
"test:debug": "playwright test --debug" "test:debug": "playwright test --debug"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "1.32.3", "@playwright/test": "1.33.0",
"eslint": "8.39.0", "eslint": "8.39.0",
"eslint-config-standard": "17.0.0", "eslint-config-standard": "17.0.0",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.27.5",

104
yarn.lock
View file

@ -320,16 +320,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@fullcalendar/daygrid@npm:6.1.5": "@fullcalendar/daygrid@npm:6.1.6, @fullcalendar/daygrid@npm:~6.1.6":
version: 6.1.5
resolution: "@fullcalendar/daygrid@npm:6.1.5"
peerDependencies:
"@fullcalendar/core": ~6.1.5
checksum: f62aa7364d0c51bb8121da988ba5784dc0ce775e15d87bfa7b4f52f0f0d12fd338aa634de93b43332167c105b6848dba47d184f23d12572235ebd16101f2b109
languageName: node
linkType: hard
"@fullcalendar/daygrid@npm:~6.1.6":
version: 6.1.6 version: 6.1.6
resolution: "@fullcalendar/daygrid@npm:6.1.6" resolution: "@fullcalendar/daygrid@npm:6.1.6"
peerDependencies: peerDependencies:
@ -1748,13 +1739,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@vitejs/plugin-vue@npm:4.1.0": "@vitejs/plugin-vue@npm:4.2.1":
version: 4.1.0 version: 4.2.1
resolution: "@vitejs/plugin-vue@npm:4.1.0" resolution: "@vitejs/plugin-vue@npm:4.2.1"
peerDependencies: peerDependencies:
vite: ^4.0.0 vite: ^4.0.0
vue: ^3.2.25 vue: ^3.2.25
checksum: 532192a3da39f3fd6ba9d4fa9de74533cf6e222785c26bcb75bde9f826c5c4a22ad6f0bb09fae83e3393f9d8d24b6982d547683b1967972a4350e8e76aecf3cb checksum: a7266a45378d5fd7813699cf97dfac0e313dc63bd245a1c932848b2b5dc58aede922231d5a534baeeb7e2842c7172f17194a4833bd6a7a6ed61dc0a31d60c7c9
languageName: node languageName: node
linkType: hard linkType: hard
@ -2165,10 +2156,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"bootstrap-icons@npm:1.10.4": "bootstrap-icons@npm:1.10.5":
version: 1.10.4 version: 1.10.5
resolution: "bootstrap-icons@npm:1.10.4" resolution: "bootstrap-icons@npm:1.10.5"
checksum: d76333e46dc75bc5b8942211d91703af5033e186f31bc7de06d7d816ba5ee7f70cd94c07b00d36321b104c0b86f5305936602b43504c7407168a00b6c2d2713d checksum: 8a0cfbd237723793dfb04106fdeed7f86bb59249a01a1623b325bf84d61306c22bb46d3df0795f80f0e77d43cd7485273571c253ee7910eb67fae9489691daad
languageName: node languageName: node
linkType: hard linkType: hard
@ -3448,14 +3439,14 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint-plugin-cypress@npm:2.13.2": "eslint-plugin-cypress@npm:2.13.3":
version: 2.13.2 version: 2.13.3
resolution: "eslint-plugin-cypress@npm:2.13.2" resolution: "eslint-plugin-cypress@npm:2.13.3"
dependencies: dependencies:
globals: ^11.12.0 globals: ^11.12.0
peerDependencies: peerDependencies:
eslint: ">= 3.2.1" eslint: ">= 3.2.1"
checksum: 81cc425cfced563cf50ad2553f887e20a39fe179275e95408c53989bcf8f65f0fac648b429d006130c84221edf99eada663a2c6419eb837bf81ece3d18998cf5 checksum: 9affbcee29e030a4251c4794f7533e8e8c0e3b98ab3470a2c730ed059f733c5857a04c7ac214cc0ca7aeef1b11242e72595de7fc1f6b8b4d4578d9eca10af203
languageName: node languageName: node
linkType: hard linkType: hard
@ -4209,10 +4200,10 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"highcharts@npm:10.3.3": "highcharts@npm:11.0.0":
version: 10.3.3 version: 11.0.0
resolution: "highcharts@npm:10.3.3" resolution: "highcharts@npm:11.0.0"
checksum: f40690109486fdada407cdc94f257dd869ebbcdd0c7ac4c7b85021c087523b4c32ea88725dce5f1b490c9669573240e17622c4765366ed4c38ff2b2503f092e9 checksum: f173287d413e1b7d55d6c8d1572e2469588ab2b10fd38f6a42159188be4bf61a9f06e559d591c4ed0a0e95cdd76b7c99d24fd928e9fdae948042f9bb2ff77ed5
languageName: node languageName: node
linkType: hard linkType: hard
@ -5430,12 +5421,12 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"nanoid@npm:^3.3.4": "nanoid@npm:^3.3.6":
version: 3.3.4 version: 3.3.6
resolution: "nanoid@npm:3.3.4" resolution: "nanoid@npm:3.3.6"
bin: bin:
nanoid: bin/nanoid.cjs nanoid: bin/nanoid.cjs
checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3
languageName: node languageName: node
linkType: hard linkType: hard
@ -5814,9 +5805,9 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"pinia@npm:2.0.34": "pinia@npm:2.0.35":
version: 2.0.34 version: 2.0.35
resolution: "pinia@npm:2.0.34" resolution: "pinia@npm:2.0.35"
dependencies: dependencies:
"@vue/devtools-api": ^6.5.0 "@vue/devtools-api": ^6.5.0
vue-demi: "*" vue-demi: "*"
@ -5829,7 +5820,7 @@ browserlist@latest:
optional: true optional: true
typescript: typescript:
optional: true optional: true
checksum: f31333f481b53b500341e43a6dd7d16a494963b9e0473f4e621439342bcc9eac529bd0aeb2574ca4e60596e1d96d32d23ef3e166425a842fa41fe927e26457de checksum: cecb1e1e97ed77f69166dc3815dfd05f712ac725763eb74059f5e4804b5902976c278a3d14ab5227892459e8d0b6d9645104e1d049e733228b696be98de450f0
languageName: node languageName: node
linkType: hard linkType: hard
@ -5861,14 +5852,14 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"postcss@npm:^8.4.21": "postcss@npm:^8.4.23":
version: 8.4.21 version: 8.4.23
resolution: "postcss@npm:8.4.21" resolution: "postcss@npm:8.4.23"
dependencies: dependencies:
nanoid: ^3.3.4 nanoid: ^3.3.6
picocolors: ^1.0.0 picocolors: ^1.0.0
source-map-js: ^1.0.2 source-map-js: ^1.0.2
checksum: e39ac60ccd1542d4f9d93d894048aac0d686b3bb38e927d8386005718e6793dbbb46930f0a523fe382f1bbd843c6d980aaea791252bf5e176180e5a4336d9679 checksum: 8bb9d1b2ea6e694f8987d4f18c94617971b2b8d141602725fedcc2222fdc413b776a6e1b969a25d627d7b2681ca5aabb56f59e727ef94072e1b6ac8412105a2f
languageName: node languageName: node
linkType: hard linkType: hard
@ -6289,9 +6280,9 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"rollup@npm:^3.18.0": "rollup@npm:^3.21.0":
version: 3.20.2 version: 3.21.6
resolution: "rollup@npm:3.20.2" resolution: "rollup@npm:3.21.6"
dependencies: dependencies:
fsevents: ~2.3.2 fsevents: ~2.3.2
dependenciesMeta: dependenciesMeta:
@ -6299,7 +6290,7 @@ browserlist@latest:
optional: true optional: true
bin: bin:
rollup: dist/bin/rollup rollup: dist/bin/rollup
checksum: 34b0932839b7c2a5d1742fb21ce95a47e0b49a0849f4abee2dccf25833187aa7babb898ca90d4fc761cffa4102b9ed0ac6ad7f6f6b96c8b8e2d67305abc5da65 checksum: bb6786ee0d755f253d3aa3820b05806a482abe9c9fd6dad14df83b386a370d48af20c4be66f732a15b5e89c0ae6269a7b82736b64f34ae61552c58de0eecedeb
languageName: node languageName: node
linkType: hard linkType: hard
@ -6310,7 +6301,7 @@ browserlist@latest:
"@faker-js/faker": 7.6.0 "@faker-js/faker": 7.6.0
"@fullcalendar/bootstrap5": 6.1.6 "@fullcalendar/bootstrap5": 6.1.6
"@fullcalendar/core": 6.1.6 "@fullcalendar/core": 6.1.6
"@fullcalendar/daygrid": 6.1.5 "@fullcalendar/daygrid": 6.1.6
"@fullcalendar/icalendar": 6.1.6 "@fullcalendar/icalendar": 6.1.6
"@fullcalendar/interaction": 6.1.6 "@fullcalendar/interaction": 6.1.6
"@fullcalendar/list": 6.1.6 "@fullcalendar/list": 6.1.6
@ -6323,9 +6314,9 @@ browserlist@latest:
"@popperjs/core": 2.11.7 "@popperjs/core": 2.11.7
"@rollup/pluginutils": 5.0.2 "@rollup/pluginutils": 5.0.2
"@twuni/emojify": 1.0.2 "@twuni/emojify": 1.0.2
"@vitejs/plugin-vue": 4.1.0 "@vitejs/plugin-vue": 4.2.1
bootstrap: 5.2.3 bootstrap: 5.2.3
bootstrap-icons: 1.10.4 bootstrap-icons: 1.10.5
browser-fs-access: 0.33.1 browser-fs-access: 0.33.1
browserlist: latest browserlist: latest
c8: 7.13.0 c8: 7.13.0
@ -6333,14 +6324,14 @@ browserlist@latest:
d3: 7.8.4 d3: 7.8.4
eslint: 8.39.0 eslint: 8.39.0
eslint-config-standard: 17.0.0 eslint-config-standard: 17.0.0
eslint-plugin-cypress: 2.13.2 eslint-plugin-cypress: 2.13.3
eslint-plugin-import: 2.27.5 eslint-plugin-import: 2.27.5
eslint-plugin-n: 15.7.0 eslint-plugin-n: 15.7.0
eslint-plugin-node: 11.1.0 eslint-plugin-node: 11.1.0
eslint-plugin-promise: 6.1.1 eslint-plugin-promise: 6.1.1
eslint-plugin-vue: 9.11.0 eslint-plugin-vue: 9.11.0
file-saver: 2.0.5 file-saver: 2.0.5
highcharts: 10.3.3 highcharts: 11.0.0
html-validate: 7.15.1 html-validate: 7.15.1
ical.js: 1.5.0 ical.js: 1.5.0
jquery: 3.6.4 jquery: 3.6.4
@ -6356,7 +6347,7 @@ browserlist@latest:
murmurhash-js: 1.0.0 murmurhash-js: 1.0.0
naive-ui: 2.34.3 naive-ui: 2.34.3
parcel: 2.8.3 parcel: 2.8.3
pinia: 2.0.34 pinia: 2.0.35
pinia-plugin-persist: 1.0.0 pinia-plugin-persist: 1.0.0
pug: 3.0.2 pug: 3.0.2
sass: 1.62.0 sass: 1.62.0
@ -6368,7 +6359,7 @@ browserlist@latest:
slugify: 1.6.6 slugify: 1.6.6
sortablejs: 1.15.0 sortablejs: 1.15.0
vanillajs-datepicker: 1.3.1 vanillajs-datepicker: 1.3.1
vite: 4.2.1 vite: 4.3.4
vue: 3.2.47 vue: 3.2.47
vue-router: 4.1.6 vue-router: 4.1.6
zxcvbn: 4.4.2 zxcvbn: 4.4.2
@ -7063,15 +7054,14 @@ browserlist@latest:
languageName: node languageName: node
linkType: hard linkType: hard
"vite@npm:4.2.1": "vite@npm:4.3.4":
version: 4.2.1 version: 4.3.4
resolution: "vite@npm:4.2.1" resolution: "vite@npm:4.3.4"
dependencies: dependencies:
esbuild: ^0.17.5 esbuild: ^0.17.5
fsevents: ~2.3.2 fsevents: ~2.3.2
postcss: ^8.4.21 postcss: ^8.4.23
resolve: ^1.22.1 rollup: ^3.21.0
rollup: ^3.18.0
peerDependencies: peerDependencies:
"@types/node": ">= 14" "@types/node": ">= 14"
less: "*" less: "*"
@ -7097,7 +7087,7 @@ browserlist@latest:
optional: true optional: true
bin: bin:
vite: bin/vite.js vite: bin/vite.js
checksum: 70eb162ffc299017a3c310e3adc95e9661def6b17aafd1f8e5e02e516766060435590dbe3df1e4e95acc3583c728a76e91f07c546221d1e701f1b2b021293f45 checksum: 90ce3923ef3e9a491851fb34effece43858d0ba915db17ea6ad0eb649bd77d81c69a71aafc55a6fbd11e4134b1a79eb7e2e3553f055d390d32ca0ff7c645acf6
languageName: node languageName: node
linkType: hard linkType: hard