From e11c078829e40b1d42c196e2d20ba92a8247b667 Mon Sep 17 00:00:00 2001 From: ske087 Date: Thu, 24 Apr 2025 09:24:08 +0300 Subject: [PATCH] updated reports --- py_app/app/__pycache__/routes.cpython-311.pyc | Bin 16455 -> 18649 bytes py_app/app/static/script.js | 75 +++++++++++------- py_app/app/templates/quality.html | 8 +- 3 files changed, 49 insertions(+), 34 deletions(-) diff --git a/py_app/app/__pycache__/routes.cpython-311.pyc b/py_app/app/__pycache__/routes.cpython-311.pyc index 4f6e790dd07f8a11c9c5da0dc2c3c76f1a7c0ea4..2494f39cd6b3dc94340d4d45ce2ed11dc77c6766 100644 GIT binary patch delta 5774 zcmb_gYj6|S72bzl*2|JCTYh^nehFjw0XD?gCSaRqFbR+lyAUJ1>j%-p++9OZ<;tB& zGlsZ{>9#{Mp)*c?&@f3l?Re7RPus~%8yGriW#Tk++qCJA%rxyEG2}J;>N!^uvixXB zrgx=p@7_J<+;8ta_w2cQeTx0dMb`c^o6XEXX}_H_n!oX)y|Df{o?$LAA|tW^W*~WH z2Uxh~0$h+A;DY=B&tf|txVX2hCukk825kd2Xwr%LfIXNykW1@^fFtM}aIy@?NP5vI zxvp>w^9KBrWgt&9JZC*+u{`R|fo9DRl$6o1sOg5oBuH}AKUm5RP$dg$wjmf1ObEF2hylRMFSP~@ zGOR*I5CqZ$XH6dnj{v1kY@2VjKFqQu>KR*Q6SbK!hnB7~qzg_-y&TamkDd(siAZ)r zqffnI+s1ay>+GjEwoMH?n)A1yY#xFeAs@l6zU^p^QQMSYrh{C(-43Af{y>0~<7EYc zfM7*fhfs-7g;0%9gFqkCNOoa;H^K&ljR*}0K7>X98T%6o;NjEHPwMd=!shw!I$Jpt z4kJuJk9sYyc{e^n#Cm$d9~e{4`9_ss;HsXi#vU1v9SHYFi0s2lggt7LyPxe+FSy^& zn3wWfH&OHUvwk9th9_i+c0l&8V(I|4AskfS%O3z!bp--_Zj2h>1Fc_-g27AGzNwiJoC^#jlBHE)l>WPy4 zElb;Sqs%Le=!miuIf^_*9YsAw1E5nqQ+$_84HwXlz_06KLwW%UN?eVf#yWqarI z%ez?}E=BcN#i!d=n?77#WGli$02)6cDFm0NW*C|va+qlPaWWQC)G48;v=-a-y@Wus zX;@N*M$uoX3tH9R3PncpI2w9F{Xh`vk3v;O=cOK(0=j_6L6kyx0%bPv>i3=bYU{c` zaS6lxdzJgS=HE5$Y}{SJT(8L8Q_5fWRqgTcH#~Z%->BSCv5#YJa=H7q^EaJU``Y=N z?fQM&)xFif+EIdLX)JgcYF-_6SB)PJk1q)h*`BHyAO?gd6e5AfMfKsDURcP_)qKDm zqIP=FVlTiwThKoi^2w5-jD<$zOjz-tIkE=xr42Z-bs&k52qW3nRqvf@vh`j)q{ zZ_O#d(I@vK0ojI^9S9Bp2n?b~jzJBcssLL(2yJTF29JlvGRqM3tVn~fmIyfoH!sca z-%!rN)10agbLH7jLq>OZUYc1T`xefJtOLNw zPlZlN98;1cLvZ8gDDfr06r*1CeF1Fe8h3NWtFR^1c2H$oD#spl3@KAOd3Z+YQsMs%$( zubG1Wr(u|gtQi4A{-8vIzNSA*#uUkGBx`niKlamL@5Nz^~z7O3%P3g#3X) z@gzA1oc{)Y`LF7u8@lKJz4aDr!L^L<$h$A`>N`2b>H%GW`enP@Is%F6Wp0v%0A@@^ zRW8cS>C#cvG08_Ebxp=%a$d2h36EPf6x(YQbm>$Pb#LmkbFYY*VJ3A^UVU|Afk8Ax zb*Vso!sBocv)O@;Wk4=bRDE2pp!26~nxgvUazHlcH8#qMW?Vp`FVk7X0j{aWIV|3w^z-1Bh&iK1c-^^oi7ps~JRF36*mz7Dzh?}YlIOGRS>_qOpE=8BDY~O8rbMYwAKF&d zn%}1xh%_E13Z#q1QHX&OxUY_c&&nFxOpuM2)pVl&oa{Hjw!(~lsWw)4)9F1$r}t2=fElOI)hTSJlGvUu2M_i19uju;Cq;UC4|i`AFe??Xnk5}ERrfbk2OFxz zNbN3sSxKURj0DIbg(O>{S*Q#6Wd+W_E#__anl)~(7_l83mxx~hx$dwiMXcSA3OnH? zn!GX{>~6kaYe`8wmQ0lBm8R8R#2CLJA~P5$7T4lr*F)X(CY= zp`jRz%>9CK6En!WH2{~G5hltUw@<>35uAcu?#&munOsN&*rBBsFyW&XMl%)~Cs}2Q zOq5k<`UC<{VhVPeD#Kj%vLd+(8cY@N1Td4?A%_jfXwLRZio4O`2{<3IyaO0r+0b+!28H=1@2|-WBmdA~Kkqr9s?J_&NgNA%8&b zf=XIwN!0~(?rwoDrkJ?nMCy0s$)BEj-Tk)d*WP$z&q8_cVtH@edGIHBvqvr#{kUkh z=*H&zvY5QaQsg;uo^nNJS;CJz53P~)55Nny=gi%$luUx*OYIr>*zHO1jML9z$HxW% z7aS)R9VZezh{ZB;$y|C8X|OGy>apXxwS2fG<-@J$!?L$M%L%@T8^xIaj~{(oH;O?x z&h{hn19);W4X|<|zM+G7VNS>lnxos49a#Hewqcn62cF_OH1}fKT%?pH#RAQVAwf)s z7j)cqAyTsTU7x0hge^=W?jCS7v(o`NnO@{BTNdOM5cvXSYhVdYF`wAnGsix(mEE$H zy)?RDt6j9!PVKtwDVl4ETWa7p)sxWit@<|gKviMvV~cb4@P*Fl&QFRfFK>L=ciH#W zL)X^D>pK?eI~D?l^reo3naL~v&{cEGRWlb^aJ4MDTH?;lcPx5a z+h+^_2mx3bck!j|Kia;KSGAZ|HQn>Mfw8&bu5H(jELe9gT6e~+I}-+`Vw8h*h^Hh@ z_skZZKbSD2m+{9X6$w3D+`)zY83ITYoPT8c5ny3=&&n5$PaprJwCeIBFZW&Ud#nH2 zj(9`YLPOUgU}@L%f#tk~4_$S)Ty?J(FSs@@x;Dq1ZFgcod@B;)ip00BMZDvhxM1yG zw06g>-AUr#hBvUzvAt-%U_Ni1u};JB)kiUlYo;^7aC#WHG<;;T#qCY6KL!B51yl2) zsX1r3yl0exO{?VS@t%QGewWvjD3n8 zx0$;5YQOncI~BHYD+}WeaEE8Ojf-r3g2NVtRhzc|r)6$pZe*%(f%Pr2z696F79|(} N6m86Eq0KbP{TI9#7-;|i delta 3824 zcma)9YfK#16`sdFW?uuC-GyZrc8sx?EwFe2gCCg0JmN=UgPqt_X|KTz(|J3JmbMPGbmo)vYmYZ_@zB!TO-sV(J#(thtMb(z^W_{y6HnwNvY}I%b&k39+st&FCw!m@k!fQR_ zHLCMfZhVhcbE}qKtq*ics!MfG3GaDIKx1h+4`wKcT-)$Z^@LG>5m&pc- zvQ;}|tIK4AMcJAivU|#8>x#0qJ7oQ3vh@Yo&cH5f43_DH3Ocd69ro+XWE%>y9U<63 zzHA2@$~3}7jc`ScNSQ{YsL@zaqp3`zv8WNPsG*c;G!-;D_wHD8bD3;Z<)7!``~HC+ z{@m&VaX{p~RCbPd13)ls(>dKBb#%h1@NT;7d}!|kvTIe9{9+^tL*hq3*|@MZCL#K! zXUy*evgycb#&k|KZId~YB|iFZPvcppHXn6IqT)HDhOTtC2+-ZPy8l{TqK6S*>S?JiG2mac z)7hS2DKW6>m9-Bq=c8ocf*u~J7nLUn!H9jjmDe!!`r zMV_I+P-JLhXlLjEY@jcP?l{BN$)s1qZB^UtL>Aq&GZdir!d^Z?KMo(1rnu{#%8tDe zZr~efIQ&Y9g{Ey5n!v*Gz0pO_drE0FfHS}M96Nn1TG}FQ4i@=I`eNktQt(nLGq352 zky9>fN_tk;h@q)R7ph0+G?FrML>bDd+EFF;n2#;EhsFxi1<&YEa{HvKIFX07N$rYJ zoI8h823lBfzL3tc!TWA2!WCup{m2oX{x#A^@AY@n&-$C_T$6UJQsCmrAiW5E0H!#l z8K!-Xq-PC+iOO_bnJ0RV(CTQYe?JoJBZTCLDNSm|m1#V(>=b$lMkX0W7(+OZZ~@_Y zgcqn5RoX7WQ1=29{KTH+6>=7(5H6z3ry`5+Uqv4*J#ug^IWHerlVa;qEHB0WDEabo z@>U~&)z+l0b*U>aburHVmA<^Z-)d{pfpzIXUOK=yv6WMKIcBvrsdZgy%}cGH!|6D) z@^W78u-clGSeFucDZ!MYE4I8Gwc47btV>E>Qg-KT*jC?Co)wOLC=Pa>?&f~oU3KQ5 zcwcBa(ntgB5khb3#+;ipV6|bfUe9 zv`Qc`v~~aAPJa<}Hy4W|^t|BoOeqV$$qs*AnwmB&Z?nMt8A^Nxu*}i<-T`{I{R8kg z-EmTAsNgYS_A~T;XLD}XgS%sknYV0r9jcbm49)UYuxv38u{;#+03J)o@^B6q575Jh zSX~CeJ1@O+@J;Y=Ao+=ysN`V~#7P}OJ;K&ktf5B_z5Y3Syj!I=rEF>jHje0~6L2<_ z)mYs(?bk@!(Be+A>(3U;KdbjH3>m%Ml|kE=WVU%zSoM zNft+4#ZmV{;6m=2l5B^Zol%lX>jkEzJm%vI-ff(&lG&zK*G?@abWz!)Z|ZE$y5oZB zoYqn*oEg(ba@TY?RqXO;OA$E5EHFH<15m3Lpfhc1%1G&jV4%Mo40x7-{sdlqhNFKT z3@vRqIRD{%Z6CBh`4YD-<$VdO-IedjdGF}&D-k#BVvT#l?(jM`IDqBhM>6NFz0vdC zWeL!MiD|B*g?qpBrgdg1ax2$&Aj@h`E_Lq=^ZPiirtR zxIAZ7DLaAmsIl8DyOvtlJ9YuXTa#5?F!QmrLGUyZ40wW3L6#9p)8%8SAAY%NKBEng z?*JSB*y$h8CnJ&7u4f1zKEd}Mteq}zc~5N_BFn7op0O_+ { }); // Populate the table with data - function populateTable(data) { - const tableHead = reportTable.querySelector('thead tr'); - const tableBody = reportTable.querySelector('tbody'); +function populateTable(data) { + const tableHead = reportTable.querySelector('thead tr'); + const tableBody = reportTable.querySelector('tbody'); - // Clear existing table content - tableHead.innerHTML = ''; - tableBody.innerHTML = ''; + // Clear existing table content + tableHead.innerHTML = ''; + tableBody.innerHTML = ''; - if (data.headers && data.rows) { - // Populate table headers - data.headers.forEach((header) => { - const th = document.createElement('th'); - th.textContent = header; - tableHead.appendChild(th); - }); + if (data.headers && data.rows) { + // Populate table headers + data.headers.forEach((header) => { + const th = document.createElement('th'); + th.textContent = header; + tableHead.appendChild(th); + }); - // Populate table rows - data.rows.forEach((row) => { - const tr = document.createElement('tr'); - row.forEach((cell) => { - const td = document.createElement('td'); - td.textContent = cell; - tr.appendChild(td); - }); - tableBody.appendChild(tr); - }); - } else { - // No data available + // Populate table rows + data.rows.forEach((row) => { const tr = document.createElement('tr'); - const td = document.createElement('td'); - td.textContent = 'No data available.'; - td.colSpan = data.headers ? data.headers.length : 1; - tr.appendChild(td); + row.forEach((cell, index) => { + const td = document.createElement('td'); + + // Check if the header is "Date" and format the cell value + if (data.headers[index].toLowerCase() === 'date' && cell) { + const date = new Date(cell); + if (!isNaN(date)) { + // Format as yyyy-mm-dd + const formattedDate = date.toISOString().split('T')[0]; + td.textContent = formattedDate; + } else { + td.textContent = cell; // Fallback if not a valid date + } + } else { + td.textContent = cell; + } + + tr.appendChild(td); + }); tableBody.appendChild(tr); - } + }); + } else { + // No data available + const tr = document.createElement('tr'); + const td = document.createElement('td'); + td.textContent = 'No data available.'; + td.colSpan = data.headers ? data.headers.length : 1; + tr.appendChild(td); + tableBody.appendChild(tr); + } + } }); \ No newline at end of file diff --git a/py_app/app/templates/quality.html b/py_app/app/templates/quality.html index 5145061..2f20736 100644 --- a/py_app/app/templates/quality.html +++ b/py_app/app/templates/quality.html @@ -6,12 +6,12 @@

Rapoarte

- - + +
- - + +