From ac9fa44b99bbf0b1e6f26f4c39e8083ab176a174 Mon Sep 17 00:00:00 2001 From: brausjonas Date: Thu, 25 May 2023 13:22:22 +0200 Subject: [PATCH] Edit Function Finished (Semester and Modules) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Man kann bis jetzt eine dozenten noch nicht "abwählen" --- anwendung/src/components/InputForm.jsx | 64 +- backend/database.mv.db | Bin 49152 -> 49152 bytes backend/database.trace.db | 3384 +++++++++++++++++ .../backend/anwprj/DataBaseHandler.java | 20 +- .../example/backend/anwprj/Module/Module.java | 4 +- .../anwprj/controller/ModuleController.java | 3 + .../anwprj/controller/SemesterController.java | 3 +- 7 files changed, 3446 insertions(+), 32 deletions(-) diff --git a/anwendung/src/components/InputForm.jsx b/anwendung/src/components/InputForm.jsx index 2f0c9be..0be221c 100644 --- a/anwendung/src/components/InputForm.jsx +++ b/anwendung/src/components/InputForm.jsx @@ -25,8 +25,10 @@ export default function InputForm(p) { const [moduleInfos, setModuleInfos] = useState([]) const [checkedSelected, setCheckedSelected] = useState(new Array(100).fill(false)) const [activatedSelected, setActivatedSelected] = useState(new Array(100).fill(false)) + const [modulesNames, setModulesNames] = useState(new Array(100).fill("Please Select")) async function getAllUsers() { + console.log("update") let sessionid = localStorage.getItem("sessionid"); let url = "http://localhost:8080/users/all?sessionid=" + sessionid; @@ -58,14 +60,43 @@ export default function InputForm(p) { for(let i = 0; i < user.length; i++) { temp.push(m[i] != null && m[i].activated === 1); + + if(m[i] != null) { + let tempModuleInfo = new UserModuleInfo(); + tempModuleInfo.setModuleName(m[i].name); + tempModuleInfo.setActivated(m[i].activated); + tempModuleInfo.setChecked(true); + tempModuleInfo.setUserid(user[i].id) + userModuleMapping.set(user[i].id, tempModuleInfo) + } } setActivatedSelected(temp); + temp = [] + + for(let i = 0; i < user.length; i++) + { + temp.push(m[i] == null ? "Please Select" : m[i].name); + } + + setModulesNames(temp); + setModuleInfos(m); }); - }); + for(let i = 0; i < user.length; i++) + { + if(!userModuleMapping.has(user[i].id)) { + let tempModuleInfo = new UserModuleInfo(); + tempModuleInfo.setModuleName("Please Select"); + tempModuleInfo.setActivated(0); + tempModuleInfo.setChecked(false); + tempModuleInfo.setUserid(user[i].id) + userModuleMapping.set(user[i].id, tempModuleInfo) + } + } + }); } useEffect(() => { @@ -118,6 +149,7 @@ export default function InputForm(p) { } for (let [key, value] of userModuleMapping) { + let json1 = { "id": 0, "userid": value.getUserid(), @@ -125,9 +157,9 @@ export default function InputForm(p) { "name": value.getModuleName(), "activated": value.getActivated() } - if (value.getChecked()) { - await fetch("http://localhost:8080/module?sessionid=" + localStorage.getItem("sessionid"), { + let updateURL = "http://localhost:8080/module?sessionid=" + localStorage.getItem("sessionid"); + await fetch(updateURL, { method: method, headers: {"Content-Type": "application/json"}, body: JSON.stringify(json1) @@ -185,15 +217,18 @@ export default function InputForm(p) { let temp = userModuleMapping.get(user.id) temp.setModuleName(module) temp.setUserid(user.id) - console.log("test") - } else { - let temp = new UserModuleInfo() - temp.setModuleName(module) - temp.setUserid(user.id) - userModuleMapping.set(user.id, temp) - console.log("test1") } + let temp = []; + + for(let i = 0; i < modulesNames.length; i++) + { + temp.push(modulesNames[i]); + } + + temp[index] = module; + + setModulesNames(temp); } function onSelectedCheckBox(user, state, index) { @@ -222,12 +257,7 @@ export default function InputForm(p) { if (userModuleMapping.has(user.id)) { let t = state.target.checked ? 1 : 0; userModuleMapping.get(user.id).setActivated(t); - } else { - let temp = new UserModuleInfo() - let t = state.target.checked ? 1 : 0; - temp.setActivated(t) - temp.setUserid(user.id) - userModuleMapping.set(user.id, temp) + console.log(userModuleMapping.get(user.id).getActivated()) } let temp = [] @@ -341,7 +371,7 @@ export default function InputForm(p) { padding: "5px 2px" }} onChange={(e) => { onModuleClicked(user, e.target.value, i) - }} value={moduleInfos[i] != null ? moduleInfos[i].name : "Please Select"}> + }} value={modulesNames[i]}> diff --git a/backend/database.mv.db b/backend/database.mv.db index 87fe0ee2b825f5d579a82c1c22c83adeb356feb3..24206f30b85d0eaf70b6e58488061c2c85c7ba97 100644 GIT binary patch literal 49152 zcmeHQO^h5#R<7#5N_*^`9Sw|NhLv)9>>2maQ)EPB{A3G(tGmi}t-9N$tNkZ|N|70n zcCWj;On3VaBzA;^v*V2!fkyJ+}C?c#C0_Bg?F}M zeg*-9fI+|@U=T0}7z7Lg1_6VBLBJqj5HJXQZU|g6^8e?Cy?L=gz#w1{FbEg~3<3rL zgMdN6AYc$M2p9xj76REKzn5A8;KgknE%oonhfA0fI6hsHU<~k3-qZV_E7d#baKxQ4WAUO(= z9A!8gUB~em=Gl?NSChXqPP6zgkN=AJuQwMx>67@N)ZDJz(e>`R_^{pcoAN-umYuB0 zhk1HKhd&u#?>*GJn|pG1Uj_$Y4Y8j*dLaF6U3bpMS&|ck%C|`QgqBZu`NVrYDM9Z% zTG9)^HdNcz0|d1iu3R3D}f4eI0GKc5Ld%e ze>J>cLc$rOBKz)(aW<%EfOarf=(^l-J+Y7!mRG`HPU=Y}9ggzypnb%-wDh%ud4e|Q z+7k{B6XMe5HM+1ewxsXF5%LEg%qqnzeLTvnc(QhYI3E3E6<56~tBNYA(kZ2;d@_xM zn1&uVjbvEm)6l!%KdDq^{$+NtS~*`i6El=L<$j*hSxV46#qt!-Q_y?$fvj(-xroWs zk(C^TNE0$lZs6oVYw>-be7~A9F`k+*EwPx10V~^jtk-~nIdSSn%)*?MwM8uM=@KR^ z<8314ZBz#lZ(}}J1#e@XBhlic-ADUi{uJ>#9w3pPHx4o^sVMP3peEvfC`4qj7X*(U z%H81EQW*XyCs+6J+@r}w7+CSHetNJ(`ZzKTMMO2`Au6cmn9x3|op1=%&>S=4Ev{p# zHE~KrJLHctqTve@b1|9@6dBO~S_$QB07+1e&B29JsM;3=jsj{Su6-fO z6gm$1}1RjO0dGqZCw>&)5L&Q;#E-@nsoZQ3gvt;S}nyL_{~+O#op=k59Pzg11H+BZ9` z4ZD5CUcbI+x9+q%n;m<;(OjFiJB`&%`vZgm#zN^yExB+4^nrb?(Ya=S;3ywc;lV7` zWnthtgdnPg=lTjJ6$%OBQOEVQ?>L%1+hre7iYsx7RmYSApuQt@YLhd|A_8zH2vI zR~k2g;zq}AH(TqQ?ajM(r}axWTk9+3!a8?5o2|8OcBkvLkRupsbY0I8U01Xk-NqHd zyDo1vu284pG@EQb250@|>gr-b#Fh3&XLG%=)|$6ht~E9qE1N*gt;WXP_WIRJ#92tQ ztv1HVwbp2_4l9S|<=kj=I=8QHz?VPoZ8usQYwb>_eSJMg=@(Y0c?;X*1)~+{iuC^uyK5>PIt}LT&vx#xnCD`jOFN> zL~XPuS6Ao?6|I$J+-^VE$S!*s%eEp6__;o z=JJr+o9&2S!yu5?M*3WI1NdYA<@WlO>%#^zP>C&^U06J37aQv!<3RFp+Ln|1>2sUxthn%kU#*?Xi#)AED$H zplb#qT~^l2J2+AtrrLk12#pknDGHz*j1`B;>);F&hiT5Cio>iFP&k6(uzDF3hi}K? z>(p=j9pfqFnOZc1oQ8?+(PgDYRVJm6X#Df3*Ie$p4reXIZ46zgPl!p$dQ~mOy*<*DF)g)k;-7$mv)_5gBFa_1rpn4zWi6(eazVbYRA%o~-m6Z1tzsb@Y7}B&A?ome z1OyVk=PIqOX!!uvMHnQcr+utzh`S6azlJ=a8AUY&bwia~gKG+wk}agU^oi$K*g;U1 zl8|sE=2Sz%mkK$Mz!Et!U>0_zU=D)>3w&6K=a2|}7kG??0~M9;TUZgHRj44r+yJq0w4}xx@r-hf_{TS9^V&S5f&vv;UfKt zcaw<0oVKoQXg*!6c%t<+fiZBd7L9???^Wx(z*qly4o^+lm4f+_h;vbaETWMPByd2Y zwd1=Xx4_^?hn@mv6e>>(%q|+= z&NL(hQ_=}6SAlgC@sQbb$21jZWhH{)( znRyW;JfAQEw_sZBbKiT_YR=G8OjFH}bE;<26J_5ovtLYLsF<03u>%D#_y_0yX?p6N zN-?R1g|L9YyxO8ZOezuZbs7jFwSz3Gz+y^DxTTR&+Km!2kjRse@UajAc&!fLA|o}1 zDe%wGV$_kEivSXCz!g@IpwdAw1~4$w@s;b>K$iANAmK=W;WCTy07ULkTTCb}v4T=O z<fihAt6JUCPM;#F69UkiIKU*h0Aq_14u9~v>=es zh)d72U`nk#Bq6i%9N@i>2nqL@f?J@95Qs;KP)K0$R^~8JlUTaSb!tB0j*w0*z|3G=M?cO^MkNGk;9^3~YNIBq2)B$xpxJQ87%Y|idL;-gdy{C5reIZiKj|107;}p9F z{vC0Nz>nX5^B-ov1sdG1R%UL`{7!Y|lPVZ7UBS4~(K~qNUtfoRkn8H3zcTmP^mOGb zuS32|7iVtYZ0tVKyXw*Iz5N?|y>I9T2lmXurJ37Tmv67WJM-bf%+}_L z6<%jATx;!ZJy>1V_W^vh|I2=wxUBB`Pd?i2!4xyNUspQL9C^XL@dImIFE}UlhC{KR zoAH86f)$@iFF2-;@PcF7c){g9joB*5M7`h~@Pb1yRr~q3|LaWU+}H*cxoHJGp=pKj zeFJag3H!bkK2W0!EXwv3eGXeEwyzk|%W$~81utkGWp6Q>=98OSj7#%S^NZ8sV;H-a zr4D6a=l$Z`%RUAxk!VQ=jEM{0ssH0fT@+z#w1{FbEg~3<3rLgMdN6AYc%f zFanwVe_?-Lwx7@K|G{3;2Rp~f`Txt*Er-W$Ihp-`68{g@aRp|_S49bUM9^G;C`py{{MfC{lD=gH*5xM(T)9o5pm~40Wn??`~Ndn-~NkP6T#I) za5WKJj|ka2UWC)W(1s?0YZ`;sL~u0`TulU56TuY%sFwn@eqkcGR^EU6jkz)0DBrHv zUW6Ov#V6Jm(2eq&AN=Q;QWV^w+mwmiRm(e}t5zOdcH|aXqg`_T9~)>zJ~@eD#^7E` zUddP^->jj$mlF9b4=$S-sPu2BHJa$-g^eusRvU-fBD7?Q+%R-V;rMiVHmv%?9OP^l z&i)9#5Eyny2;X9N&Nw=<+aDcw^d_CpZwmRwoh59O=(y>=pHW=c$nPmJ0)nU#ZWJ9i zJqtw;ZL5`>WzlhyGYApnMcZm6XTp(Dblk|_X&k>Nh@w0D>F>w>Pqlwvj{To%|MS+)uNG=B^N1_6VBLBJqj5HJWB1PlVNC<2-Ne_?-Lwx7@K|9#kcPC|s? z@hs%W&z0~0mu;Ob5AFY#NEl%1KOkDfyMrKvyu$q7_X4lH6G*cEHTT8%>aF(f)$wAmr{#gZm2F=xgo%9gaw8vM zhN{qK&G2d& z!_{Yhnrn74^%+8`gVoXGelGg6Vt4vX7X`a?9f@zDiRy#*C>2zsolM4!L6wv&X(xxO zq)4%=R5pB~Z2y`JUQEGvt=Rp_OEen75Lh?*|2xCp+}I#s5HJWB1PlTO0fT@+z#w1{FbEg~ z3<7TpfozeVrz`-cv8(r+q_HQTHXVu~ebIE3M2&s@;;6|QPvs+h*z_6)!{JdA6BYnd z011H=Z5-|F=_V5x1tBTZ0eItR7&ILwSp8i7A}#^1_N}?OidA91vaII6$7v-<(z#!L z|MF+ZCWbWI02^2 zCO!*Xm%%x{FSsJ^=fi_X%a5Jqz2}EV!vnpn{N=4@ySw-0?law%N3#F&sW#^rd_JVM z(HLvq0FXg5PFmv8;vfSLf#D zKC_DPi$voBjH@=$SO*e@6%t|{ddh{2^0aWcO|gf3;91$!fl-V&u1$%AQ9%ita)lh? z!#Q3k!)OemfvX+vYRCu|#`eIb%5h!dVVi1KIK+diLKH|JL4l!1HHM*wA)-P@A)8^v zvF8UigHa7d&=k*wt_0dx8x8~=Nl}`w5 z=EI~3humg?AW|b3fs_Y>lZ4?)W2H2WGBS|ZlaTQpAp{I^I)I%nsksi5Gz@K*A*s0t zAj2fWFy^{0roN(n&E*mQRYFP}4x_Tm15b%i+pec53jzrl9dN;@?MgRv0}h9z5^xxb zgV`Vs0t^|ZR1hfJ)hKW!hpRLtO2Hez)vlr(W}zH87^{%gIMy&Nr#5#9aVTPtks-VZ zAj7pM5D#rGDA%DAK*r@l3j!I9x%506UKYy35<|vA@Nkd`3HMzEhhXL^Fpn~!kdc5Q zln#SgZ%sOqDvD}8;YdhS3mn&@4ujMSHF0b3`r?G(S|A;l1WrwJC*&O2TKXC}oYpjq z_wZh^LrOWKo)~{eAHn;3dFADiZXF!Rm)X1eyxPWjl{15GFkg+k!3;{Cn~zF9uSYlK zoc--NgGyewkc^_Ho{dKQURVR_W6D=Nux||aAHA<*`r91XoH1}fGu;^aJ*YUax^2p* zS66n2{@XPb*5@FrWyg3QP+RrclgN3Jc;fM1Ace zq*Veev$Sm5uJ|;__l7 zVQ=xq#mEx5*ljP?yIcLvZIJqQXREUfPu8xlJgm1nYpr`AajRGFwmVz>ZvSDu*ZJPP z&em$Vu-?O7zq2{WjtsmGM#9Cd0rij=P|;}(T5E(4DDSk^7;2$*+g*&o*}Au}(MW_? z>u&e@TdmE`VtsYJwcT3ngEaSB+Yh^2w{H-%l%BTHI?Y*|t?tIOa#&u@-Bz#n<(+MK z@{{g%x3j(3?e)5MwsM3nE?upEe(8rGF`|EXF-|mz* zQGKPeacApxZ_vLph%5CP)b`I`QQN)FCX~|Io>hgryybu;77cJ4L9H{kI#}tT&H$X_ zuvkHYlGVuyj~}budYB`d)^KO5J!S84EraGY8khI5)7qX=;K=TaOJBTZ4W91#PE~_o z{U5Kv>rjLLo3*E7`YRwZv+jyp)LkWlK)?0KfUdf1&=SNQI9#+n;&upauTFGV5U9H~ z0&7}*(Y~#Fn=8=TvIdsR!h%{%RT z8=aYfPpI(l+6o@D+m17!#PJ3zE22GE>?(FIcuQAbCU2z7jRj4p3 z+U`K06*1uL&Z@iOqK?-B{GykB>Ae|fU337( z$MN0Wt+hMTUSzO}wsdi+@tR%iR8M(aHI8>N(7QU9|7GD9^Ya!=qpa$;m#Y2SD_?HZ ztDoJd_P=-cVEE`j?(OYFbGdr;x35+E_ged3>3#KV|Ir~F{egaRREI+TG)*Jn*Ynos8;#5RfBcrW$Xq?DnydXa3R|7#9Ls) zN>d!~CGjtdf8F?($G;-}^)5tL`Xo-2y09!AyVF8CQpc~p*da+UzCtQlTu{QeJwr> zDjJ}jJS(#=VgZ2@hm02ufv@?ThB3#L0nJS#;Xr5zv&aLf%!nnMnE<{X_Wo##j5NSq+$pI%xSS>#8lV4Oa#tBXtCtk`p z+1+^#I_`@mYDBraG0y}gJQNZZJd`m43Z+vBD2NErc((uS5Mov2gp_2vb(G;om0OBg zfisc{Z486p*;Bb6yljRc!vBy9OjChXEHIA6JVxM@I3r2Qo6#w6hUC1NNNR*JEaDct z8DOOF*AyFAH^8ltSe2wkypWltGV4>zEHatHRAwiaIffb$#zY}A!67Tl?7?bvx?P5v zm7r#^%$)dTnaNLboZVFBa7<IIPHp;wmD zso+Z)>4|%a(P%5V0j!KW#WChmH{U{VjOANk%J5{q#bE&^fY^Z}|VlKjH)P4VeLR>K*d`!2!VV{|*0t zlC@*}xQq|md+EP7gYkDJ{QqA!{C~s$pPf7G47!2g|IeqS2=u~jvqfpj5YlK)PuwD{|*1&@c#|}AKdRsH2)8Y z|NpP&!To$&uj;uT={|H*guzLEU@K)-_jA85n>k3y=%{snJ?|4;P1 zLqg#H|KYWtmihldka7J3mFL1Nr@$xYjrjjLH9ZJYns*X$@XwB}=>Lh!Nk;!qZ;;ae(_<<9KiSIY|H)QH|4+|6Px`;%|G&>n zKO>t#z#w1{FbEg~3<3s$1c6EZeVIR>^Z#80{C_+{{(t7&EYeAL*}FD!V@_0H>EIEX-M-=J6$7WnaoIO+_3EC*Mc@Ut6CtA1z~jIydW6 zZk7bYPhv3}w>}+jF?)04QyiQm`VP&cSyGY0&^O%}MgBIom}Sm;ll{uI3v~7XJGDBR{ z64D4KaY+g*cobhG**cqH(ucX$%{lnFWmznVGg7%6#U(L+1_6VBLBJqzHUu*LztF$S z3Usdjd)|!w|FfW5$rNHTx>ln9=L@cB(5op?wF>d`2wEfB``I@V{eSgD{l9i~{(8mw zwR6%oa=oJz3D0OC@Ri7uCUIu{yA*1$w6qLs^3kkweEr*KAn^x9lV$O-4~ibcg)kb( zlpvY!N&_k4H)gN0@i>{llsGnkqdw?eRvdlC*Inp8Qq-FR2!}VXLfKkiXBREn;~_ z!WLE%#~WFW6C)w)V@H9Qc%OMUc-e9ni{FHv%X0F#1CIFzK(9?#i{er< z8hhHI&lbf#pDn^5$NJH?5zGqYWK;SuS0Ii4KdUce82x`@Ej=@TjIO1d_5XZQX4e15 z=GkV`AYc$M2)u6yWcq)he;4|{DD;0V80G#9^?xtb|NSZa|9nX)7=IDFiTCR$sZBe& zyb$9hW&njpl=w4jfc{_o%zA2BpXAH?Q$JQ$Qtxv`A3iYoMsDjy(T}DUv-)0LVU@@f z{fvfk0>QxO`AHlQs*ct3|0Xv{6vNA?{bZU?eG2SrS^XxpTv0NZ3`iqhTQHLok*_pWbX@LTAcAHu}HO|CuO%J=OHSx7Yio*@$9eKooo=`Y!2N pIU={r`v3c;Iv9Bj0tSI^I0BjeU+CY3{_hp~f9Qk$uV addModule(@RequestBody Module module, @RequestParam(name = "sessionid") String sessionID) { + + System.out.println("test1"); User user = UserSessionIDHandler.getUserBySessionID(sessionID); if (user.getPermissions() == UserPermissions.admin.getValue()) @@ -132,6 +134,7 @@ public class ModuleController @PutMapping("/module") public ResponseEntity updateModule(@RequestBody Module module, @RequestParam(name = "sessionid") String sessionID) { + User u = UserSessionIDHandler.getUserBySessionID(sessionID); if (u != null && u.getPermissions() == UserPermissions.admin.getValue()) { diff --git a/backend/src/main/java/com/example/backend/anwprj/controller/SemesterController.java b/backend/src/main/java/com/example/backend/anwprj/controller/SemesterController.java index c3c8ea8..82e064e 100644 --- a/backend/src/main/java/com/example/backend/anwprj/controller/SemesterController.java +++ b/backend/src/main/java/com/example/backend/anwprj/controller/SemesterController.java @@ -33,7 +33,7 @@ public class SemesterController Semester s = db.addSemester(semester); if(s != null) { - System.out.println(s.getStartday()); + return new ResponseEntity<>(s, HttpStatus.OK); } @@ -109,7 +109,6 @@ public class SemesterController User u = UserSessionIDHandler.getUserBySessionID(sessionID); if(u != null && u.getPermissions() == UserPermissions.admin.getValue()) { - System.out.println(semester.getId()); Semester s = db.updateSemester(semester); if(s != null)