From b4045789267e20892e028d46b520aa33cb47e512 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Tue, 30 Aug 2022 13:45:10 +0200 Subject: [PATCH] Upgrade client libraries --- client/package.json | 52 ++++++++---------- .../src/components/circle/CircleDiagram.vue | 6 +- .../components/circle/LearningPathDiagram.vue | 14 ++--- env_secrets/local_chrigu.env | Bin 1805 -> 1805 bytes env_secrets/local_daniel.env | Bin 794 -> 55 bytes env_secrets/local_lorenz.env | Bin 787 -> 330 bytes server/config/settings/base.py | 6 +- 7 files changed, 37 insertions(+), 41 deletions(-) diff --git a/client/package.json b/client/package.json index 433ab715..6ab172f1 100644 --- a/client/package.json +++ b/client/package.json @@ -12,47 +12,43 @@ "tailwind": "tailwindcss -i tailwind.css -o ../server/vbv_lernwelt/static/css/tailwind.css --watch" }, "dependencies": { - "@headlessui/vue": "^1.6.4", + "@headlessui/vue": "^1.6.7", "axios": "^0.26.1", - "d3": "^7.4.4", + "d3": "^7.6.1", "loglevel": "^1.8.0", - "pinia": "^2.0.13", - "underscore": "^1.13.4", - "vue": "^3.2.31", - "vue-i18n": "^9.1.9", - "vue-router": "^4.0.14" + "pinia": "^2.0.21", + "vue": "^3.2.38", + "vue-i18n": "^9.2.2", + "vue-router": "^4.1.5" }, "devDependencies": { - "@intlify/vite-plugin-vue-i18n": "^3.4.0", "@rollup/plugin-alias": "^3.1.9", - "@rushstack/eslint-patch": "^1.1.0", + "@rushstack/eslint-patch": "^1.1.4", "@tailwindcss/forms": "^0.5.2", "@tailwindcss/typography": "^0.5.4", - "@testing-library/vue": "^6.6.0", + "@testing-library/vue": "^6.6.1", "@types/d3": "^7.4.0", - "@types/jsdom": "^16.2.14", - "@types/node": "^16.11.26", - "@vitejs/plugin-vue": "^2.3.1", + "@types/jsdom": "^20.0.0", + "@types/node": "^18.7.14", + "@vitejs/plugin-vue": "^3.0.3", "@vue/eslint-config-prettier": "^7.0.0", - "@vue/eslint-config-typescript": "^10.0.0", - "@vue/test-utils": "^2.0.0-rc.18", + "@vue/eslint-config-typescript": "^11.0.0", + "@vue/test-utils": "^2.0.2", "@vue/tsconfig": "^0.1.3", - "autoprefixer": "^10.4.7", - "cypress": "^9.5.3", - "eslint": "^8.5.0", - "eslint-plugin-cypress": "^2.12.1", - "eslint-plugin-vue": "^8.2.0", - "happy-dom": "^5.3.1", + "autoprefixer": "^10.4.8", + "eslint": "^8.23.0", + "eslint-plugin-vue": "^9.4.0", + "jsdom": "^20.0.0", "postcss": "^8.4.14", "postcss-import": "^14.1.0", - "prettier": "^2.5.1", - "sass": "^1.50.1", + "prettier": "^2.7.1", + "sass": "^1.54.6", "sass-loader": "^12.6.0", "start-server-and-test": "^1.14.0", - "tailwindcss": "^3.1.4", - "typescript": "~4.6.3", - "vite": "^2.9.1", - "vitest": "^0.15.1", - "vue-tsc": "^0.33.9" + "tailwindcss": "^3.1.8", + "typescript": "^4.8.2", + "vite": "^3.0.9", + "vitest": "^0.22.1", + "vue-tsc": "^0.40.4" } } diff --git a/client/src/components/circle/CircleDiagram.vue b/client/src/components/circle/CircleDiagram.vue index f9d4b8b5..49e80cba 100644 --- a/client/src/components/circle/CircleDiagram.vue +++ b/client/src/components/circle/CircleDiagram.vue @@ -36,8 +36,8 @@ const pieData = computed(() => { if (circle) { console.log('initial of compute pie data ', circle) - let pieWeights = new Array(Math.max(circle.learningSequences.length, 1)).fill(1) - let pieGenerator = d3.pie() + const pieWeights = new Array(Math.max(circle.learningSequences.length, 1)).fill(1) + const pieGenerator = d3.pie() let angles = pieGenerator(pieWeights) _.forEach(angles, (pie) => { const thisLearningSequence = circle.learningSequences[parseInt(pie.index)] @@ -214,7 +214,7 @@ function render() { // remove last arrow d3.selection.prototype.last = function () { - let last = this.size() - 1; + const last = this.size() - 1; return d3.select(this.nodes()[last]); }; diff --git a/client/src/components/circle/LearningPathDiagram.vue b/client/src/components/circle/LearningPathDiagram.vue index 9d70576f..8f83ed31 100644 --- a/client/src/components/circle/LearningPathDiagram.vue +++ b/client/src/components/circle/LearningPathDiagram.vue @@ -49,11 +49,11 @@ export default { } if (this.learningPathStore.learningPath) { - let internalCircles = [] + const internalCircles = [] this.learningPathStore.learningPath.circles.forEach((circle) => { const pieWeights = new Array(Math.max(circle.learningSequences.length, 1)).fill(1) const pieGenerator = d3.pie() - let pieData = pieGenerator(pieWeights) + const pieData = pieGenerator(pieWeights) pieData.forEach((pie) => { const thisLearningSequence = circle.learningSequences[parseInt(pie.index)] pie.startAngle = pie.startAngle + Math.PI @@ -62,7 +62,7 @@ export default { pie.someFinished = someFinished(circle, thisLearningSequence) pie.allFinished = allFinished(circle, thisLearningSequence) }); - let newCircle = {} + const newCircle = {} newCircle.pieData = pieData.reverse() newCircle.title = circle.title newCircle.slug = circle.slug @@ -109,7 +109,7 @@ export default { return color } - let vueRouter = this.$router + const vueRouter = this.$router // Create append pie charts to the main svg @@ -201,7 +201,7 @@ export default { let pos = topicHeightOffset for (let index = 0; index < i; index++) { - let topic = topics[index] + const topic = topics[index] if (topic.is_visible) { pos += topicHeight } @@ -218,7 +218,7 @@ export default { y += topicHeight } for (let circle_index = 0; circle_index < topic.circles.length; circle_index++) { - let circle = topic.circles[circle_index] + const circle = topic.circles[circle_index] if (circle.id === d.id) { return y } @@ -283,7 +283,7 @@ export default { } else { circle_groups .attr('transform', (d, i) => { - let x_coord = (i + 1) * circleWidth - radius + const x_coord = (i + 1) * circleWidth - radius return 'translate(' + x_coord + ', 200)' }) diff --git a/env_secrets/local_chrigu.env b/env_secrets/local_chrigu.env index 2e1036893898e20ab230f1700ba48439b916bdc1..5012ac7d6c506b7058fc2d2cb14bfcf6e75b44b1 100644 GIT binary patch literal 1805 zcmV+o2lDs;M@dveQdv+`0P?V7F4yWdvCu0m%PHq$+lUsmhU%U1H{!83J1Ej}x35)3 zA3^h*5nB$fRjP7W8V`$iDzcA`du$hjR}RAwC`WBA8 zk1{~6ZjHgu zADqwtSkVb$kp;)@-c2m}(^%*HDdc~n)hI(-xNfH=%!IZQD z-7|(jGjOQ6mU5x{j!7Ap$5<& zP*Siiuh>eN&607w%tR%ZZjdr8(8z_2^}(xvLuL*c54P1td6k@7@CW`b8_U$>Nwz2+ zlOW@`%DEq!6X8DPfZ8~8hYM}fxvmy$$+;Bhv0znfDfj&#cFP2%oRrg_uBq6FPZA=&WwHXe^e z9qgl9>PVBn81My8=Vn^VTjZi?q*LSMIMYx3Wq%Ej#c7(zn#&Kb6Ur8SH?MpBr%HnC%QhJ$!vq7L*hf?0D>fhV z@s&T(IxZT#*=+{+;2>eTR;oj~$!$9fnSx-P!8=Y$Xn$>X5zIAhzh>=ck7w#BJ0L<_ zVy5&VT8Pl4n1dN&S{!Eg_yt49z#A<;PYr(zVbodPD~rwM45eS%^{;=OYl zY>1NhfkMV_2%Nw-PjSFib5XL9osEN>2S?GUK>Et?U)&)Mr_sHExg>8-x;p@{!KLJ+ zG>Y_qqcdxYGdJ^1^9Fgp=RwT?!J30R$Tuvf}tjt1!0^pAI zw}0;Zs*PCEv9F_z9xUh4N-D1dMPzF(+efj66SVXe{MfmhlfxjiJ@CZVw3m8@yEtm! zTGs*^PaF9rYIPp2+deA=u@1;jF7qvmGl!1oKE4Gl*`1iyNmq|UD$JolOxXI&=dVK~ z23c@2qw?jTJkm~<9W*ACOmN~`;*=)_Y78PQiyrA9C^VUEw$$nWGmgQvM%?BvW{+;d z03=LHLuVGn#hX(u2G$s?bwfS^VxX`#6$qM2=+X5!Z-rIa5akvD21(M=yYcSwl2GVs zL&Ak1uk1Q{u`<1tFI?7dKH@RzeAA!&n!V;87#ps;#T_8$(i-^38ntCDmTEj+>g&~p zkg&x9GS}BiT3xIzrsPU61}Lv+pJjvAt51CCrvkYHO&^qb2vHW=wX}?cezSu*-V!(c zHC3iZhU}U7I%0uC?#CDL_o$6+4Sdmj&nn3&%O=9MBP?ozX&oF6)hX`uc>6PMS4&Ot zn-rgM80mkl;oa^NsBJ1AkM=Vb76&1wK)kKcqEt!-@I(rJPZqS?zs$Lwsy&-A#riF+ zO{8WiYySTemb44lM>C>0l?~8urRD#=MJW+Ywmy`@e~}?_pV(PP(B%Pw>c{41w4 zvT?}hN)(4!_qUsX+#;(Je+0g=F9|L#lc(65jTQA8!XQ2T$PgB-CN+&r@t!;1!gknn ze8F^Bak+@~6iv6xMtnEG%)Q6h^N}f3$fAGaJapAGvC7q>^0Xu0lOjTYebcMw_&D#B zOpz`a%g9(InaxF)4xJ5OzBKcxwQs!kHY-a?{=8EZjt_J&HdudE0=4eet$Ze)4tdj+ zNi2|F-w3BWJYQ}&y^gCp7{h%r*^PMI9h?xE6XlC;C+UpvN`J3W>yl~9L9s;Txhk5$ zD%{POaB4gM^-~=h=DndmIkR+zqFsg}F_9E4Hp#IEWav?6RZ`GY=5vVh)p}ph=e1jl z^U88P#YC=H9@kf!SEe?Aq!%KaTCz$Oj7Apmo%w~b&$!xEtz$wjn*$&)| zL>W9mle4*AR)%SHzeZk|o5Y0?cAu+xMY2?nied`!aC%7^Rg5cjl=uIivWzy3GDK+c veno{{+0~)^{)jV4J4KFx(;T2%xypfNob|Io@l!ed4YL~2-BWAzq3&em!-0YX literal 1805 zcmV+o2lDs;M@dveQdv+`0JpNKPl?Kanf;b@HfwJkeb;u>Nv|ewxV#w&M!0l*hM9Er zR)aBK{3A0&14T5LB`ciE`1!K*!~_Pghqq-{j84oIvL0%et~DCOR&A;Y|7%s*b4I{z z%7{#{ot9L{Zz5Cz=YuEs!C1*f)PJf2wO=>_Z3PQ-)-%0Uth737T7wZS!S=-&L&Ouvydcf$)-*Scss+YFUp@KQZVhY1zTrogG!`7$Ln$I-qy<(j!rXL0{5Aq0uZfq%@1uA_wh zGVhaKaafdpm9Q|fpEZjmsmF-?UaL180_BOI_;;M(dY_a^;ax5d&S9K?v6T#w{v zsQ9!r`7SWNNw8wKqD;~NIs*Oy5R_|9>?F(3B>POO5rDe{uuwCvyn6<9x=3OIgJHMN8Ztt9Ox(>D)AX>qB6GDafafde}i9|WL7Z|4YVEhy7aI|e> z#8fCw0mgLbrJ<1j#YtVmgw>eTx?qx=#24%)HlcAQ4<>(24QKb1YJ4!^3GlR2aS1ff zfI>4hoKsR;Qtr9%oA%Mo&;n-}^(Vtz|J_9~Ov5*ezuJnZC9o)H4w_34NG9$gjuVT_ z-%X#iia`}0eG^7Yvc=1*MElu}uPjB{y2(MMiTVH8`OgQ7_AMK{m}-Qk30W?Ty(XRP z+F-=5O4-{Up!gc6X?G-~+f|NFb-f%)Br&E$jEpK!+H3C8I`-Ms{~2qFC|s+z&T_rqYfi#iKq`e= zH!oIZqjBEDp-H{xCt-l4OEFF~c4(y8zV7_e*CBAKD5gWuRB5{XI#n^23^3!?H+jtj zXu_9I1`Q2DJ8aecBj;#q9RQ!xA{J(Txi<(T6onE$YTO*@f1fhB1wQCv9 zr1M?plZK-&W78a6rPZg7>YG{_a)9ZZS&Jwvi>59nWnrT7CX|8I_g~0mZyTPT5wp@R z)R?)hSX=BSIz%!89-%^;IXYz90{6@2-xe>Vnu&#DExDe|3zC>0o`rqFp0hJF1TrJj z&=7ua9F&cF9ok2Nqu^eSJEhXk9?pNQ_dExvs@8IV)d9?$orO4mYsQ9SN@xsC`1I5| z@V)$6XCI&ZVf0(XZ%%-_^X@gfX+#E&HEmoEwV9nU=LYAlc8*uBPIVN)$3L&S)<4DT zqK<12yVg|U-A^|DYcqVa(}?5zM0em8_IV3vZx4GJX70MTId<* zs=cCPU9Nl-R6~2_YR-}yW7f=!AjL;^c#~WviS13(8wFi6Nlw6V4hnWT vlLywgA@k`x?6(QmwtJ`lu!QW~JEvi&Joc`k{aPk5u4>YZ0`B;YKZ8_&bJCcJlC)qAiaB_3ug7Eo<^5Ekg66sPX+E%S5aJUCt!e?%sCNL-eq zz~CP(^v|8?B&jo?+zDdB=c9463G8WVsNaNgez!Yl^K7p%EROFuFl?+mjvtybiRKT6 zrLh=#j(Spn@cbF|)HP*p>|n)l?HaAGqU4<|sAvE(Gk9u;xKSUYZGkUOS-q_}QvpiS zc_Xne8GoQr$*OB}I5G{#FWrTCPhN&zi45o;5V`7)_S)gAo1B%&ySw%ku_E!_2;9ec_NG02wrHb}x+=-K@ z{I356e2c;37c;*f-Krl*+@ntj&Y_1gFKKgu_kg6!e*Df0jFfB#HIx}R&SgZqt~@{T zn1QN{j7k>Yd#kuAltT(6WIc85+@h5V#*INYdG6^NkHL7e{_Ss8fDk4?ZYAxkkD0;4 z^rAOp*JWTODvYuN&!P$svR-~YH{)32X0B$vW^Fe>M*SHG4%^SgfBiU*+NfY#Aj95} z4(RiK-(GUHoe849Zg5NChHEEA^&~r2qf` diff --git a/env_secrets/local_lorenz.env b/env_secrets/local_lorenz.env index 4104dedb2937de9ddf6a6c07adffd05f9c004b5f..f51a11700ea2f1950d0d607d75e4c2db414b90aa 100644 GIT binary patch literal 330 zcmV-Q0k!@BM@dveQdv+`04IYefdblBGA+;Ro{)l&p|jgZj0&4kPn%XVb@Vf;pK8j0 z?yUAruotk!=dV1012D~i0YX5)x6S5!zFw}AK~fHvI#AE+4OI76ylGzOQQLC2xzdz0 zIsk_8w&AAKuMn$+)YttM|6ZDaiufR3yrlmQMG6~aM8C#+!@clz{Jj$bAq(raop07c z2I8+(D$OIuP(scqxv`VfiN^}BCV~e#5_mZ6L&j*BmihU>@^eMqD7=LQ6nK|;zVN_O zzw-_RvSP{olD22+Y~Z{Qsmj+iCj*-dyK|oGl3J90Pc-}Mu)Af9inF1vqkuy08XH>E zs<_djZ)*bsjs9ZN98IgQY3eAi9=hZxgg^Lo5dP+FYDc*oPKCg?w+_su4>|irrGpNG cHwEAQw($StxxeX!uGHxmdrlEYC#O)wXOBRtYybcN literal 787 zcmV+u1MK_&M@dveQdv+`0QZc{k-CkU9ZHpzn~zvP(zlyoh-c?#vUt>ATy%a|N!nV` ztN59*7PoFjgJ+mRgQ;2v$O~xGRaCqCGX7pG&cyq4dr1Fvn>FTl8^1!R!vdHpG$>Cv?|%Sn}wLmzoy?Y7$0(P*|K*qvMWB>w?C+|`3tH5M%jv^US% z4kxzz<0QW_{WA3^f0jk(5az$vijJ^oQ?)C|JuFw9&?>ozRG7THy5 zFZDAq>eHP1vG-)Pwa3ICx!*K4I1)O(l&TI~N>MBd$1(q7HDCnO6lQge%{QQscXdyd ze)`LZsThD>8?kEJY0 z!s1_P-X#?$Q#2U#>&{K*vWJCy!#Q;6bC-P-O%*lRSyB`X7TSp^@qr{2{Wr2Az0p7# z9^Zz=QSha5o7YbA^LIpLQ<;{#{-R#=eq7aCLVfFzfFB22&z@U_OZY&!Kl)Q@>e?2T zYkg_h(U*TBf@Pz_>Gzbi-#lByk=@$dtkVs27XXi`gFvNMKvcck{cBUd@0BXH$O=W8 z0y3_xKcW@h6hMHnerQgFBbxrIS8U5h*5!=LF>#;S9wDhKD+~gX4OL!YSix1iX~VE- zlJki;>2$%CcfsZ)q5vI)CKQ+^(7GeF&KC$JM}WugIaSxo|F;4oUxmC1w7TC|psTxC zCNO@Y#z>!Cc;%p~^AigRpMLbV`-oZ4F$%4v9=2mLW3rF*FxWM2^?%_gyH=$Z;|l-b z&VVqJa{=L=u^`<9AzM29=fN07rLq`>h&+YW-${-G3)Q?`Cb>Wv=pPp!#8!d94fAVD zZz4c~u}H@WIXiHwKXXc-dg#G{k diff --git a/server/config/settings/base.py b/server/config/settings/base.py index e6b7b7da..8be507d0 100644 --- a/server/config/settings/base.py +++ b/server/config/settings/base.py @@ -133,7 +133,7 @@ AUTH_USER_MODEL = "core.User" LOGIN_URL = "/login" LOGIN_REDIRECT_URL = "/" -ALLOW_LOCAL_LOGIN = env.bool("IT_ALLOW_LOCAL_LOGIN", default=False) +ALLOW_LOCAL_LOGIN = env.bool("IT_ALLOW_LOCAL_LOGIN", default=DEBUG) # PASSWORDS # ------------------------------------------------------------------------------ @@ -200,7 +200,7 @@ MEDIA_ROOT = str(APPS_DIR / "media") MEDIA_URL = "/media/" IT_SERVE_VUE = env.bool("IT_SERVE_VUE", DEBUG) -IT_SERVE_VUE_URL = env("IT_SERVE_VUE_URL", 'http://localhost:3000') +IT_SERVE_VUE_URL = env("IT_SERVE_VUE_URL", 'http://localhost:5173') # WAGTAIL # ------------------------------------------------------------------------------ @@ -454,7 +454,7 @@ REST_FRAMEWORK = { CORS_URLS_REGEX = r"^/api/.*$" # django-csp -CSP_DEFAULT_SRC = ("'self'", "'unsafe-inline'", 'ws://localhost:3000', 'localhost:8000', 'blob:', 'data:', 'http://*') +CSP_DEFAULT_SRC = ("'self'", "'unsafe-inline'", 'ws://localhost:5173', 'localhost:8000', 'blob:', 'data:', 'http://*') CSP_FRAME_ANCESTORS = ("'self'",) # By Default swagger ui is available only to admin user. You can change permission classs to change that