From bf3cb3401b3a1390f721a9a5f2760b87cbd1d8c1 Mon Sep 17 00:00:00 2001 From: emile Date: Thu, 11 Jul 2024 14:55:29 +0300 Subject: [PATCH] new --- osinaweb/db.sqlite3 | Bin 1560576 -> 1560576 bytes .../__pycache__/consumers.cpython-310.pyc | Bin 5436 -> 4599 bytes osinaweb/osinacore/consumers.py | 33 +++--------------- 3 files changed, 5 insertions(+), 28 deletions(-) diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 8b9a73a1c68c3351998a4b3eba5e50653384b4ad..3f1ac2642f3cbbf5e02bdcfe56773dbe18a8e4cc 100644 GIT binary patch delta 426 zcmZoz5Z|yMeu6Y((nJ|&#-xo2Z_@Y;4XsQ~tPG9yObske4Gfy2)7zud8G)Dyh?#+y z1&CRJm<@>8ftUk`If0mKdvrSY${&ms(^(UEJ~HtnZ2ytKlgh2kW@I4G?8szfU}U0e zV6JOqs(`S<(7@8bgi*J>A%_QudAB#@@U`XP>~=$poY)OyD!xeq;ilFQb|& zvoBL(YO!UqWqD;{zDZ_oMpAN;c}|tFv3XgkNt$_zu|YD>Eb~cxK+F%s0zfPX#6mzU z48$Va%_oVT)m7kQn9RV_$(_Vy%_+wIfxVI~h*gJ$jp+g7E{4f`w|KWqZY;>(KKX#C zJg+tbOOsNQE~{^Iup=R>r|TaP-Qrp7=Vg^#n&)VeUs9Ol=@#HtnjUN#6_JvX;v8sJ m9G~YDToID%9O32d=bdB_mW(@8+Hai`1!A%7x6X;HF#-T*{)G|% delta 279 zcmWN=Jx_x`7yw}IC}0a*{h|(jU{dX1N<+_+L!6AWiz_h@6J_a8C*y`63F(F~uy!(W zbh^aJ!PWi%CVzl~Zk>$plRW7(N~cl2j-scH6BND1-&bvy2h0yB8*tCxXNM1Al7$I^ z7|O5#6{tcDF2E*ii7?S$=IEwUV&fOvvY5xlrQYpPmomp?4)wN&G@!$PxdY$xI6IIs zTRz6r&C-zpO_7esV^==MywY+qsfwIXj5ozcPEJwPeX`*QqMohw F&_88}SSA1f diff --git a/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc b/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc index 5d831d0c1cd08e674c2eaa1fe3183beaa0ff5b34..29e95ead23c8d05b2dacefac9df7767300f617f9 100644 GIT binary patch delta 1740 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 X&=^~oBZxSf{KuF0Ik#6o+dJ?t;20tN diff --git a/osinaweb/osinacore/consumers.py b/osinaweb/osinacore/consumers.py index d0c0850d..95228301 100644 --- a/osinaweb/osinacore/consumers.py +++ b/osinaweb/osinacore/consumers.py @@ -10,14 +10,7 @@ import threading class OnlineUserConsumer(WebsocketConsumer): def connect(self): self.user = self.scope['user'] - existing_connection = Connection.objects.filter(user=self.user).last() - if existing_connection: - self.connection = existing_connection - self.connection.online = True - self.connection.disconnected = False - self.connection.save() - else: - self.connection = Connection.objects.create(user=self.user, online=True) + async_to_sync(self.channel_layer.group_add)( 'online_users', self.channel_name @@ -41,25 +34,10 @@ class OnlineUserConsumer(WebsocketConsumer): self.modify_online_user() def modify_online_user(self): - connections = Connection.objects.all() - online_connections = connections.filter(online=True) - offline_connections = connections.filter(online=False, last_seen__isnull=False).order_by('-last_seen')[:5] - sorted_connections = list(online_connections) + list(offline_connections) - online_users_ids = [connection.user.id for connection in online_connections] - customer_connections = [] - staff_connections = [] - for connection in sorted_connections: - if hasattr(connection.user, 'customerprofile'): - customer_connections.append(connection) - elif hasattr(connection.user, 'staffprofile'): - staff_connections.append(connection) - - print(staff_connections) + event = { 'type': 'online_user_connection_handler', - 'staff_connections': staff_connections, - 'customer_connections': customer_connections, - 'online_users_ids': online_users_ids + } async_to_sync(self.channel_layer.group_send)( 'online_users', event @@ -67,14 +45,13 @@ class OnlineUserConsumer(WebsocketConsumer): def online_user_connection_handler(self, event): context = { - 'staff_connections': event['staff_connections'], - 'customer_connections': event['customer_connections'], + } html = render_to_string("details_templates/partials/recently-online.html", context=context) self.send(text_data=json.dumps({ 'event_type': 'online_user_status', 'html': html, - 'online_users_ids': event.get('online_users_ids', []) + }))