diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index d0a7a58d..b8f93ba2 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/support/__pycache__/consumers.cpython-310.pyc b/osinaweb/support/__pycache__/consumers.cpython-310.pyc index d303915d..da175874 100644 Binary files a/osinaweb/support/__pycache__/consumers.cpython-310.pyc and b/osinaweb/support/__pycache__/consumers.cpython-310.pyc differ diff --git a/osinaweb/support/consumers.py b/osinaweb/support/consumers.py index 71ab0ec1..d9a19e56 100644 --- a/osinaweb/support/consumers.py +++ b/osinaweb/support/consumers.py @@ -18,27 +18,11 @@ class TicketRoomConsumer(WebsocketConsumer): self.ticket_id = self.scope['url_route']['kwargs']['ticket_id'] self.ticket = get_object_or_404(Ticket, id=self.ticket_id) self.ticket_number = self.ticket.ticket_number - - existing_connection = TicketConnection.objects.filter(ticket=self.ticket, user=self.user, terminated_at__isnull=True).delete() - TicketConnection.objects.create( - ticket=self.ticket, - user=self.user, - date=datetime.now() - ) - staff_profile = StaffProfile.objects.filter(user=self.user).first() - if staff_profile: - if not TicketStaff.objects.filter(staff=staff_profile, ticket=self.ticket).exists(): - TicketStaff.objects.create( - staff=staff_profile, - ticket=self.ticket, - date_added=datetime.now() - ) - async_to_sync(self.channel_layer.group_add)( self.ticket_number, self.channel_name ) self.accept() - self.modify_online_user() + def disconnect(self, close_code): @@ -170,9 +154,11 @@ class TicketRoomConsumer(WebsocketConsumer): })) def modify_online_user(self): + connections = TicketConnection.objects.filter(ticket=self.ticket, terminated_at__isnull=True) event = { 'type': 'user_connection_handler', 'user': self.user, + 'connections': connections, } async_to_sync(self.channel_layer.group_send)( self.ticket_number, event @@ -180,6 +166,7 @@ class TicketRoomConsumer(WebsocketConsumer): def user_connection_handler(self, event): context = { + 'connections': event['connections'], 'user': event['user'] } html = render_to_string("details_templates/partials/ticket-online-users.html", context=context)