diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 8b9a73a1..3f1ac264 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc b/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc index 5d831d0c..29e95ead 100644 Binary files a/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc differ 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', []) + }))