From 3eba807e5d9034b34f3b821fbbf970b5ebd06d12 Mon Sep 17 00:00:00 2001 From: emile Date: Tue, 26 Sep 2023 12:10:19 +0300 Subject: [PATCH] daily reports v1 --- .DS_Store | Bin 6148 -> 6148 bytes osinaweb/.DS_Store | Bin 8196 -> 10244 bytes osinaweb/db.sqlite3 | Bin 421888 -> 430080 bytes .../__pycache__/admin.cpython-310.pyc | Bin 1313 -> 1340 bytes .../__pycache__/models.cpython-310.pyc | Bin 9491 -> 9646 bytes .../__pycache__/views.cpython-310.pyc | Bin 19546 -> 20105 bytes osinaweb/osinacore/admin.py | 2 +- .../osinacore/migrations/0041_dailyreport.py | 24 ++++++ .../0041_dailyreport.cpython-310.pyc | Bin 0 -> 997 bytes osinaweb/osinacore/models.py | 9 +++ osinaweb/osinacore/views.py | 73 +++++++++++++----- .../osinaweb/__pycache__/urls.cpython-310.pyc | Bin 5568 -> 5630 bytes osinaweb/osinaweb/urls.py | 1 + osinaweb/templates/add-daily-report.html | 12 ++- osinaweb/templates/daily-reports.html | 45 ++--------- 15 files changed, 103 insertions(+), 63 deletions(-) create mode 100644 osinaweb/osinacore/migrations/0041_dailyreport.py create mode 100644 osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc diff --git a/.DS_Store b/.DS_Store index 684dd60e7dde9fd25bfe15b0048f64be79419334..1cafa8f6ccaba19def08d0723da3932438b55f9f 100644 GIT binary patch delta 341 zcmZoMXfc=|#>B!ku~2NHo}wT(0|Nsi1A_oVPP$=ma(-^XW=H1L%=I8)76v_rbcRfZ z5||WFjDg`KZ#lADZoZ34QcivnP>kb}>f!b2iANn#yhncEY8~ikz*(Zx+#w#k)fO+l_3e){?!Y5gR>#_1I<8Jhj0fzbx7`EWnkR* nfMK&R^ApC+>>T_Yz(4~A&Ufa?{34DVz%XM1Id*e|$QotB)qF;Q%yo}wr-0|Nsi1A_nqLn1>tLn=d(XHI_d#>C}}jLe%`Sfm*@ po3mYD+*lyMyqTSYp983GvmnQJ=E?jbjvPRpAgwH$BSh9P0{~nS659X( diff --git a/osinaweb/.DS_Store b/osinaweb/.DS_Store index ffeaec15c6096e39c4a0a4467b6974bd5b0d9e26..58a0e6e3d94509577dd7ff95c386fa32bff00d4d 100644 GIT binary patch delta 887 zcmZp1XbF&DU|?W$DortDU{C-uIe-{M3-C-V6q~50$f&k4U^hRb+GHMq%afN2NY>}1 z8wMxm=N16fFfeS11Zrd8VaQ|1XGmd4Wr%0U1+z*Sa)7+z+p6hFEM~|A`a6-K9O%;|6#E!ze}jCCt_Ioq-D}=}t;eno z;Tr7fL?D);xQ=nNg-|aeYV@pCJp;6W4d~PophHW54o*gPMDq>a=yQ-LK~sZp04_Bs zcCVWNv<7U?<~_ot%&4Ky`kiC4q9|(UCn{&C{fGmGK12dx9kPS~iXH457(l8g8;W1s z*zkfykQrnpFs*U}30F{h-B|dYc{0CDpa>Hv>=_s|K+=p13bVR6bQv3_ diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index b53e6f795b1fdc996f8ae6114d6da33804dec04b..db026d215c231c7ac634263242aa98f9058decf4 100644 GIT binary patch delta 2088 zcmah~ZA?>V6u$3$?}z=keXSGPfhY zMwSq>1yko`PF=%hW@e0A>T>tt6o2?b%`!};amFn=vt%)w5|iPNxw!Y1DeXYl+@2rr zbIy6sJ>Zb{U2;=|5-}s*8PB8uX)=|WW_^fnYavJFtLKEkTvt~QV zxsrbKeQmC(7`j1Zd$=nQiu8)jLLl7H*DH2MdZSEyy{#WOlasc^0GQ&xmK_E{e0O<0 zFvfo{354l$ZhVrT{kwFSCbGk{LJ^KqZ za+f4_0+f^7rKF!f$mJM~6j4z0sOM?Dk?(v5vMjJfQ!lYopn=rXfGl7*i&mxSmzNEYSJWiYFRkBA+NIcG z${?-XO*-VrUidMP&h3Lok?n5H-A(ifm?r2g!@t$s%RiFuAbI)O; zF3@FG7&4~{H_wQrJcOO?Rr7G9xX&<`84#Qan9H3KfKRJ1r5O>W0UTki{4c4BJLWmV zRTfW^2PR9gK((Zm&|T9l)J|&6>JzG4>3&|m#d;O5E5GEbqh;im^7}My*xTM&|-dJ zo!K&PxW)X8<>5sZ`N46D=3zc+m)Pr+Q;qsjABv&~YR5_}MiP4m+NBTfP+^#_8OD== zU9@V=ZOx?SGtDrbkQEx;GABdW3-eTBk0AEMq^*BbS-V`k*T=ie{)T)9LzplaZH)$7 z`%;6%du@&s?!fpGJ40k)JS4_i=At<~L+CNu9?Zn-II^IeA#(qXjP<4mdwg`I7kkLo z`_zvxp92O$ca=M#eOJ?_u2n5zrsHl`~cx!|Ie^!xn@htVl z^BvC3ulxE|H?8yrnpO+l8@pO-o&FbtwcC35RqcT$SL1VQ`d;d8YH4oYl>OcxD6llD9&g|?I0^SINaTAS6RB1{E{b@D zpwH}&(s}vb?=%OY32no)(Zyh!ynKqTMvSr_^(MLJ0Uh7EfJ8$CI*Eob**lQWQ$-U6 zHvc2l@O*_meH3OdNmcCi*}ZrVR#Z5g(#Z(3axsSonn6_rx`w_)`_Y@|6;y>Ym!Ms_ z3`0DH$!ZZZiK=wsN-Z=)6e>&#F(DKa@iTi7-nS{ACDe>g#E=-uL{ln)k3$uuSjf#! zz98iUp6FAd2uk_vGUz6O?xTC?F8TxghHm2b`yS;{Pz4yp(2AiH0~JF;s8am{ZCYsw delta 789 zcmXw1TS!z<6g{syce;-`O=I2hQB6i8)1-5C5E)5hq(Y&<`4GRN(VR*M%@X{}nUul? zL%rq+47n&$1kvM0hrm)nKYD?IK?y+${X{g=PeBjr^wBw-kG=O=d#`==PTNK44}~Me z-VFf2De?XvdvsqEZro3fP*;cWg_@ji)Uz4;^@Jq{DxJ7lpiBA+*afXb`2|?vtdti( z=(j#r%)+FVjWj~TT8)H_T1AizJrC#?`hu>}C)B3(w8in8Pj#y~P~zn43bx>+{MwS6 z7oB)ulkB{1jW*(-GGNJenPb`&iolgQ1Gh7Ka8h5k)fDtEg z_OZ@$ui(~F98^y+IS-GDbUu|e{)8Go{}YZ5LJyPDXr~J-{=0l{8ogBzdd?DARL&M= z31NM+#9&9VsOq0ttnLE=}}omKO=@N8<*MkKj*`znsK}5bw{T8R*lN3tn!q++XIMepJB4#l z%n2?Vtr3`sv-BV`*!%=mamIa;WwK}+3*I5;l!5k?Y=lDaQa`UA!vylOYq$?yvazBI z5fnk7UuSNcY7@sdxV&{kPa~U1Br@1Xre5T!+tiIBb~TV3yXmX ze?0J25Pp$&xI{yBz_X@5)UK+hm4;0v@;BET=`I<Eg$#v4qGl9T^3U+1~S e?UI<8QyG+6kY6MT5r0*nCnM->nN delta 51 zcmdnPwUCQ9pO=@50SJVy@}`DObLFAju-IWPEW+Vp>|!cA&Ul(GHL;qPu}?0iZ2KyFfZXJU>mD$^Vu2vVrU` i+6`1BE^v#(CO1E&G$+*#sFI;rZ}JlrT^1n$F-`y&)JJOo delta 150 zcmZ4IJ=u#dpO=@50SK5+@uk-4OyrYcEZV4D$jFwW5zL^exp@m?k|I;F+vEe1(v#Oq zaZR>Wc9qm*DT)K?DAEHFwjiPrNcd^;PCh6uI(dV#Cgax0`&lI9Hv>i485tOgK^AZ@ n@Gyd)6k`!c+)q<_@?@30jGKWf#V6;g@-ym8u2t1#5)%Lbe61o` diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index 1fd8c6a65629203f417fa77645f9fa5837b5abe5..37df28a61068cf6c451620aaa97d799b562b85de 100644 GIT binary patch literal 20105 zcmd6PYm^+vb>2)*PfyQdXP+Pl2qXu5h+K+TP$KmLA&3tEe283v1SpClQNzL3U@?n% zEUSA7Vl*q$0wwE3$&@8o5-Drphho_BIZkZLO6=ovqQr@gl_*N$*m37!pV)cOKkPWL zBMBD8eBZ6^o}R&g*f9Q)-P5;kS5?>J)>pS~Ro$NM#6%&5zt??brtw`rmHJaYB>ysa zxE+`GA~=;&=~k+puBO{o)oN#|nRH57D$}x$FwSme+fLPK=c>83TXhkaQrT9%U8oj> zcUr}Esagu(nUHsKt#W&^Iw|pPYpOk6ofbadnrY8gXN51c=Gt4TTZAtn{Icq0;4M{Z z+3l^>t?kRJmrLA4Yg>DJbvyX7ntV1@eVv+8)41BXo{5<%Z)Gpy~1izqm3;zc2H>)=ae-rpOsau5K1^!m`X5kmW zzeT-O_}$>&rrs|6&EWT_+k}53_`T{K!oLapKJ`xFZ&A0aJ0P1|)t%}t+~2JBs{^>d zMIBUko1Nbx1vg`(E|1I*j`})DiUv?)%ic z)uXt-Q@uw$hWqWRs@{wH9qN7Raoq1z?^iY4?@~{wI_~?`QMH8o0n|;YhScpK_+x5W z_`AU$S54vX0l%V72!Aj5mTC)sANY>y3jZ#(s-8rC_baVD+#f)kuht}P5&To?r0@@d ze_EXq{t)<{`hf5cf$ytz;U5P7LG@$89|r%7`f=fpfd7y>E&LPv@H^Dn%_aXX(09Np-sh7MfaP)*%f@`LH+hF|L*T>)R~>e{V0 z-}+LTY12XaM!Zm}uldIt9lyC$_ZvaB)m?6O0tdJ5nvXPP38?ADlWWLMA;fJrJg>go z@W}hkcB9wrG{EO{N${ndvX-fFia&*_I4c%Rqp#DP{|AE|pM0{g&fa|yAw zLh(ziSoD_#!|N_w-X}r&sg=}9TD!ib(x=mh`J7SK2}|GR+u*aO)9dMedc!%B(tG;p zm7L0KORZbN+2At1+fVhaenw@V%dFddTcy_0`c^-WQ2Vr%PR04AHwsW*&KZPtGQNE} zwVw8i{glcnx1VmNPiG+T{9<4q@3tF(edxi%M*?@vYv@iL&+cm7^GPnPsp>n9zsC$iyuTNF#%k^ewp;r*0FC6#Vt-wCk)$RFG zV6%i^s_E5|9i}vObl|ib{_(D=PTsZV`Q7&Y?8Jk3Pj6wYibXpjuPaq+Xx-J?!t;EVz4_!?!}Im!OcXanZ^Pr+l&;`*{-NEEpibWIM!VT+G+M3Z zsmAX84ex~CUEO^ct!-ECudnjqL9gjAb=$kUUb9m-^kn0xVV1hOvHPiJJDgMi8SNM`;J>z7iEPXYS41tCKVhaQ`toi^nearyp`g4pzP=?z<1XVSn}=EIgCb2v78CIx%~-7Aj1#m}vzH!R;(HgKE9-QoSt)EVZI zlU!WMCEM8&rImN{Dlh3r-n$)du4h$Y-Rax? z0Oxmu?9oBPJpWIJ8I;RQvgCn%m8pMtCpZQuoyt-5DIYD?W#SN94{sI#YKC~y!g zGHuRiGcRzCHCsMlOHc+b##}?!j-Co^W)hTudT(vDp*e8$G?M5^rYoV&$BwP)E?!2t zQj9^pE1e$Lb-j$dPn_gkFYv|PBsY`1ky+%Hx*fmqv_FCmJ%>mp^>%<-m}ru3~~G% z;$3B-pADA@k&z#yRnT-z^tfMu2Fv!d(yPv5ueb{$kV&CQt)6SwJ5cIc*hc#(#x+!# zN#XS-BF=O~(Tth5qMAYOkV&L(;ZvsGYUwwF)3=gP;QDQha8=Xuo1G=!h}tpZYY*dZ zBViZncarQSsl-GEUa@_u7FFQ^M0sTp$8xM0>&A?owSQE~Y7Y4!k#h2|afwLTc^rfr z))@>e2-jYLFfkMz4#oA1f~X-T8-j!_iwS{BKD(&jfcG@VJLbJpH34a_AU7il*C30H z*LRReyQMX3w~>X>siRHa&-gK|)r_d)@;HiiSb)zfC0jx--o9&*G-}@lbeyyalby5) z$^`8*ZL$}8rCm!hO<=S%RgjM!yk0qGP2;jbIH5E&dYR)zdf7BodU<@y4xln)TgHeM zE@|0R)G~%HF{kK{?Pl+Z7C#QgPx+YI(O=fOMd+{CeT%Ti0KvqMKFn}fK%rfOloqCT z8!59;hfJBJ!d!PcnDE!L%PFWk$VJqhBkB%jfy#yI&V{-Q3L(@W9X#d2ry$pWsbaz` z88bEmFoE2M8U|TDc)^6%Xu;Bg#^ZA^p&Kn|P3S+Wx87Ws*DlrYVF!3d%y~_i>f1>; z^BEx%NI~ZA14n`kEI0!*5w}rO`W~ia(V76SP7M`|YU)Fbdx&HV$bu;DaUDT|p}wNhV)do3?gVr3zVfqFT2M_e&7{BB59q5GGw3V! z!azOgyOEQ=mxP0FK4XMDD?+YykJSbWK_;PN$GqOwCEb9mDd|YJT~fZK!<-Bbh2WL} zJiv9Rqy~b1g!Oqh$vBD549bsW`e~%~ra&musZf$K0lWu+V@GpBjz(LBqdD!{<{2X( zI~0@Yr^T$bAV=GGhR1qw*RiJNlnUDvQe@?WNSoLEQ>zV6bNKaUP34CLm(!0TZe+{{ zMTmCbg3y63gV<__-E2y$5D-zPrAe{(l3dS9TWXUY~a>>!}Ma&S`2($=n z=PGzef=yX{3+gTd1weI|5fyGP8Ypp~^rpf_5=90YnZ(eOR@g>M5BhvuPZz@mFrQyW z#-h$JWT>dK`f-E|buBZFYfUsXxuU=fub|YVmeyiiH^Nuy2D^(dp0!MkUacN{=j%v& zPUK^iGMdxJMeCs7k60MMy*bkk88NX;bPcik36e@oc7h8g2gyad{SKp#k}QD?6_@NN z?=6TOnVVuXhv>#KjT-$$3*DC;?mij+R!}&)hSdX>p0FGXx^b+5h3-rG?n63=I* zQ=P!QGfX^+-TcGRn+CLDcPlocK{8IvC9aO5squG_$}53PSq7^PjSo&z7e%UmA7bb2 zMc7uwC>zeaZuHRG5^=*5Lx|477z?Z0M1FdOWL$M8qs+od=DSFE&IO@T7gOQ{9)`Lr ziO?7wBH2jlBH4>WqX-d2NduNA0LZ{>X|pWmAN?hvk(5mIx=1E^=xvF(v64B4OouwM z%Yapqv66{03nlYsOh|h~KM67x>0*Mf`!7}^GV0Z_)qxUxcR1LGq!CW|SuGVG7>$EDCu2rC-y7Ei$?z`_8Cg)KLz(=d)z=!afS)mA%Vzn5rMTb3 z_DrwL@greI>turoGbe^AMn;g)NntI$i_|i3k*VbQeWVcVO=WBwX1b$kW^4uzuDnk$ zWQFU^$ZaePWR@bvV2sJS{S+(KBN+z+vjPk;kV_Bi?~MKcYlzVJFNuXAVQLDXH)krg z8i~{l6(3RhDUwP|j21Nwi<4u^JEfmynm))S3-0AjZxLObYkNh>FGkjw8QYAIu+R9; zIH^cxSD`MZyQ0aA$%nctivSy!42-vcNlw8@+Z>BkT6r0Ag(W1D2db%;YtJIAR9 zEdgtj6^LTS`w;RCoYii#<3q#C{1kSV0cp-m+tW;zJ;Y=Kn|ZM0I-50Ucm~NNOZ_al zagdlW*@uSuO%Q|V_!8FeT(?8VJNlz|`I6mZ23aYzsl~wR&4f?8j@!-ItJI&)yM&DDgRzU=k# zq+un3%#r%?tBK{~EMiO-YDOH6E5WBtR-&Y^6g#CGt6dGW&B)WP@G+`YaX-^MENNb? zcHE~PSG!aiJgnV zDj(a=q5x-+ML=bWeL9#+Td3}nO*AcZ%?6Al&iY+d$5!lNc_%TjWJ5#LY&fuFo8u?h zWG-~ZwtEWYVYeB=3)_Bz$ff<{VCQru9oo#FLBLRVQN{4$+V)&%GiO4Z*;w}0;`te5 z&fUXZZPd6WEfEvtY&Z?97rB@F}m^LX{571BS2SQyaf z=a7XF?PwMB=U8?nCOg3eA`Fw>l=)%e;HR1Biy)UQug3;+8)j3bN&A@El=X?YtS@b< ztZgU@2EXFjP`%}Csz{=%mUzjO{Cr&U3oQ9k#-RQ&3WQU@`B~&Avp}MBtYQg_#D+-N z+s{O=jRoQ)t0sAwN__#95)E47CI>gzzKr)b*9AQFO4P`h#p60$x`3%onH#YnxaPfd zSz8n~lfoU15r~h)*R)A5n@y&~uf`>Qg(W6MpHwvZgNU7X7LDkC91k*&>C@oOZ}Ees)uZUB0%;Lk?P4P?wu3an`(2OAhPbj*I=dO%=9hGgEeevOSi7?O0o%1#`iO$smyBdz|fPENoz-9ENu~G{)21C=ZQsi>HXs z;uL&84nwik;wYT`;Y2%)!;ajdeiw4U(I;=R-#Szl+nUF97?;OWv1OF@_$<%dS5mlm z_Kw39&eZYK2{Pr>UxchVE@%?v`L9Q3d79eLjhtc9D6-Ctp#5D|4@ZwseUIFVl6_g56~ z9HO0+mA8Ljrycy;{6Fu!(!2gx!(TcMxFZ^%hBwv=UqS&migb!^gaD!TJU~rya*y}Cn=BmH% zBo2GKCl}x{us|7egJJ=)@7C1~^SABY9j4Ns#q0A0{W|8t;*7+_7^OIZOs9KNzlogf z)!~!E!$PwL4tMl_odLs@sM@Tjk$8pC0+c-87aP$5{JkBBDBxVA1dO=hMzuN8bsaZT zu=F>OU`Y5}p>oiO@NY(k#lrvms|cT+V$0f@9R!CJ@N@`ZxC0(Lq!Nzff1GBSa2Gtz zE+tJKJkC>uFM!YYw&L_43kL*C6>%0;@Ev)|$Wu|Cayb4kA+Gdjsxx7yklsbOd(1k8 z#R~r)OLfvG+1crSpK$#F8l=elJKU!Wz?nI zFYix1US6NmV&OCpEi&(x?lyO)b9WZq7}BB zVFbBwcR=rB0_qq2%Oqa|nNL^CbOETOTO3;bXMqqv1fJo4}}+93H5a8K~IL;3A#J&<+Mv76Yn) z0hL+Fo`MD#45cvN3kGqhZ?iZYb^1AY@i-XFZme?){p?D9IgO!ft>@v@k&lN;$qW_v z(lmV>)yp(nR1Kpxp-WAV+>gd3Mu(&S2?J!zP{{h94#l63&xs>o<6MfC#(Z%E-UhRR z>fd1&Gb94x33B(4WI&*~Wsi1HtduD6Qh|8n>O~~yh%=sywKd%uub_E$bw5#ZGhP^= z#LCP78+OKexs)x%$JhoN&Uv>mMO6HW{uW*u!onm1ins&|+zX7c@Y(-cEQIL?O538( z)+Uv9gd?M-3ke)8CUFG3IU(Mt+>2p4sQ6PyN7CgaT~^dS6+Lm8L%OGu>2MU!`JPH1 z_@k2VmoPQtMa{#r2s3{{P4o*ZMWC<@6qfx`zZ|1*GO4f!uwq~8n@Ge$8%CKXDChG7 zgU>)!-Wiu%^7&n6_Rsj@#Acuf=8NW*e4n|v2oXZT!jR56 z#r$)UN=y<41JcxNWTs4&iCB1;Q8D7_mJrjo{8lc z&qKQHk^d(=XH^bX8s{61w z^;+Y|!C))QeXKnswQekPk`)6p$iWpAORh#R5ik3=PY*9b_&}cxG5KwF09YJD{J$Uc^2M(L_K2e5LfpUrm1uA;*ml!a}pV?fzkX6Q3Vj`HD zkjXNt{MU#pS`-OfSuPhfVz?4x#=~NO9df`=(Y5p+;Kd>AOdue}&cDY)tP7X_zsHWf z;&9enFDe+6SoIcV)mwsoE2+Giehw=ZS-Z^0+GRGWx5o9yze4Me930#CzdtHAbb@%W z9md_;4kC-?{9v(+g|QVajB()g0FoH(_lMxHcmJyl7}MMO?<3+b*~ctmd#ZQ+Q16>v zgKOLE_P$ESke#m9h0h`3sdG)?yac{Q+j*lT`svyE%Mt^s(^18Fi)F0_1#)2stx!F zSc_$9PlT0KQI>Ui&f~Soe%{3RQ))u=YB@wb0Us0wzGCOol>pxb7<9HFx6wQVPMCRY@>PodkfaDQW}03@}cH zV4NHRAfB9K^0*(a(T>8TWpw`&PGX$#R+Uf5<6vVNakcxcSEfFIx2SFz3$#U z*F8|VZdG54M{K_`G;vC9^YBRj1_Qsq1e2r2oXg#6N%VClng!v}x;`dhk1|X;Uv!cz zf}dxYba|Pa%%eFokFs!XtY|ngntgD|g_-KVBKZrF>q#mxkuEJpU5YcR1MJh+Bc4+v zv<-BU1*a8$DTVD2J2LW|ABH=We}kk${fGBcyx4!|-Ubr)-{r&o2mgC~UV@3xVh>_u zVj>i2h$#l~*m=dZ@o(uLAm5<|+X&#r273oV;s#%pY;efSez-3#*78vS{EFk| zo851mp-A(?y>HWQ_9Cn}k%9E62%^Ez3k0!@&{08zN80iGK|Vfm8BJ09?nW!@ zN`(>eNfa!;9nxvQs`Cn}32mcaMz*i5n%>xIuDyCSt44)JM{lDQo{7dAJ{t>9=QdDv z{Uhf3%4k(N`|zSfJ#Goa_`3Sy_`*sUTmINfq5E^1->72mP`*;7jfla<&yp@wY36i` znq>>XF`!jTp|1{6k;D7OzG%IJ_6!CkOCO?Xm#gej#bMM;GoK5-^han-|zcbKun z->$;+LK4%AM138y@n~@w1ma`O=*zd4-7G9}%<99Q2oBQn5{da>k}iex>aT^<2BwS* z_XQAwb4&9X33wMON%p1i;g+>h5Nq1TSBx})m^wxknR~mfPxTgZ2A`!+cqeVaW$Zdd}oiuV35sJe8UyK^e5oOLBHGCAzZzQn~dk)b- znd&|fD6*F#WYUm1g!)))g0tr2s_GgK7VJU+6e<1Jh_BKC6f=Pww~d`IwzTW|MCkhx zR-)GJd>h?#ZVnk33$?)QaV(jxq-9`hy2TE;i~OB+lIbF4!ybLjofPC_q=#Kq*);&a zwkVqoksUdQq{2rbJHZ8W37KHgVn)p$LnInMU6IoG&5B_KG-T#*RK=tE9m!GscW&mu z$dM1&#+W(LX{*5{5i53$X+15m`SR$TJB&-gVd4{?f!XpLGZR2UB2@b_EekjaIk9{O zMoP6P4t~bBaa7P|s!k;MYh>xs0Hb;cEfyT#gceJDfMYBcT^#L*X!@pOVC09_+kqnj zzqZO>CD=_iI;$AC1djEWDw)^JG1D}1HvWGZ`2UqQRqnRYa!0d7& z$ihI3-dOo0KVAsR36q~kG0bXII@6{GW>AZJz(Xj?ILg3BgDYPbdo>zABXn^&c@HD! zv2xluA}1p?csz(vV#UX_3D+2WT^vab>(LRZ&9Vtx81$|j6@f7z5Il5Chv#*TwmIbxN(&VVNz! zb5;9GYrZF_6U$5FjUQO)!nf87X2XPZV$jW_3;ZpX!SATZ4~PU;j!Cni8u+1;y3akH z0_qu*hZE@{1GDsJ^MXXAo*JoE;(f}C+icjf5i$E3q;HT znWZ%+PtCbZb86Al_o8w|pJ)yZO;ja-SYggPK>~L#I%cia*oOr80U6La{DjOLEN^28 zMF+rBe9pRCEeE?fSKyk(RS2)GxR-I2!si_BOvm{A$i;LFo502Nd}ccEIPNRCvu+Oi zLJp`a_kvJ{@PEqMfwY(5TEKNJu06PR;@x?7r*#u}#<^2_cPMNG-Ip0?7zgizKAgf4;ip5319 z$LLm#R@?O0;1w?;8S};<$gXW1@3D;u!H>f^#@Hsri4(_hj)POlNt_tx9GS#P*d)LP zp?u$etEwN{yE~ST&+*Kuzy7*)pa1>tfB$>$U)?K}@+tiN>OC{fzgkPB{(=vqe>NWO z!sR~=PNh`3o$91(>5f&iI(E%Yr0d zyU;1ticy-9q{+6+otfHrRdY|LPNZuu13#~}2!A>Ft!kU_F9*L}T_XGy z;4f8|34bN{m#NEzUjYAdb%pR(fxl8M2!A#BtJKxPUjzOcb*=E%g1=6^Lip>zU$1Tu z{uSV>>PF$O2meZSlkhiy-=P+TuY%vHZWjJV@UK#@7XFpsZ&9}je-rp0Q?C(z2l(66 zYlU9~|2nlx_?_TySG$G38T{+j9m2m#-Kp+^Y+kM2pzg-~7Ilx>gZr)OUbPqZA5(8s zZ^HdG>OS>m+;3BFQTOBiTJ?Zh!u@q>pW2W6F7=>#2>0970d)}f-RfcWR@`5&9#L<@ z{SNi0s^Na8db@fI_q){N>K(YhLDkhealczN)FIsOLEV;>lDh2y-&8BY-wXb*IwJgD z@GZ3}{2Rd^Rc+zl1iquX!r!NQY7P0lSv{dN?r*_6Uj_2+e(>w+N#P#=e@s0k{1W)% zsxSOL@b6Ls;rD~zP(LpGgW!Kcy<7N)z`sZRr0@s8pHNQ=e-Qk8)%%2h82tOy2ZVns z_z$X|68;hJA5zZ<|2FW?s-G7AQScvDKO=k%{72MBg?~HvkExFf{}}jBs80(2xcbzA zRQ1!(b9`3q(ACYZYU41BZS>n4F#=p1bLM?>e{wbt@7D-{1_!0@^Um;VgNAhnuW zO=~Z(RQg2v0H1AT9kulBfdf8sBE69wq))o1QhL`Qy_!|_rKt@|I0u{^c!Siy8rUlH zti9n39Fsx~yLY)&4iAj z;==xRv*9-v0)2d;ak$ayF81>x?8PHNryV*gJ>97mLx&}Vm6l&0?I@+GgG0B|436|v zZRVbJKj?MtXXoujI=zK&JtUIS!{Rc^>NYXd8bL#6Sv`+2at)>GO|5%cTX?Q!*o#lB zH~m0wXQZSd`Vu^zPU$OgJNw|yhfybgXS364H=FHt>v(hLo~C~^=&kKMfYx>v?r*H| zVV~a$mV2F@J-^j$7<#OE$S})2-Q4+Pt9i^{Tst1Re(P|z)ty83{uLlz+DqrHJSqOm zX;1i~WxdxE8rF3PngO&uI@vbhsai{ty6Q-i^reWab0idKHLY2? zG}Dj;Jce1;j^hCjz6-+Yd1-w$*s*F*sFdzLT>fu?1VHYpC5TNwn?C6%>r@&Tv)^k8 zGRNO$PNjfPpnKKTw*=YM^hqo5lmpzRad&yYJ9Ub=WF;3*a>;bJ#&IQWPUR&2M7q0> zawDVi8}7i-`v%S`IeXv?G6Po?o^v*`g7xAcD>yGLolc8{`k5U7P4js+J9PG~HMK6 zBs)oNW)|7yUN>ky6-?km&*LRy`Im!SVQm3iZ?bN59NV$ov}Idq{<}XcW+mnrVklN# zf|$p^5V#xmz=p<~39ME7q;o2DGNaPyJqJC_5I4x;y{9bnv*GLr8M$Fx1x?pNj|X{Z zu*@JMz3MLY3p*eJnG9Og=Gji83uUf_ZFUY}Ttk(a7=FJLbEYE-X3V?>)eN)yO(gwl zKG}_STi*&!-$Fux>)ZIkQ!PJeb(aGpYS)af*YW)>5_X}!gXDG+>X(s$SLhtC$5nU$ zulzEIYq{2(b))TMoF5f4`fdb`iIkIvgG)rpe&ZlKX`RBrf^eNx2opom+AXbNyNxW2PMvHrb=0)h zYQAXT@;Qnww*a3Pi;jezzkSytYTUk)&~efxOm@;HC=;~Lw8>fO7k4bnG=b65QeiHB z@cZS2HI2)J(S*{}=w*%<>1ESU>E-Dy+k?tXZ5dy*aY@T6amyIG%$(vswmX^nkKiFl z1(@2=U)F|2=&w2hi?GK4!NiX~v^gxG(5^vD3sbv;m>H-;#>`M*Zn#}c_#2tSDX2Th zMbw=u>JDas%0}wWgSrdz5!4_ZJY}P&Fx!NQV!|vLGY$hVf!v20h8aHiVaac{VPQez z@i{E%W*b@)`j6_Zza`3RhiV3}1AHUqoOY0dzLSJApAj;F6xwgR_h4wlax*X!aT_(I z-^iFOS}%drDq{tsnwq%R`$?t^sfwursutDh7-EXzDq7`q(Q>R}x{`J*XIya|K&-L8 zqS9jZWyZZ5%=!B&$WUoPHNiBK{$f9%ub#8fSL}tMdeVE5lYSG)4Iow92zg$FT<@*a zhYCR^p_LWCzkOLZA!|xH)@>J+Z}9*pgZ&Y>?_zmFTt`Z3DCmQH|1ilkiOvnnk7fE{ z#Pus6lxZcBq)Y&hAaLqv9+9KbR?%oq2ab8h2*`}Ru?J}}Yc0sp3Ec6qUf8kH(wtIZ zn?j1Ld>Cu1z(Z{=BLDxZtw-t#~&v=EDNS#fjq}QtNveVN?rKfjRfsH_m!FFZ=52IjH*1&?gv!MW}?rc%v&XR!= z2TH#ZHIgVY(6C2_p0vU-T6);$(|WoPHGuj2GBOr*h9N^moza}V$GVmoC$%OTT3k_J zhF4H(QcG(osT<)db%Wi-gr_Z2qYKr8X?_E7&xm}iqOISFr}Nf9KaRIBfcslaJ7mNp zGSTnATU{ran1yGC(M7v`jd3_p=|do6#f^59Pdi~^Zc5M`p&QFIYV_wUbYEt?`(*rE zVgArMRu5Qm!g9>(=1LO_+~ua6nPT6xrgGE2DDLkFS8MfWSW?Z zTph(z<3B+xzX(#X3|3tlABPceUZm=`<89Shf^AiZv*FC^#Si_hF*iOjMCcrjv8cM7 z5_OAYT6JgQ%%Vx=j}h^V2STMTro<{9#=2`1p$R%fva!@fvge0J0V0Z{hAdA2V8d+T zbiXOd#K}c6@k4)W%uSU{6Pb^7WS0RwlBtr3Gm9kiZALswvIa6H5gP$)1J&`FYe6Of z3~htG04QT)Tv?H}fpHZV!a110>d(X>&1k~UXsP(nXdKQtwi)dL$SF;b4F4LL#uk+6 zP)0v*_4N~Y3;4-Q8kWuS2TSpwg>9LBnd3*ojMmA7B{L^RF(yWk(MeG)H8P$mXb+i6 zp5I3d!Cu979GK~@ev(xs-r_$&3LYrwk&)s_dV(P%Tz^h(Q(+*p6!U~Jb_KI}isU%S z6d6V;y|+-+awdMLtI+gSx!A@30Q}$Kom3Hdr(N|uJu~o02*HAr>MIONV8_z=Au5# z>}Ry0%{(;VPG<}nege@XOMQael*Wf8lYL~U-$YDM#}~1N=eiv_-qr6%z(u=9S`Zc^ zn_3L4{#^95Lms6C)r@|Wb-6%Cec(KG)ikbdXAP;-qeYZ0p_{9nOmzL3;T#&*Xyqa` zQs=7?U+hJV^nfw=w7HtF(+~Uo9BEXE&_38Wd?B%X@O+ivivvj|_%v1tVwM+IMQ0)- z%#MsOV=7upXXl`|xE-~l(^HMMR7vK%(~({o?pI6$5ml+|X4NJ6Dk@{97!7~7O} zEGg@wn=0#4lm!b?@sOd>-dqE>vVkLsOvxKb$sc3M7n@D=k5eG;0XaL5{6wvcG#JYw z0%K%_9rgB5Z%pg$8CFg5GL?E7m69P@i^~jMT{3S<^aP zx`44wna?DG_~fR_+N!WS5iOA?AU+jevnIamUYHU;nw0n{mN+W<(V0PS;BD1iGNOMs z9z-$fp9FVytAC_-%qaKKMnBD1?<1L*F=rXyh&qD#rzvYu&}k@WEEvTI|5>EHxV+~n zzBZN;qh-sQXR5&C*rxeEmo)z~n=0&*^)>FAbIRWAn4ULD#)kDTCB=SrQ^j(qjZ8tC zYN-shkwm7!Urb7VZc`<1N6E>|vZ-=8Byp}7E$B?CUr9>++@?z9QU#O9rpha^JVZ7n zeKjfR^P4H@>^7v1&G}6gM-5w#QXw8|fTJaTD=F|7CJUroZCsSCzYBy%EGMz63@bGq?JB3as~lOb z7LVMX#*y(JoE&0b!c{mZ!|^YUo~zj<{buBVb3)!^b8<}cupe`{xLxWmf*eL^kI(af zdNqZM2h})<0JTZ6OP$7fMCv*BBi0iZ@=sUY(BYn)egzVTdFT%v@YEIu%sALLT!u$b z4b5q)>gq4xW@2yQk#Qs7w)053xnXFWgZ?F^k@Qw*E#7R5u*6CH)Z9VA2?|j{|^7px-a&xUug!*N6_;lJKl@C+r4E>_IH4ZbCH9zYF0nU!XF}` z9X~YSu|$ciMaP8pa!cEYX>>Vo~ZHsl!|l-=L1v;FQa%_wJSJ{n~GYDq`JK86+r&2g~ z_7ofx4y5RApxhJeV_=A~tmSBN)_I;-%L^+Tp9>v%nl z-cF|;O?A`9*xTtreo(+^Q+D7Da;o%fcB3>Xoy-#xgVJi@WO0DH3ts|X6yDUgjJlKu z2x4Ia=qHvNj^lzM-Sy+txg*veL z{i+omoMW|qA0qd0svDm-_|?h;Lc=Uhy{I$H5rZt0WpCpaBn^vudQE?+7u@?4W8BH2 z|1rt0^QG{7 zFxbCUO)tk3+2(BK6DPlIkygR_KqUP%)s^j%TL z9dhES%ytevYDqKnIQ)kH7LK9H={Xq9j%EGG${3G?n7TjkazzeU+k;Loa?rlpvz%|~ zuOYj!ftp7EcOPV+ei;mgk5QA4L<5P3>XT}6e4tuppknopLs|?rN4XeK84RdA29&*; zISvgl97<8X=M3UV;bw4@=nk^*d2unAy+rBe2btB};WUP>wUL7lL@pUBMKe_3dD04S zu+3o*7F5%yP3Th7BX2?Q$mnqO?=V2d3^A;~KKA}>a;h2w8>cwjG^iFP;B7D~sQxOm zm?IGgm&nQalg)&AgVbTMUr*jk1(K1gAHWNaIOFeEU)SyF3YsT9dx?^pkzj}t%bo)^ z9NT)Km?sF2MqK&Jrwq{BMedDE?4sTl8?+q|%OY zWYlzi1V>AwI0D|>2yayGg(x0W{P9B*@v;&xBWj1O#|i3P<@)QAb6$L3CklcU)-afRv`iIu!-+s)qbC3 zLa`Zxf_C0f;+1CK5U-@D8R4Moh-NDr>$l;%Giom#yB3jA5o0<`#0d=X#L9!n9|$&SMcI__A!gNEY-h$toO~9$h0*oj_R=* z!k*MWU;*c>p8hq$7USkBvJc#Y(3{ijGihG<%P8C;?be+VW)bRWllsZ}fTy2mz#?sFqU(W9AO z_YVEDE|qL65J#!%tmwj8{s8=?A6`qG_w~z|#pNJ$$zOv9wS1g$4C>o?n2ybYy<7O+ zZE`ULziQ*ABkL3WZ<+kxkqA;{*-xb!+m+k-N@_KX$y$fAJ>9}r1eh)2g&sXB# ze{22QOgUA##>=1Y5|FGPefR0XKgXp9JPMukoK=CEoqNHRB?v$&MyChAL+%wowf-fN zogav=7&S9LY=8(b+9xde1O%?q`hDomOaexnMFV>72pBVpV2ncuMkqf4quj^92q>;% zAt7KaAnyYJqlrBU#)+8z9RWj%5g0RS6pT_Q0U&FN+JG+uj584!XU4!-k@l1jD_5Td zFeO&7Ma>YH!JL9g2?JmbvF3$~-c&0ikTq!d7CVlUlfea{szVauQvZ99z4||ZhM86e zF5&&l2*!n$zkofT1^JF-ap7KmE8_18GX#fU-DK(+oQop2e@x5pqlo>S;ebx{$eqU=Je|#=xhRX1e7tC;uXD5qRe;&Z z=?3A%1nUzW1i?H%*sMuNWy8Cur_rSt+Yx){IV*iz)#;N8@ z;9x4^98Lct2L22q%m@aCTa0k|r#CJmeVLIY5xjcziiEwDVbb}clfH__&;@>QOlDNo za33;jrc##Ay%i15KeHDu88Kh|-%0+8MAlFfy;_KS6`9}3Ze=9Sl2ABMOBTF5_-PS# zM4Z^pbAK3ZQhpav$GQ;dlVgN4uf;>sg_n$XAsp86JqG4Ni{EZwaAGbLf#VAvnN4s! zDjTw2Kqi3@esL3Nn}8XXjl&%T_;vXScrCjXpc`S=88yQB*J49 zLj_q-4C3PQqUYe>(*GBMV-4oH39ox_`FlZ<246Ya;E0z!@j!f%#S0&fxJmQP4mi$H zr1{bQw`n(f5r&+|KzdYwr5JjSAXX4MDTwIEK1mJhSlle@? z{gIauX?!0q#-u^9^P)8L84#XwC*7$3H-n|_ALP4p>i$!Fe}PW4aWXksVNWWI7w<#C z;=3Z92CTX-qMA@R`Yf`2Y1PzIs~KFlnl+~S7V+QE&_Oo#Mo7nZt(SJ=D@6Bb8BE=)p2%d zzPkYLK_$u76uxw_R`X&|JNWF6RuE&yF;lC>)soB_JjXJdS)47B^D7EcUr+MiK>Eeu zXMnpF;4>w{80zQajQD8~%oS89T0|(qF7olqB#a)GId#N8^GYDKejE$d*7}pu`oV1S>{}2d2XSf_&-$8wi z-=yy(8}Gr7_z*nH_!GTdG|9~I$zQXRC3hQ6d$~=Od+B7k6W>xyD>Nr*81Z{-C4K`V zr3){uH13aHq=}|9M&wLxN-J)vw3kn|EneJRq{Nb>izDZfQcEwb)Of#cQ>Dg{=aN#( zn=19P$+pTm;37rlC6UB@SyCQ;vSb{uoFeenSPhRyc)ez7c{}1MbEM$<6xhxW3r>7| zu4N56j9g(2SZe$SlqIw5nLT(Ioii}c!m|O})0csRy++S%%oEr`iD%Qubd|64;0I$x zKZ5`pPUZlrMPt0tcI{s^*|Ny;6c1?AuK$C0IK!Y&jAc7v?S6qTM3J!OW>3vnyJ306 zj^z;pvzi>#v!(`SP|LCRB8oB|An-lliq69xgvO7^oL^2p?e3{^x@tmBMrt_8mzmZ| zjvq&SKJblcEH$jNCZr~lq(W)^D<(yk7^+5Y-$Nv9-iX{**zjp`lkBDo4+n&?s~tqg z+$Kd=mKr3{UQfAk#Zj~lF25*v^9QlfUOhFjaAq=ro<>CU0`5_ zj#_?LjNYvW_)yrm>J;K2jgS)K#vw=WLo4FB6UL2DhZaq3%}4kZie;8$j^rwmt4Zcb z?k2g1WDm&!l1E5tB#)82ljIP|VUksnHpv>vGRc!9eUf*PJWTR_lDCm46868i!i#^p z{wNoaG|TePjZ%o>k=`w#gr41L*{>(mNjQf&B;r1F40u*qGLsYXpRL<7>yuL ztc(R@8hX3Y6YK5f9f*+fu{cR>!7qnwf&FN9AmWqEN*a3(+btJ65--O!k1HQt+i@@B zDn`#)+!>GWa}yWiF|34(@%hYn;Js~L7G=1gp4{_78Nz?h%Xua1a>U(+YZ2GAxOU;X f3Tdm}Rn|@5`JQ##I&qJ~JcLiXSSQw{Tu%Rg@dB=Q diff --git a/osinaweb/osinacore/admin.py b/osinaweb/osinacore/admin.py index 5bca6652..b8d6537d 100644 --- a/osinaweb/osinacore/admin.py +++ b/osinaweb/osinacore/admin.py @@ -33,5 +33,5 @@ admin.site.register(Task) admin.site.register(Status) admin.site.register(Tag) admin.site.register(Point) - +admin.site.register(DailyReport) diff --git a/osinaweb/osinacore/migrations/0041_dailyreport.py b/osinaweb/osinacore/migrations/0041_dailyreport.py new file mode 100644 index 00000000..cb6dcbb4 --- /dev/null +++ b/osinaweb/osinacore/migrations/0041_dailyreport.py @@ -0,0 +1,24 @@ +# Generated by Django 4.2.5 on 2023-09-26 08:39 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('osinacore', '0040_staffprofile_staff_id'), + ] + + operations = [ + migrations.CreateModel( + name='DailyReport', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('text', models.TextField(blank=True)), + ('date', models.CharField(max_length=40)), + ('time', models.CharField(max_length=40)), + ('staff', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dailyreport_staff', to='osinacore.staffprofile')), + ], + ), + ] diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f7d137eea17d96527693d2d5aa2a42c2ce4cfc66 GIT binary patch literal 997 zcmY*YOK;Oa5VqHkI8M?RRV8{r95`SONs%}r)RItyphY5Z@nyBiPTY0w7zi+|VGK^mutPUH&KCZHlh8x^W zjMNOxl!V08m?TzczcjeT?QaIR!Hk`+R_JgtHUj4Y&lmwwekvl#Dv@WUa?_kcQXWtB zx7D$RU>{fc1q~RX$&HY3GcrR9>=VSLr;5YBJvTnd53pv z)cX&uA@cQU=)~RFjeGGLU*{WqbLq@Tj=IGM|YA8bAeCoe>ks;vE#ZtP~Oa{h=bSMuDxmY+mJbDuGpiVTBYalM8wZ z3)L<`3YLg-P~A@;CwU1pV<{-Rg0m_xl`~0LcB*WSXD=S2H0bkFc19D(qUr?W1V%eG zBelsj16ea@c%ARuaPP0O4jickS9Uf}5==0oSQV&{g@i=YY*>&g$NcS@kvkKR@bWm= zP#Q>uJQv7mF5fvPU0ALlI5!5VQWAmflt1(cHL$2!AWf+O7l61&Y%-RB}YKyeQB z)vEm-bH3URPnc}B{vir4qU<%w}X$Z7Hg0o(^i!8v7Y0%|_RMaNEfP z?1aa3Meu&HkotFN;VO60cm}cTOWPslHd!_FwO^jtgAXZqn)VNi9&L$=w@g mzxh}C*NMspIwSqYZEnr(5&D$(v?;|i6H)1+*&v>|WBmhWqbZ^Q literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/models.py b/osinaweb/osinacore/models.py index f4774585..17ad6a36 100644 --- a/osinaweb/osinacore/models.py +++ b/osinaweb/osinacore/models.py @@ -265,3 +265,12 @@ class Status(models.Model): date = models.CharField(max_length=40) time = models.CharField(max_length=40) staff = models.ForeignKey(StaffProfile, on_delete=models.CASCADE, null=True,blank=True, related_name='staff') + + + + +class DailyReport(models.Model): + text = models.TextField(blank=True) + date = models.CharField(max_length=40) + time = models.CharField(max_length=40) + staff = models.ForeignKey(StaffProfile, on_delete=models.CASCADE, null=True,blank=True, related_name='dailyreport_staff') diff --git a/osinaweb/osinacore/views.py b/osinaweb/osinacore/views.py index bbddfe7b..a1f0365e 100644 --- a/osinaweb/osinacore/views.py +++ b/osinaweb/osinacore/views.py @@ -10,7 +10,7 @@ from django.http import HttpResponse from django.db.models import Q from django.http import JsonResponse from .models import Task, Epic - +from datetime import date # Pages views @@ -348,9 +348,29 @@ def tags(request): return render(request, 'tags.html', context) +def daily_reports(request): + + dailyreports = DailyReport.objects.all().order_by('-id') + + context = { + 'dailyreports' : dailyreports, + + + } + return render(request, 'daily-reports.html', context) +def add_daily_report(request): + user = request.user + today = date.today() + statuses = Status.objects.filter(staff=user.staffprofile, date=today) + context = { + 'statuses': statuses, + + + } + return render(request, 'add-daily-report.html', context) @@ -459,22 +479,8 @@ def staff_position_modal(request): } return render(request, 'add-staffposition-modal.html', context) -def daily_reports(request): - - context = { - - - } - return render(request, 'daily-reports.html', context) - - -def add_daily_report(request): - - context = { - } - return render(request, 'add-daily-report.html', context) @@ -961,11 +967,12 @@ def save_point(request): return render(request, 'addpoint-modal.html') + @login_required def mark_point_working_on(request, point_id): point = get_object_or_404(Point, id=point_id) point.status = 'Working On' - current_datetime = timezone.now() + current_datetime = datetime.now() point.date_workingon = current_datetime.date() point.time_workingon = current_datetime.strftime("%I:%M %p") @@ -985,9 +992,9 @@ def mark_point_working_on(request, point_id): def mark_point_completed(request, point_id): point = get_object_or_404(Point, id=point_id) point.status = 'Completed' - current_datetime = timezone.now() - point.date_completed = current_datetime.date() - point.time_completed = current_datetime.strftime("%I:%M %p") + current_datetime = datetime.now() + point.date_workingon = current_datetime.date() + point.time_workingon = current_datetime.strftime("%I:%M %p") point.save() @@ -1001,6 +1008,34 @@ def mark_point_completed(request, point_id): return redirect(request, 'showpoints-modal.html') + +@login_required +def save_dailyreport(request): + if request.method == 'POST': + text = request.POST.get('text') + current_datetime = datetime.now() + date = datetime.now().date() + time = current_datetime.strftime("%I:%M %p") + try: + staff_profile = StaffProfile.objects.get(user=request.user) + except StaffProfile.DoesNotExist: + # Handle the case where a StaffProfile does not exist for the user + staff_profile = None + + + dailyreport = DailyReport( + text = text, + date = date, + time = time, + staff = staff_profile + ) + dailyreport.save() + + + return redirect('dailyreports') + + + # EDIT TEMPLATES @login_required diff --git a/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc index cb8398cf7d936f4ea65b58b3b2eb3d1564a9c795..8425a51ad2a118acd8bc9e89ab7cafda7f44e962 100644 GIT binary patch delta 178 zcmX@0{ZE@WpO=@50SI=?5=wnNkyn=S(MIjvEIO$yDN|C}vO-d(rf~N%Ph^Y=O$|-u zO6AE41LE+MX}wJ53{jye(}Ni_XKZF-P3Ke*EKV#-jZaC;%&9C&Eyyn_(Z3~tF0?s= z?;;~(#AYi2J!YmN)yb*CQ`ppimKUi{{x7V>W(;B)Pu3SnX4IQJS>zA18`G}IlSH*R Nm{#$Hv#gYe1_1whH~9bn delta 118 zcmeyTeL$NxpO=@50SF3D@ukk5$SccuX`}XT7MZA!)R0uJRGzF*AP!5J(#vGd5EYU# zHJCwj+GZivbk5E5_%1LqhHuUn&|{vwNO&TfD$tN3waJzuT5LujrqSd~kz_`#$!A6W SFncp?oqR@Ai-l#CL=*rRLLzMd diff --git a/osinaweb/osinaweb/urls.py b/osinaweb/osinaweb/urls.py index 9f4a736f..3fd4bcbe 100644 --- a/osinaweb/osinaweb/urls.py +++ b/osinaweb/osinaweb/urls.py @@ -90,6 +90,7 @@ urlpatterns = [ path('save_tag/', views.save_tag, name='save_tag'), path('save_point/', views.save_point, name='save_point'), path('save_staffposition/', views.save_staffposition, name='save_staffposition'), + path('save_dailyreport/', views.save_dailyreport, name='save_dailyreport'), diff --git a/osinaweb/templates/add-daily-report.html b/osinaweb/templates/add-daily-report.html index 23df3437..0ce654cd 100644 --- a/osinaweb/templates/add-daily-report.html +++ b/osinaweb/templates/add-daily-report.html @@ -7,10 +7,14 @@

Add Daily Report

-
- - + + {% csrf_token %} +
+ {% endfor %} -
-
- -
-
-

Report By Aya.rf On 25-9-2023

-
-
- - -
- -
-
-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni possimus esse ipsa - repellat quia velit ducimus temporibus omnis quibusdam inventore ea, consequuntur - exercitationem molestias. Repellat architecto a laboriosam debitis natus? - Lorem ipsum, dolor sit amet consectetur adipisicing elit. Autem amet dicta - repudiandae possimus? Natus, possimus quae numquam nostrum corporis quidem vitae - necessitatibus perferendis tempore. Praesentium, omnis? Animi non enim sint! -

-
-
-
-
-
+