From e820faba287377a6cd02466c32f9126e6af41699 Mon Sep 17 00:00:00 2001 From: emile Date: Fri, 12 Jul 2024 10:12:34 +0300 Subject: [PATCH] new; --- .../__pycache__/consumers.cpython-310.pyc | Bin 7210 -> 6605 bytes osinaweb/support/consumers.py | 51 ++++-------------- 2 files changed, 11 insertions(+), 40 deletions(-) diff --git a/osinaweb/support/__pycache__/consumers.cpython-310.pyc b/osinaweb/support/__pycache__/consumers.cpython-310.pyc index 64d8868bc7765f876ad0e2721fade7e14a5b4a2d..7e41e5f7703db9c7d3d051dde9c80c3e97dea4e8 100644 GIT binary patch delta 985 zcmYk4O=uHA6vy|?Znm3blWg;0J{ql`Xj&|a7PZuiRuB(@*!q!L!?wGzN!z5IT@XS- z5qqg1RGtTg9$NHdMU>nGFX}}>L@!D_>dlKid9wOu+fsL#-@bkGf3t7?J5P>(I1;Xg zLIH`ct6vt1-}c-KXW{X^?nkQSyC~)K7eD^W5NZBUh5)*oed>J~dYd2pF99a-PVfpi z_&xa6SEF(VpX$$Ht~nCw1GtP2!mnW-ha;1-DorXhP7Bc}!IjETW_777TVS!ftN}Nq z2CKt>G-5R5x?EPuK98y;FS3SGXG?8$Wf?%430Vr&QO5Eu$_<~Z(VM>tLF!Ej7R8We7ix+u~wj1;*MLWm{WGkKWT1+m^CtIWPVgA{e)IE_Tg#{zguk!sOf1Qwz{`;jUC|xP*^Adxq39T8*%-)YfXd zg|3-R4FbN2cZN3pdP}a@H*5GS-pgvoygi*tWMkZ>%ACv((}Q0S&~YJM4Yu0GO~-Uy z&c|^%aX>AJsmu5=k?Iew|Io7{QxrHU;2i_eGOrNwiIP)rOJftZ>$qmISeUY>Ms1$Q z__l*s%cS5dVrC{|3cWc0d`zHQ;E({v)%H}@qVOFJZ+n`gfu`vy7uj40&vh(-MY1IR Y?uhK(K}ntLA`R#p_hxJ`X*S;f4@ZCHeEFDtKGF}bn#ba4C2DfKEwuPQGrL(_&QpDwBl?`FU~DFzF5sZf{hf}!#hu{ajnXDvqh5p)`V<9D0}2vOV>l^>Q-Zea%QzFomOHFjBvp?D@@4gk zv@Wd-?Py!M7o%W|6~<_RT#qfWb|g@|i6FvX4P-lFt2k>lQ1~-`+>SmQs2$dhx)C(A zp~lpNpS-Nwu>hCAj&I3Vz)qZl;WC5^k*siP0@uYd6jCIQ?XQDrF*_Zs1f!P4iMfIH}ZLN4&@Cz;VNiY zT+@;&pA&^_QQ@a?Ti?naQn-!cW_CQv=PC2d{jH1rM&<%S95#*^d=Zt!D*SzN*9nhP zs8090L*^2q_mkm5i7%5KcFiTVLRck)$y^L_%`xtgBaHM(tr3Qu7MINO!vWbx3E?j{ z?Cb|*t`j!IY@#T}@&)))9Lldg@V}k-kUC+sFy~jwqyH^VmX#8J8 diff --git a/osinaweb/support/consumers.py b/osinaweb/support/consumers.py index 7adb07ee..1a3125df 100644 --- a/osinaweb/support/consumers.py +++ b/osinaweb/support/consumers.py @@ -10,6 +10,7 @@ from customercore.models import * import json from django.template.loader import render_to_string from asgiref.sync import async_to_sync + class TicketRoomConsumer(WebsocketConsumer): def connect(self): self.user = self.scope['user'] @@ -169,9 +170,17 @@ class TicketRoomConsumer(WebsocketConsumer): def modify_online_user(self): connections = TicketConnection.objects.filter(ticket=self.ticket, terminated_at__isnull=True) + connections_serial = [] + for connection in connections: + connection_data = { + 'first_name': connection.user.first_name, + 'last_name': connection.user.last_name, + } + connections_serial.append(connection_data) event = { 'type': 'user_connection_handler', - 'connections': connections, + 'user': self.user, + 'connections': connections_serial, } async_to_sync(self.channel_layer.group_send)( self.ticket_number, event @@ -180,6 +189,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) self.send(text_data=json.dumps({ @@ -188,45 +198,6 @@ class TicketRoomConsumer(WebsocketConsumer): })) - -class NewTicketConsumer(WebsocketConsumer): - def connect(self): - self.user = self.scope['user'] - async_to_sync(self.channel_layer.group_add)( - "new_ticket_group", - self.channel_name - ) - self.accept() - - def disconnect(self, close_code): - async_to_sync(self.channel_layer.group_discard)( - "new_ticket_group", - self.channel_name - ) - - def new_ticket_event(self, event): - ticket_id = event['ticket_id'] - ticket = Ticket.objects.get(id=ticket_id) - is_ticketstaff_member = ( - hasattr(self.user, 'staffprofile') and - (self.user.staffprofile in ticket.get_all_ticket_staff() or self.user.is_superuser) - ) - is_ticket_customer = ( - hasattr(self.user, 'customerprofile') and - (self.user.customerprofile == ticket.customer)) - if is_ticketstaff_member or is_ticket_customer: - context = {'ticket': ticket, 'new': True} - if is_ticketstaff_member: - html = render_to_string("details_templates/partials/staff-ticket-display.html", context) - else: - html = render_to_string("details_templates/partials/customer-ticket-display.html", context) - self.send(text_data=json.dumps({ - 'event_type': 'new_ticket', - 'html': html, - 'ticket_id': ticket_id - })) - - class NewTicketUpdateConsumer(WebsocketConsumer): def connect(self): self.user = self.scope['user']