From 1b336baffb63ffb7a3c121681381ba88031019ae Mon Sep 17 00:00:00 2001 From: emile Date: Sun, 1 Oct 2023 17:58:52 +0300 Subject: [PATCH] d --- .DS_Store | Bin 6148 -> 6148 bytes osinaweb/.DS_Store | Bin 10244 -> 10244 bytes osinaweb/db.sqlite3 | Bin 442368 -> 442368 bytes osinaweb/node_modules/.DS_Store | Bin 0 -> 20484 bytes osinaweb/osinacore/.DS_Store | Bin 6148 -> 6148 bytes .../custom_context.cpython-310.pyc | Bin 1558 -> 2149 bytes osinaweb/osinacore/custom_context.py | 23 +++++++++++++++++- osinaweb/osinaweb/.DS_Store | Bin 6148 -> 6148 bytes .../__pycache__/settings.cpython-310.pyc | Bin 2631 -> 2631 bytes osinaweb/osinaweb/settings.py | 1 + osinaweb/static/.DS_Store | Bin 8196 -> 8196 bytes osinaweb/templates/.DS_Store | Bin 6148 -> 8196 bytes osinaweb/templates/index.html | 16 +++++++----- 13 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 osinaweb/node_modules/.DS_Store diff --git a/.DS_Store b/.DS_Store index ed53ceb895aeb0648fe3ecd3d2f1f758db1c502c..03287122012a73371ad6ea3dd0acf8c07deaca48 100644 GIT binary patch delta 56 zcmZoMXffEZmX*29e%j;>tO^|O%A(XBq#Shwa>ORTW94EC^*XltOv>bctjf$6FE9Xw LMK)Wooe=~8g~k?w delta 56 zcmZoMXffEZmX*1ORTW94Fl2u%LRs?5BffdMEive|;| Gj35AkpA~=r diff --git a/osinaweb/.DS_Store b/osinaweb/.DS_Store index b808fa34f6109d0c67279561fd2d45d268ff2c31..96c2e92c024aa946a08614b77bff17c05d507989 100644 GIT binary patch delta 199 zcmZn(XbITBCdjnXbn+bm8Ijz47nh`*{3Hej295=9F8V%5IqC?NNWm&0P>^95oSdIq z0Mx<2@bv=2 O=@xDzb(2-Z9{>RM%}Nvi delta 199 zcmZn(XbITBCdd?NIQfo%j7V<2i%U{Yei8!%1IMkMd1+@uk2*pnQm{%06l53%C+FuD z0Cg}hd@W#@yg*27^D03pMyBV@lRpSaY`!P7j*+SM_vAhi1&-Zo-eeqz2O8NYA~yMq z2p1bfVDcRi6-I{5jG{Xknb)eGnY>plm1*6C%_`#c%*?FcIVMk(5SzS5Dv4@dp53p-IyK diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index ff6fbd28a85d177f30ac183d1a57468a5c42d539..e2078050a920993b0a92c5875adb827b14591d23 100644 GIT binary patch delta 267 zcmZo@kZx#@o*>N_Fj2;tF<@gtzAmF<^99}Z3%ZOz%ml>D+b`&{SU559#%$**U}529 z44lqi%i=3(&ceeWF3BmZsL063DO~~r&N=zTsVUPR)UznCIr8!_Xo^k`tYs0~zOk0& zJtJfC_J#E<$qCFl{3_GgAFu?o@$2zx@~dnX+;D_%`oVY1<*1pSWCuuK delta 148 zcmZo@kZx#@o*>QWJyFJ)(R*V;zAmF(^99}Z3%ZOz%ml>D+b`&{SU559AKuPYz{0}I z*fpKMmc>`3B(XSK!AL&%zbHF1FI~ZZ`j%Q26-NH;Q)^kcnHbf!FRW)tPGHvL zH=fS^fF*dd;D(!g(=WVZ&X_*?JxeCDCYSAW_76aDM}^0n?Y6&Iw%h(kGLT4M-`w(TSP zMqc>n&u_waSgTrL=Q!*fR5NN+HEUyA_6|2Drx1c;>lg8(1)nx3MxhzOKT=Qe6wmz4 zq-f)n|8ooCP|6L}M7qQH*_>?bunga=d@W>%sT^stYU&`TL|(;Fc%bk=;eo;f|9>99 z*iA=UhdCEN3l9_?C_G?2K>b4>K6I`I=S6eYT?c;96q>?m3at-($2ve?>kH1+;Jj$g zIx6Dms5qObrC^CsGSP9pkK{O4gY%*}o9L=!qN`GnGc8=`DCyjB?!zxQN>zO-eiR-k zJmB%b4Y(Ftqsmp{B1LP}>)0mNr8PCDM#XBkyzQyDg0EV)e)Z6SVC5W1hp&c{Rf4DG zF~>8D_3^kmpcVv=y80E%V-=j|@N0G@Z+Mu>t)i1vf=6kdPWWdQI|kwI#~}Pv!^*!V z$<}=vWQkhN`02ftF-7la^XMga6)0*YJlFvFH1--sK|hJTiYc5AMRqjGH_fN3Is5L; z{oyV}O8UI)^TiPS_cyQZIY=t%)l*=k3oO8@2UPq{G>gRf1>TX5!hP zd8YIZ&NOy#nz}~N9uVk2iME3)O|<||*HCxsYC>xc;I~0FCTq)8r{8#r+}__#eLO6e zH^|BT^S?_~_|vqj4)|~oeyXW??X3~BCno%~_x^j}rvxRpfBW(4!tzd3yB3wL7QCMf z>f?+$h%&DG`la>f!PyFnn1b^?S+i|ErgB`#D#4?6BQxz4mK*Ax?wN%D)Vh<&O3t^w zVfn~^o^*M=$X0uJyO3@Jl+!426bM}=VvFsUfoTu}~k#;Ns zOI->(sO?h=r~Tn+j8cO^A3Ll)H;k5#>%ykeiszRSm)p1hh_x?w-n_IfCcdz{G(dKD zp*NnxlRjbFd^xVGRowW9)=D}^s8%Nlov>h$zZ)i-Ro;)(U z=y(|1BAj#ntlx4*G_GDHX(UG#*zIhfjj>4@$uU4A9pE^G(S95=7MgR;h8B3j((W7%dOw$Rj zN)NJxA8DSxfLSli`Wl$EjMJ)D(%t!kWF=>OK z2PNq>Cwv;txZxXit`|#-)1~PImsztd1J87HFJRjsXo3*Vu>9C(!}?}JT?xiRWqwoS zhc2{!YKP>VhDcIU$lYsAnNyo9>LIe2E%(=NN9X9$bb`y=lUoTcx)(YOCNuBq4`yZ~ z(w9RwgD^$SSs$6U^)WSuqs|vY@SBHAD&AJCUb-B#HjJ}vbYm0?cO<@WnQsr0My>Kb zgD!ox{$0sR&cvQpr?iufQ3NF9D+t4t$w8VQNuu^&BaLO4fgpqv%-v&KfDLs%iHCaf zYeW61qc+hhcMLhq$eg>LLC!G^XLxCgW$@@6O`1+}RgqNX=}He@1^b26?#Bhy8UYVF~oLYR=0yUM=Z{N*o`Z>VmdD`EvB?j*UJ{Y>cQR|EPSshdv)b=utbD&=6~$5 zK96V|U6Mv}RFMt(71~>+r=Dni?cKdR{e>hQ=NcQZT;4Q!ZOGCJPBW8Qp*ibdO`yE* zPEdMOobjp0Eu&ZIJeaN&d`h>cGPsV)a=f-5MEW{s_{@EF_8Ek^T%%#0d|FWRsWmj< ziO3xIjvpdF5zh1d(7!(s_8Sq6%RfmYI7*Ai2IC|#OzYC1mVZ=_t+b06n;%@gEKAQh zj}O{1O3j1Ur@V259cCW75>^bM52hzeXw^-7cC^Pk7Tu3nJqs&R)ZB(EuCg|y#&Dj` z7en$_0fZU1HZZ6Z5U_z z@O!K;S-A6@FI?n{TUjQSRm`WO~jhG8gRX%M*ul?suG-d2uf;C7#Ew zc4n7(TRL{1toNI+#jE4|!#7$#Cup6|v$P4EG|u4uEI#yp^mKIfw`Og?8Pjpj*Z(d! zJzB?^rInmh$Q~mIy^BqZ{&A*s_kdr;8K3!!?c+V^@zPIM3ck{_$QW&e_+rnguf3Ot zah6>>t-owsPT&g{`J(;U6o??{FmrqHCOhZ&*Y|8Hk@wv>O|nWd4G=}-y>-!}yt(hc zFW*c&T__v&w!Q9YCiOKuzb)w0kU zB&Ao!xgR>+47n4uuB~Qi1*dtUdsU2+`W5;M31+20`#rIB&0X6;o--!5<;y=l9NLmQ zwzF>Ov8BCwju|g|vp%9b(~-I0`;U3+7t?dww$!f-pY%-4gV(RTaikr(k6jxpH@YK5 z@3_z$j7Em=-50tp*X!jMdtuoUQ{c9K{|@^!$dXfW<$3X`2!B*|!x%i_9c^!OsKvC- zrTr>9sz*Gb4$&J|x#MyleEwlOJ}n`>v;Jb@3%k`Rvb$Ry);1bD-8z)s(`c#**<HPe5YVKSAw&C6(7IrVG`#7x=shaFPbyH;ds;k f2*5?pB1C^&jQ=$D7vn$X34DCb8q?oe&m6 literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/.DS_Store b/osinaweb/osinacore/.DS_Store index 2068222b85db7d3d8560dffeeae68b631e7d745c..8a244c53c7560bfeebe43a07eafd9139c624ccfa 100644 GIT binary patch delta 45 tcmZoMXffEZfQ2b%?&J$BGL!eQaIpo~Fqxc5nS72#1HqKpEW!Fl2mp1;5BvZC delta 45 tcmZoMXffEZfQ2dJ&g2U$GL!eQaIw9fD(sh?IQbll27)QGS%USA5CD^25hnlu diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc index 28f6354f6e47e250930b86a6233c7739f899c87c..e091a245e29dd3ee53ab3b66988fefaa27818dd0 100644 GIT binary patch delta 1147 zcmZ8g&utu_)YuZOS?j>m}&3a(&mXvd~g zIr;78@g)ocVmNZ=Q0=O?-;Z>Z^dct@(y=xU>loX}ydipRp0QtlUhaj1-gp4%yLkxI zh_#s-z%px4pZaW-)%XgnQGF4}9tAl4@TdUE2lICJ&#S5OROtoD#5Q(MW;_#_ROQzk znpD|wVs{iJ0o5xIb69?m>L+oszrLFU%vC~T;{7C2U7O~9jTayCR;)hwpnaB?0U<&5 zKuiN*pJe1wX+o#C0~viz6?x5O>?uq%paIJ-?0BaygbMH}kdFb+nhr1k delta 521 zcmYk3KTq307{=}R9NWPOq2mAFAY`c#ic~Qogs5QYP#9Psi(}$5IVrZIyR+IxR2{o? zNlz*ROsETU`vKVc9d0iY--7oI0%7TXx_j<<-bc3o*MIr7yjrao@QgYO^t(5zEt`9z z&G+QkXjVp_k7_nt5m@`M#Etq_x>~ugE=cTNm%!p3YH~E7S<}>IAtPA`^}|}8@xaV6 zHMCkRe(+(}EUA#Js!P%{?Vt8m6*XQ3+!}mdEtNWTuaK19WRLrWKtD?R4|>jAc~YGLNG#>du_`R^f9PZ2;O{ zFE6+Vp_i|txQ1B8n~A6I65_13-z_+&nS44;q87$1NhpY2+MePxjabIA^AO&mkW}z_ z95lwl^T-X@h_{CN>ufq$aoF_Ky|cT$_-uF;dP!<`C(YxcPj^j><1eopzF9Y2%U^i} D*h+#& diff --git a/osinaweb/osinacore/custom_context.py b/osinaweb/osinacore/custom_context.py index 487d3c40..9f509bdc 100644 --- a/osinaweb/osinacore/custom_context.py +++ b/osinaweb/osinacore/custom_context.py @@ -3,6 +3,22 @@ from django.contrib.auth.models import AnonymousUser from datetime import datetime, timedelta +def calculate_time_ago(status): + # Convert status.date to a datetime.date object + status_date = datetime.strptime(status.date, '%Y-%m-%d').date() + timestamp = datetime.combine(status_date, datetime.strptime(status.time, '%I:%M %p').time()) + time_difference = datetime.now() - timestamp + + if time_difference.total_seconds() < 3600: + # If less than an hour, display in minutes + return f"{int(time_difference.total_seconds() / 60)}min ago" + else: + # Display in hours and remaining minutes + hours = int(time_difference.total_seconds() // 3600) + minutes = int((time_difference.total_seconds() % 3600) // 60) + return f"{hours}hr {minutes}min ago" + + def utilities(request): if request.user.is_authenticated and request.user.is_superuser: open_task_count = Task.objects.filter(status='Open').count() @@ -24,10 +40,15 @@ def utilities(request): total_tasks = open_task_count + working_on_task_count latest_statuses = Status.objects.all().order_by('-id')[:12] + + + # Calculate time ago for each status and store it in a dictionary + latest_statuses_time_ago = [{'status': status, 'time_ago': calculate_time_ago(status)} for status in latest_statuses] + - return {'total_tasks': total_tasks, 'latest_statuses' : latest_statuses,} + return {'total_tasks': total_tasks, 'latest_statuses' : latest_statuses, 'latest_statuses_time_ago': latest_statuses_time_ago, } diff --git a/osinaweb/osinaweb/.DS_Store b/osinaweb/osinaweb/.DS_Store index e3aa90fe9669852f3dc6070c0e7ac48e8d7bad7b..4cb947f38c9b770b99fe68442d4b34909ccf7052 100644 GIT binary patch delta 44 scmZoMXffEZkcly9@&zWD$@`eN*d(WxTAWIme2z&2!Iar7!Td%90Ap1T;{X5v delta 44 scmZoMXffEZkcm-l@&zWD$@`eN*gpUCm&r_=e2z&2!Iar7!Td%90C)Qk-v9sr diff --git a/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc index dec6b68c2c23008a30342ca87c554237d70b3e78..ab338508f512950c6a6e47a2fa7b4522ce39cabc 100644 GIT binary patch delta 28 icmX>ua$JNrpO=@50SK%!B~w*5@^W)A3Qv~g(gOfkR0U}O delta 28 icmX>ua$JNrpO=@50SG?CNTy0`;rLt_pKvbps3Wp$3Le>l48!2$ z{M-VddLU5PTp*~$$dvPA@*E)vwnpJ}wI6YlcL_hFpe3hIEEhkfRXRLexwy6Om`y->`YQh!UfP857VtCWb6j*Keo* e*$6faDu*xxA~*S?s03reW-hVy?3A1FixB{lbzfEh delta 335 zcmZp1XmQveDHzTG0?Z7_48;t^x%nFf{kNZaKyRL$-9K4V9Z-WGK>tHzYCc$G6NM)HV~1~((QLU z2DOllA(J7OA(0`SAr<5(gtZVglgmWpfktnhE~3O}0k(~aAq&;@GtQ{(hZ+WzLl^>) UoBUB!0_X%TvGwefoAHYg00tmkP5=M^ diff --git a/osinaweb/templates/.DS_Store b/osinaweb/templates/.DS_Store index 3c58a480d44b5f72686aa77e00715188a70442df..f6005b07a4004c8e736c08bcce78c75a4a7f7924 100644 GIT binary patch delta 273 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAD7Z0TH}hr%jz7$c**Q2SHn1=X zZsuW0WvowSNMXoiC}D_aC}2orNM}f8D9%YY3{K9^Edc5Vf)$&A1Q$>oLtSpZi%U{Y zeiBfggXK}W+K;%Sj=0sPU{$Mv&ESFzWCwg;*qp;E%(PjZ=Q%T%1UJwISCGdx3vzsC Xp3E=eIoY3wgM$&`XNJx3Jad=<8caMw delta 108 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jG}fU^g=(?`9r>RL0GcLVQdU uD>@dlb8rYU162Wm05_0u1!>q=_?>w&zl - {% for latest in latest_statuses %} + {% for latest in latest_statuses_time_ago %}
- user profile
-

{{latest.staff.first_name}} - {{latest.staff.last_name}}

-

{{latest.time}}

+

{{latest.status.staff.first_name}} + {{latest.status.staff.last_name}}

+ {% if latest.time_ago == '0min ago' %} +

Just Now

+ {%else %} +

{{ latest.time_ago}}

+ {%endif%}
@@ -211,7 +215,7 @@
-

{{latest.text}}

+

{{latest.status.text}}