From b5015b11d9633d11b98d59c509218726ebabbfaa Mon Sep 17 00:00:00 2001 From: WorldTeacher Date: Wed, 29 Jan 2025 11:09:34 +0100 Subject: [PATCH] enable the addition of the signature in the report in the UI, update docs --- docs/Bericht erstellen.md | 4 + docs/images/generateReport.png | Bin 9327 -> 10007 bytes docs/images/generatedReport.png | Bin 9903 -> 11660 bytes src/ui/reportUi.py | 34 ++++++-- src/ui/sources/Ui_dialog_generateReport.py | 72 ++++++++-------- src/ui/sources/dialog_generateReport.ui | 93 +++++++++++---------- src/utils/reportThread.py | 24 ++++-- 7 files changed, 131 insertions(+), 96 deletions(-) diff --git a/docs/Bericht erstellen.md b/docs/Bericht erstellen.md index 009a936..4e858f8 100644 --- a/docs/Bericht erstellen.md +++ b/docs/Bericht erstellen.md @@ -14,6 +14,10 @@ Um einen Bericht zu erstellen, müssen folgende Kriterien erfüllt sein: - Zeitspanne festgelegt (Entweder über den Slider, oder über die Buttons für Woche / Monat / Jahr) - Dateiformat muss festgelegt worden sein. +!!! info "Optional: Signatur" + + Optional kann ein Haken bei `Signatur anzeigen` gesetzt werden. Der Bericht wird nun die Signatur der ausgeführten Aktion enthalten. + Bei größeren Datensätzen kann es länger dauern. Eine Fortschrittsanzeige gibt an, wie weit der Prozess ist. Wurde der Bericht erfolgreich erstellt, sieht die Oberfläche wie folgt aus: diff --git a/docs/images/generateReport.png b/docs/images/generateReport.png index 2ee367a4383b3978348969122e5e227849d352b2..ce67dbb7ea9c0936fccb9417f949585e09b1519b 100644 GIT binary patch literal 10007 zcmcI~Wl&sQm-WR-2u+AUa0?zJ5Hv_|cMC4T9U5yq!2$%A4sO9UxI-Xl1C3iCIE`B) z!Kd@oSKs?*re@x$njg2i?(N;@oZIK@wbx#IhpQ^f;6EgN2mk=SoUEie0H8ro*K=HK z)DtY8By!XT8dzOM9H1DLPi0?)=mBM$_2YN~KPEi*3v2*T=pyr|niJPkPKsaX|8jdyMG$^x6U#}+W zDzkaCR*Nvi9`sBx@lC9|r;dLEOMWnKBBk2$*X8trPbUR_y4K9}tA=WQM3>a-7@sL{ zgM+;e!R|7Y1Mx!fGWBk^_Zve4Lm33a3nao|M9OhdNqxOX;Hzli^Y?p~KXYRlp1{0axj+VuEFgZmi z1YCnb6oM~XJeT~SAS#iv-k14Um#L|wg8Q`-Tam^$v>EQxy47i~KZKIv0lyt!@YPmctv!#u(p9`k zF4VBvaUA7TG=Ta(-bFf8r1th-u6k&#TcQ7}o2 zozuOJmYIr}*za1;LnCi?_*}33*stS3*2>Y37&z;Kv zya(t{ky-b?ve|qXLNRML57jhdv$(B5h5@%{w$`H&&soi_3LGE)(7}Nk`!|uI123|; zFm7ehg;-hok$5gAb?cGG2+@1pc9XCm;kD%Yl-`xv=4nl8d#7W5p7Ih+D_Zm%JsdVVDDRg zwUU#O-_h0AHQ=4-^gGdb03Px1L^+kuDf5x`50lutyNeDO7pR#)^rlL2&AGw%(v?I= zY1+ltj5COuBXUA=lfUAH-MbCwx$|X-R_WG99Lm^$D_D2d-D%;}GdUrGj_V%=pbosQ zX7b*R7LWaSv4!-5WPQiDMMKX;`nT+B2}C#>(b3V9Zl1p(g?jQHmj#HY2}_62jn=zq zZ#1A^Q!^HU;NW0BDT^N%8n{O-N2Sg?E8q?yU|+A@!LGMRo~?AT=$W-c2SJ~0h13YW zc5dz?tr~V=07ZKo30bmcy>(2|hjxEVKejsd20?!zZ2pX?gCT8gZMv0|im2&29Ua%Y zLhv>QaDh`ZrLnJU-geRLkEO66pjW%o-?^D@KYu2nz!7DzPP3vS(g36dP zWH}=dD`nr0zyU zo~vRNKl%Dh@a5v6f8mvE{RzaoM$5s02AmqyX94advHDg)&gC*n$)0c4vpZr#i?m%E z;)W~QnIfM{)7T`57vccI>&*j#@$ZaL$6AN_=xu}mfBVI6pVOVvO3Qt(R5O3x*a_D3 zg5|(rHVC)jj|?8h5wyuyi0vV5_Co(M8<3Gv1yL15eR-QpgOR+JjFeOzHo%L&#swA% zsF<5Kt}+p0S?qT2(V^LldVf&H7hl7SdZi-Y8w{%Q@+Fcd%Sx8n_va1zTH(T4xl{bH z9M8>o7VPj9$(JvuutQCYo*uLnM!_nZJQQR%@#1%)aCF-qXw2iy|?AeD&40Y+bZ5&{ByAO8i9 zP-+4o`!y!YDvAa*koBYg)U@Q1{tN{?RMCgl1OKJbzcJpwVfqksG8UMIuEs+x#k|bR zl&%`|ijqr}-|{k>7xSlPME zxq9ZjibGl`rm~<9;IM)d!)oRQ1INX{z!t2zF zW@neWH$KiEcm5-A_Ss85We98{h;^WX1MW6Q=#=Msz z3YcFHq_rGXU(M1KP)2_(%&?A1Wn2YMaD8|0=8(YR2E7o;Rdo#tzS$+NL|8OfkQ0z| zrWMsRu?oa&sYk-zcdTD|6-Qk}rErm^zyDqX+O^KGAhC>K-))E2ABHAw7#G&o7W`5E zDHSxQXmc{C+K^#`RTPMS@6&_rZ0lrKXvj;Qnh}+Rm@6{bx)CzVWa}0 z+`x1UH2G?+`YaB&L8G;artc%v;kTkk!9XV)sbk6@q`BYet(3r!)c{%4!j2w8hcAf^ z5{t#GMLt}^gK~GEn0y-kvD|&8{y8AF}e{YCLUv!xAdPBeSVHt!wY8jS?G0D zcCam9?=q@90Xb@XcTcoiVzs$e9?(wCh+H>q8?tXaa!%*KFUX#ggFFtiyfWFyJ6%5L`i z+1m;86+?M{moD4YZK!*~+o^bBn1+Cz(KOfh&|(Giw^>Q@7>&iu)|svG$et;#MJ{M+ zO67>=x`)6>{FB&S2N96&&{b0r{S(>-i_8_i@EDFdkOTvJb+qgLwf!}F-`!A~vhVvy zCJtrt%_KI0J~|gzQpMsK(L~hx`(T&yop@I0BcZc2<5IEyaD5S_#Yw?+23p`9M6cRh zE^a&3g=wCUytNhwD0+;0B9JdiydU}ES=X8+plTXhfd-5|8|MLl)c;+G`5%S^-|)JI z1{8%fc}3kH6KC+FV{)Tx6vEP${#;NcA6g@hC_Z&fc3SWXLB+M$mC+oD(}R}7@h~cX zS(#{Zl8NYd{KKriO-umX=nD`QCAJy4$#%>*B+|gPXi|S^Zi4@QA^P(WpUO%g}Wr{$rs((vAlg z;B0rHOrLnUvDJ3*JMY0$hN7GmHr;AWwoCP^K6hPouAoXGP-JSo={(io0jpY~?vB5j4>)Af*k#vFTHGlRs z7ySmud<+~=Q4;{j7cNs%;WrNKQ_hpD1gDz$3VIz;?=N*^ZNjrSs33zOeHkb=czXWJ z35E*w^2N*4hYpb%LL-KsADzT@unLgdxD+$@QjIipoK5Sy9W){4n_1x#UP6=t1g>X* zs=VwB|MK5#r@2{>$9!p_32ZY{VQ7mBbVBI7g1O|;Jl{@vN_{3fPVYUInq;DrJmz(( z7A0iJW0rkAwtIX%K(VJd{DFeeGFP=VYSQ3&hz3WE66euOI;Q)c^&J6t*9vVX$ zD&Qv3@8N<8avo!Dm2{r3WGTkhO=uTHW(N^2W<`cUG8`BC@Y|tl0Yo}oivfQYd`L7^ zJPedkvpAH(ZDHi!>dM5Jm0dL^DF*SJdc2S1pQ8ymy+_e(e9qwf75& zZ4sx>`CeQAJ`9Hz;3wcSl0jlwa20uK*oBBlCBWVuwo261)uF6@)jQ z;hp4NrTf-O)XoprMoaVe6N5kW`Fiqrun9AB-Ga!7j@`%9>?JUKW2htA?uaYx!UzZ1}^iQmZp;{=SO@6iaF4`V06>0lvhRbVjl~qJOy;a8L?6p=M>EQSBm!{)$AYPi z#S<7+k~^+OC@wI7FTDR975*1aeJ=^oVJGn-t>kfj*3oVqO1ce~R8Grl03~AyL9uMoUAOaEDC>;Z-gkAPrt&97_Ovt(JoQo(F!qJjG zU9MkP5Nh8D68+^yKURjcxioY*ZRw+eQe1%N%$zWGMzP5wJ4@Kxb0H?(dAn28UnFH@ zaN26!`O4c69;t4M=ZdpA-7?#ozYe}(9dK_Kq&ceRo2&}@(zGYcI~q&(ZOSrG-hE~| zTAOl<>kAPaLhGZg+T65UU(e_&FM#@ZXfQPjA)paTPvTf>ZL!+^EWI6#80>Wa1D)|0 z-`Qxw5PIu@KDHBZDRSGv_F&SKh@a@kL$Tjz=@&QfBMi5t#fH-Om2wAt<$KDV*bc@N zg*VFu?=oLm1`L_aYNTCh;ZQD&O@{?#1e#hmrwVLS>htGv%_o3FAkAo@xvjnCcp`2r+abt*LJ zB_L$@5%#s1g^~n4%+eWY*d1cwnf#C))_War6Nv0y=Z?si!Ewy^xb6^9-u;pQvbwK} zu97JD>GhQH!#t`ZdG}Z18{)B^?}R7|$toIE@#j3-zJ?)&Z5-Qhm4(fFKmROHcD=rp zTx_#^5Ke3BSaf4Nyy4wgvGUZmznvozax$GmONz8%lwn4(=1{Rv(n+y_XsM$2xF?`x znF-}Imw3|Z!&8ldvE9m!iqL9j9#w94buM0d3~xUPiY7WTDYCdTbgNXH|DKey+&; z+Pd+4QD{=Sdy(G8$~)Wix(fa}%Vb6k386L=TOVYdHBU}58i?+B73x?cHT{7_H|!%& z*e~xR^n)7nvU)RD&{L6TLFyebO~;Rod}%sm;hVNNwlV3G6YD#49;^Y12pExWD@?^D zD}`klSdz>bHXLxtwNn^*`I&lBxi%Cgf!(A2F%~)_H*9DNp~*cT8+ywhy~`$Eyr*N9 z!0+ekS7OR+Ou?n5vlvw(Qsz#d{JUV2@VSK~KhJtT?*SvhWfKU8)qqT*K{u)&qWJwq z&+g1;$o!-WUVbR`A#k@A&v&t}BXPbze+?Q=;g-R-fDXdI?>uM1t2k=-xz1vfW1yGb zC?f0>T^gc?@BV2ykchjej$U6+1~Z3;&9!N@`{$F%2a+527OaW-<|1PZO8MdGeeR7H z85pQd6n45G&<|rcR41(c)xDa?SW+W_iPWxJEbw(_3UAgck=EOdIL3FLbKRJ}o@L(n z&M!IQFyf*pN69uGnS_aQft#5i0^!?Fq}5J~6ZiCpVTFy2JlbqBma9h6)bM7$C~=YB z*|GM;#TCKjY87E;X?F#odp_n93f(g~1BwAs-IJ6T2_%&=Uo?b7)ZM3~{9{?EcV^RK; zl32yiX6UK55KJfR^7Nn3<$BRy%AhOAAn*O^Wa^tte&hdN$+c+v#x=ttd80FR zhs{lAzcdYn7ucQEBxn;}J?o|ey48@3tOY_K_ zTGf(1h3_80zhl-d-nHFS@-%YG5(li3Pnv@Gi9W8>VT0^!Y;qzISyI1yBCR(#_(n&B zohHUUqRqM74;qUoMG_m!M-tsUZPyfVreJUHRGKkp3!c7XkaudIf|f`e7+7QE>;Fi% zA#V6U;O4(V%6}`w{M)8k_hfW91eD*jO0@@;elN89wY(}VFHh=dBf-VAUi}$f{b-Q* zoF?(@&CSva$k7j+;^T-?Yu81o+MT>)Qha*P#V;qS<|Sa#A(AiXcZln_hHK zP*89yzr4j}U$|l7+lT6`4+In<@_b7kjBL(Xa(s(!2`nM5AN_EX(Ah54ddoZhUudy% zHc5ysFBmO(e!3cP_|C3s$b?EfpHOC7pk$_k32VX8RbP-UU3HB-7B^vqm#MDbn)*^e z`YZWOqFUeOulq-$?=BYoT2SYIzJBBMFb5>)y8fAkgoRXgiP#dcC4yG0dCmFDljX5i z9{CSggKwdU0dqC|Ax(fz`l`!;_&SI;&Sy4neDmX`ZH}yvI2$|VW8@!N^WdKdNj+Jj zC>BIJd8tliLFv6fY{MBeTt8^WA1PDox*@N{mDu3mEczn(_KBQ!wh}J7N1`nigKme0 zi!HLmERc|et6v{dTnHG6{K>uWQR(L!6Y99tA#gS+Dk&!E9}G2$vBf0d`9MLrujPZM5cTb_T1XkRZr~Cf zO@d8z5$F%B@qe{LeX$iQU(zCLBb zgbQnP&tu2l?ZUL;)3Ha4@{OtubFgd+?rd(IlM-XUof@G*s$lV4 zt0X>QUEv1aI6|&~$}5w)Nx-ig`I+@|BRtjevs$Zv)QcI0O=S?yukh*q4YFs)O*SOQ zf7YE}&Bk3lnbk+g$CW#V>(Qp`tvL{_`AO2GpqH-iPlgK)6nv^-?YlE0U;ZnpC{WZ` zdRsLfKKmjA!iFg5^|b1;=zkV?>CNOQT;-R`Hn&(Ry-AIDT{QMZqJqel$LtM%T39Ms zS(7zk<8%>6XoDJd^`w^oc_Ah8t%+5JOyIrj=CI%ORIFdidAkI7b4X2sccV<7aI}Yb ziLpLTd^7y<9?QOnCZjG%?XX|MhX8tBHLIcQ>7i@(9^b-uJ|mbA$Y@h>bc{f|!TJYv z$}+?CidT$TE9~>P-@w%U zY0S^2#<%thz7}Sh=NVxK91L`!l)N!Z_AOWS;SZa40{jg!uh_25<_r;p%c9_b+_gTp zt$sBvu2upNReqni=a@soVu8H#5e;)j4@9}|glr`Jo&qegLJ zzf(o+3%y-ZQfxWBpz&FsCV#Fa{}l>Y&eijBHWNIHd`-V1E|otX9O(tA5rM+CL;isDeBcz9_b>0J zpSz8<3N|12l4&s~;_XQkJ@YF6@xuClgs-0@Qo2y?@hSP{#fm7n1Es!i*x3$S6S0P<|U#pqx?C`)&8|5IS+UO5Bl+Di)@oDutRn*r>$!Pn1rWGhQaf z&7$WLTR^d>PN0=gbYT-B(`W1M`moUN`n>ox0E|e)dIE*kj;+ViJmyqz^&0A+Hj0na_o^SUMd{)P8@{WfaKsQ&ND70La}r>n-Y{vuAs zj6BGz{_XJjFw8Yy_gJU91$T_>r~lC5>Fo5z z6zdtH_ujx3x>);@Mm_7OC5gBwP#w>N4Hf0!h-d_)SIm?#`D7Q48$#G>8-M+8ZUw8|1+L^9(|wLf-FwD7BOI+m4u< zgsb-DPUpxC;N9I~M_y$Gr_^ilDEBQFqw)XKO%=a%Shzh=SQ<~b`bJKJug#691B@8aLP9S>mw+&YTIY&Iund$^w|S*BCDJ#Oce*%9*y^W z++n{L&X}29uHUeEqo6(V1MH2Mx2trg?qp=Lf1}2kgxpN~vQ~~2DG2mqRgz+(s$&25 z>gC_ETS<(vfY=#25a>7>|G%ll{ey1W?#It{@a?@$33=W(LXEuTJQ5g`awTbVr? zryc#hXPMgAtvOWx5G5w%&?_WUcVYniU)FYbW(??pZc)NanLHj}E_H{=4|E<(l&;e0 za$Xs5TT04eFea7>KC=FS0VGbB>DK%umbOLCQaF$Wb1dKm1zmW9SMU?^`i#3;f8p{5 zw}ANy>A5MYJp5fg)iPsztDY?Gg*P91njJS{U3mDOSb$*tuh!LwY z`hqx7`R$$Kd@H1qi7q019O9~9E1L@s>IuI5e>!fG%(j1c9_Rq3tSFM;)!aM4oY$Q*pdzNY6#$k z*MD=R@|)DDQB4d89V$-X?-Z5#Woew0F5_0*bBwSjgh64cN`7W0Enly>&3@EKZ6z}2 z{Rn@awp-y!=-JD|Nl0RR)4opO6<{a47|oj)iq`DrIF z3I`NMXg5;~)94>8b!60^4Hv{%DUC+Lb+>2)q%lniNyAj|<_vMhTr215Q+U_$<{{9e z9?mRbmD(NpmS5;57@vd^r!@(yY$dG~dfMj(k{jmmZERw&$#$uo?u=ycY-%3$H)TC$ zaq}58y*3pRiwzr(XLA{2*{p4BebD0YHBlNH63^tE>HE+itT>Z(y9B~B2`$$(+&X_& za|_S~Qxnje$jSAS*Ix3Qv-xe7Kwe5S^ttfuNt|j7fH%ZTz7KKVfG_Ga-|Cll$A&vp zbf1gn_llm$N68agus4kEGh1GxNf&H2sEXVib-Q)r^A({YDN|AyrT6D{)FzbBTuYx4 z$@|Z|?w~-`)a9*E`l8#PBU2vD#@ryGj-kvY_eZGXk6ex981&LFLp{6Kd(aVba@8?-myqOJ1PtJ6$r?e0Vy7Hc{s+j0M#jM&WFL_+vEOp@{6K zi|H55!2$vY`;ODsyaNJ6wZJ2xOTtedhD=%mK#@5G1qD|H*f)#QVleT!FU~otgpeai zD~3o1gOoB-_b=X{uqNFF&mX0Ho}xM`Ml*$d%yp-}kZ@yTmXws_+DsG-@MZd4!i)>9 zuDk`W_iE(6K%b%m?=Dvgt@-aq`1Ay%y4k!OYtz)le*YwZgBAQyeO_)0E`4Lc51vkb z9W-C$1p*ZpI?K&(UI>XwbuXgYfwsB{aPB+nN=hQ`aD-Jis778YD5IL$068gT$qI3k GPyYdvwL)6} literal 9327 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 diff --git a/docs/images/generatedReport.png b/docs/images/generatedReport.png index 6122367a4f25b780034447850cac8607a42b8203..fb51732ca3e38c3db255456f5f0020ba4f0a8dce 100644 GIT binary patch literal 11660 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 literal 9903 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 - - + + - Tage + + + + true @@ -64,6 +67,13 @@ + + + + Dateiformat + + + @@ -92,23 +102,42 @@ - - - - - - - true - - - - + + + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + + + + Excel + + + + + + + Text + + + + + + @@ -134,39 +163,17 @@ - - - - QFrame::NoFrame + + + + Tage - - QFrame::Plain - - - 0 - - - - - - Text - - - - - - - Excel - - - - - - + + - Dateiformat + Signatur anzeigen diff --git a/src/utils/reportThread.py b/src/utils/reportThread.py index ff7a827..c4eb662 100644 --- a/src/utils/reportThread.py +++ b/src/utils/reportThread.py @@ -3,6 +3,7 @@ from prettytable import PrettyTable from src.logic import Database from src.utils import stringToDate import sqlite3 as sql +from src import config, log class ReportThread(QThread): report_signal = pyqtSignal(str) @@ -26,7 +27,12 @@ class ReportThread(QThread): path = db.db_path day = QDate.currentDate().addDays(-self.days).toString("yyyy-MM-dd") query = f"""SELECT * FROM loans WHERE loan_date >= '{day}';""" + log.debug(query) colnames = ["UserId", "Title", "Action", "Datum"] + if config.report.show_signature: + # insert the signature column at the second position + colnames.insert(2, "Signature") + log.debug("adding signature") table = PrettyTable(colnames) table.align[colnames[0]] = "l" table.align[colnames[1]] = "l" @@ -37,6 +43,7 @@ class ReportThread(QThread): cursor.execute(query) loans = cursor.fetchall() self.report_nums_signal.emit(len(loans)) + log.debug(f"Found {len(loans)} loans") counter = 0 for loan in loans: counter += 1 @@ -45,14 +52,15 @@ class ReportThread(QThread): loan_action_date = stringToDate( loan[3] if loan[5] == 0 else loan[6] ).toString("dd.MM.yyyy") - table.add_row( - [ - loan[1], - db.getMedia(loan[2]).title, - loan_action, - loan_action_date, - ] - ) + row = [ + loan[1], + db.getMedia(loan[2]).title, + loan_action, + loan_action_date, + ] + if config.report.show_signature: + row.insert(2, db.getMedia(loan[2]).signature) + table.add_row(row) if self.format == "tsv": table = table.get_csv_string() tsv_table = table.replace(",", "\t")