From 7f7c1f0fe9281189a270433845db4a026e40adf8 Mon Sep 17 00:00:00 2001 From: emile Date: Thu, 21 Mar 2024 10:25:10 +0200 Subject: [PATCH] Connected first functional version --- osinaweb/celerybeat-schedule.db | Bin 16384 -> 16384 bytes osinaweb/db.sqlite3 | Bin 929792 -> 937984 bytes .../custom_context.cpython-310.pyc | Bin 2434 -> 2434 bytes .../__pycache__/models.cpython-310.pyc | Bin 11458 -> 11458 bytes .../__pycache__/tasks.cpython-310.pyc | Bin 920 -> 1193 bytes osinaweb/osinacore/tasks.py | 18 ++++++++---- .../__pycache__/celery.cpython-310.pyc | Bin 806 -> 738 bytes .../__pycache__/middleware.cpython-310.pyc | Bin 1103 -> 1202 bytes .../__pycache__/settings.cpython-310.pyc | Bin 2786 -> 2786 bytes osinaweb/osinaweb/middleware.py | 27 ++++++++---------- 10 files changed, 25 insertions(+), 20 deletions(-) diff --git a/osinaweb/celerybeat-schedule.db b/osinaweb/celerybeat-schedule.db index 939508deb66c6447f46a1ba0b5b72e860594363b..1be98d6f76625997b7236defe0bdb832f2cf75a2 100644 GIT binary patch delta 225 zcmZo@U~Fh$+#n#pCdS9WC&st&;!EDi|7FEl8d#=Io9rr=DAyyMU!0kjn4Djfs#lU& zoL#I}oLUl}pO%)BnU^|c@<%yYc2N#N1_s83lSSnN8C55z%PZD1Yv~(K>0#8Gk|7I% zB~yZ?)J{p#tOb%Fc8^$cYEEiVrCw5Ea&~H7N_=uoYGPh#!ITUZjSN*FFJaVu{NM4Z-xwMjUGk=pt&Yk%Oo delta 123 zcmZo@U~Fh$+#n#pwv2BA-!i_97hm#D{x2)e!@$7M!yFpoJVmdhYVtmLMW(51CrimC z@-(naWn%lV{4wvWtjHDzk>_P2MXP$jC66UtW=)(O^ms ZqX`geP05hSkeNJPUXHPN^EP=e1puriB1HfI diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index cdee30b2afcca7c191689ffbe0fd73dc9a279b6e..c349ed878f0650fe691d15222552b4d5bcb67150 100644 GIT binary patch delta 9403 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 I?HJns0m8hTYXATM delta 2292 zcma)-e{dAl9l+na{c*Q@_rC9vTz*}`art4Q);o6hc5nBt;F#!$VQ>gyEmkB)AgQ9J z!P2JnN5jM)fa44(CQrwa5fL5R5Xhv>7K+6(;|wE23$=)LD8U$~N@obtp;ZUkcge-I z{e$W3yw84bKl{FK-}k*Yx8dc?hH+$W|RSd7~r+n;dvC-9AZ zf*(IIx)+P_s6vnOqfzsX(rZ}H73p#@!J{we94d%i>+^trEGklF^t;3YKaN-xV}*gd`je~jH<@042t z!O$smJcM?I4kL%P9*`Y&!yw*N$)7?HZIT7-6Y+=nn;$(1XYgfqW)QzG!^3DG(9WLO zEk7qmTHp+NidFwkZV-8tW4%MTU8G0QNj5no_p^ug;DpM576&P3hz;+-QFdgHobE*k zKO$Ek`X&8>p5?PVMNiQ8=wbQ?x}T2FLAr}>r;Ki;n`s|?n69S}&`#P$m(!(m5xtSl zrxs1pMjEG;w3r5|2$$d@oP*C`0#3mPa14&X+i(!}!3gYz*I@^|2>q}HHYr`u2amu{ zd!ZZF!Wvi!%i%Uy3^&6KkOdQxa5dCIHIzXZR1nE!@-OlQ`8)ZPjFXSZ`{Z46m>ePp z$SB!Meo0;>+sX6fS@JY_l58Lkk@cjD+(X*Q3UUW&C5y;SWC2N&dE{zRL!zXFgoqTn z9QtQyD&&&A@->(>56dS<)@c>Ow%lJNch0E%JwXWIzqvozCvO(m-dAzljlC(a#Vk1_ z?`GCPxsUY@$}OXB$vaoGofBfOTU+n%!tT~d@p_eYpA)Xz_|-hW`_;UF`bY6IQAX~y zMeqW4cVNZw;TX$`itYwQWlKQho91!0J)|_V6YB%b8*7Q;))Mt&pLiSEhgdYMt|^v( zCf_30Nf)GdrR~zsr5354{UWS>SI!KS$Y=?xIjfYrC&Fr#z_fozeph~n?DB1VsZ8Z9 z$Xm#Lsf?_7!_P+wht4B*%UdMo3!Uf3*9*KqEuigS)c=W_0@ zjB&nRF^6+Uc{S&YWmTO0rBTi;kxI_ZB^8{H6_;~9T2#i_6E5XkMy!P~?9woIj*x5j?Jx$sVo=Gb!1`QPWTV|Pdb#8sB$YBU2uauQWh;p48DV5BhYRG1s)DfW6hh($o`@ENo=I~tGx80zU=t9LT@{p(vwcw zFpYHM>TmC=*tZAQv$~zN^dv98k=7g9C00WqvVebNe6Z8f%CDTS5Q&7{sZbV_en`Clmt#!2g$#=HNI6sBPt4J&3+L}n&ZNMTrd=Bm3S zHXMYKifN;1S^j;7uG?lt<;7bXh`RnT?DX+}nr_LBR>0?e!SWqv{y5ynpXGdH!Q<@; UD#~Djl_s05>r*1`g<2rwKSA|NZ~y=R diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc index 1ebc3ebf373bd0fc9b003445142e84cca951e5e2..3353e4582ec68f1de0a5650a59ed252a50d8ca42 100644 GIT binary patch delta 20 acmZn?ZW89s=jG*M0D{!lzc+H1a{>S`90gDS delta 20 acmZn?ZW89s=jG*M0D`;cer@C~=L7&Uu?4CC diff --git a/osinaweb/osinacore/__pycache__/models.cpython-310.pyc b/osinaweb/osinacore/__pycache__/models.cpython-310.pyc index 8a016ea2b089093c23d9e62dbc1005035d1d1f76..36d64359c937cc088ccc42de5baa03745f1e3e0a 100644 GIT binary patch delta 19 ZcmX>Uc_@-ApO=@50SNxS+Q_v-2LL{X23i0B delta 19 ZcmX>Uc_@-ApO=@50SH!GZRFaa0{}TH1y}$8 diff --git a/osinaweb/osinacore/__pycache__/tasks.cpython-310.pyc b/osinaweb/osinacore/__pycache__/tasks.cpython-310.pyc index ba4d670b0a2a6872fc20b33ace27f7db2a98e07f..6c4879effe988dc9fd2783751e2742e87ec6efff 100644 GIT binary patch delta 520 zcmYjM&uY{_7@vQc%w{*KtrR>-EUb`2Jyp>{so2R#1RTl}ZKcIt67j>|bk4ilp%c2ltoylSl6ykK)eo1*2 z(OyCQ4XtlIuroseB#1%sJ0c7+dj5 GhT}i2Z;z`0 delta 251 zcmZ37spJT>7dA4%Ur^i#gxUK!dAku zfO8>34RZ>6FEb-UpFoPz?WFN*@M$O5q7!N4iV)su=%gM}3)nvZKR$P);Qd)eA zB_**WwFqRUCfDS%O!nf*MX5lMTO1{sxv5q8d8xOU^YY6zStb`S2fBll6|uqzP9W03h-a7ytkO delta 156 zcmaFFx{QrCpO=@50SF$2{7$_wkynCGc-JJB diff --git a/osinaweb/osinaweb/__pycache__/middleware.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/middleware.cpython-310.pyc index 4e8ee908b4451103ac1db812538e60ab9dcd76c3..6b08a6a559040bc56df41e03ed3693781990815e 100644 GIT binary patch delta 547 zcmX|-F>ll`6vzE+C+DV@YlM&xgHrL7sJfievm+9&N#*!dIOTK$ z3=G_GirABdfepS0yC=lTN1y{vB4NpXmf!FF-~ah1`?2NbuInJPzW(_u9&X${IM_V8 z>%B(L5ht8}M4W!W=VWshU^w{x=?qr3fsf2CKAWRNH7cQjB`zU_6wBi-5_zm>Z8c~~ zl${Pz*1mFBL%qdu1GQr^w4^d9X}ZnH+m>&+VaJiubY2rc%5C4c)oazG1}VB~W$PVo zH_*4@gEd`RB|b$Vdl`bJ^Fqjlb;u(nwEZfZC7B3`+%|5tU8qRS3r*YP!aMP!OFzr6 z{k)?dELd>zEO_AuS0U9@iFZnl+A^w=OQ9`O9LKBBlkFGuf?iTgqPcn_GL=k?CfCD` zx{`UE%!I^kIWaA?bChS9n5rbt^dP@T&9%_Bfs~M%<&q0Ixp=RwIFW^tZs&F?MK{E0 z=eqa8m`TURQ1u%>zP~ez3N@Mjmp*qgaXsm$te%qbc-IIy*dq*fVFb6q1`G}iO|)+) gtG>a0^@ThEzuKpFs$b+D(CUWlRbzTc8QjAE0RM2Cy#N3J delta 488 zcmX|7%W4}j6xHL-c zc%=;LGKkW#NONPa9gkHIuRVKNg*OMosje~jBvb7?wrL4Y6}Y+Jk6XnCNxh#(DpdV*vLX<^a3lS-Q5MaPEp3z;Fa-b}1_y@rLLT{e}+uZSY l^x5VWoIFpus9nm*$a-yx(mFMsTd8W_<=%XOF+8Gs>^~GpfVuzx diff --git a/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc index a2ef73de551e9924b1642bfac312716030182b68..b3af72ac57f11b98a128e91772c5206081ae045c 100644 GIT binary patch delta 19 ZcmaDP`bd;3pO=@50SNq_ZREPa1pqbf1zi9D delta 19 ZcmaDP`bd;3pO=@50SH_|HgetI0su1D1i=6R diff --git a/osinaweb/osinaweb/middleware.py b/osinaweb/osinaweb/middleware.py index 45f628eb..7251c336 100644 --- a/osinaweb/osinaweb/middleware.py +++ b/osinaweb/osinaweb/middleware.py @@ -1,5 +1,5 @@ from datetime import datetime, timedelta -from osinacore.models import Connection +from osinacore.models import * class OnlineConnectionMiddleware: def __init__(self, get_response): @@ -9,21 +9,18 @@ class OnlineConnectionMiddleware: # Call the view function or next middleware in the stack response = self.get_response(request) - # If user is authenticated, create or update the Connection instance - if request.user.is_authenticated: - current_datetime = datetime.now() - - thirty_minutes_ago = current_datetime - timedelta(minutes=30) - - # Check if an online Connection instance exists within the last 30 minutes - existing_connection = Connection.objects.filter( - user=request.user, - date__gte=thirty_minutes_ago, - status='Online' - ).first() - # If there is no online connection within the last 30 minutes, create a new one - if not existing_connection: + if request.user.is_authenticated and request.user.staffprofile: + current_datetime = datetime.now() + last_connection = Connection.objects.filter(user=request.user).order_by('-date').first() + if not last_connection or last_connection.status != 'Online': Connection.objects.create(user=request.user, status='Online', date=current_datetime) + new_status = Status.objects.create( + text='I am now online!', + date=datetime.now().date(), # Getting the current date + time=datetime.now().strftime('%I:%M %p'), + staff=request.user.staffprofile + ) + return response