From 10d647cebb33252c6bc8c1bac17842a430fdf047 Mon Sep 17 00:00:00 2001 From: emile Date: Wed, 17 Jul 2024 13:23:36 +0300 Subject: [PATCH] new --- osinaweb/db.sqlite3 | Bin 1650688 -> 1650688 bytes .../__pycache__/consumers.cpython-310.pyc | Bin 5642 -> 5714 bytes osinaweb/static/js/tickets/tickets-room.js | 6 ++++-- .../__pycache__/consumers.cpython-310.pyc | Bin 8499 -> 8599 bytes osinaweb/support/consumers.py | 5 ++++- .../partials/typing-message.html | 4 ++-- .../details_templates/ticket-room.html | 2 +- 7 files changed, 11 insertions(+), 6 deletions(-) diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 87c8684b93691f573a89ee9713cf64d2374e8ae6..35b3d1574e4044044b75e181832d0a789abd66fb 100644 GIT binary patch delta 768 zcmZp8kkarVWr8$g*F+g-#;%PCiJFW@Hy_gc>MCfiU}#`vXl`X}sAphkZeVKJd?LU7 zL_Q-BGXXI(5VHU=D-g2*F*^`*05K;Ja{)0o5c6z5kGkvh2*NstgO`veL@TyzJDnbdv(J zqJpB7auZ8Nv-b6i_<)#y`}#!!p>GA)_^&bW|K$I~|C;{^|6TrT(*-67nr-)*AlSn% z%ErvdB*SnNLLGrn2isrI7X)IV?XTwxOFjVVzsSbN+|?xA}ig7ibUx>TeL4 z$S=go%*n)X6iglglLxoI?H3XGAk4tPz{a44a{{7!9i(cWMyEcXJ&3;Y-B8hCS`18XbhAxFtaqbZgj+^+tAX= z$VAV=(8SCTpKhB*yXngPqM4A`GeR*Bn^hRBJSNVxQfe||^=%GzBoyt_^^b^d_6jx3GPDXe zb2E$xGu6#DaP~^}smgTD^o;cN%QW>d@yrM*aY~J{C@c3$vq&n=^n`iH7{hVxXP=30 KKl@C=*b@L^xaZmc delta 509 zcmYk&O=uHA7=YoKY|ZAUyVH$3Zf#;&PzxzE%qHt*n^UEDQ1B>%9&Bk8ZKd1z3%$4^ zbhUe>|LS+otucKfCRi1@sd+7VNooF_U6~=zv`=y({!fCPrX2@nS|NPr|rfixHv9Z!j# z#S%#&ekxbrNjGCHE;rRF?ljeP@u{hP#S;jjiDhSLzUDrDaQF73)f!t}Sg`Dei%*vC zJ*`&lC3~fY?Vz=z0wP*FBiEvoMEZyvk>8}x%}|@=%|MD|HUj=1UTko!91zP?E^btuja^6^1EibT}V^UX6*Tulb62+dGjRI@D<=*aE81RrD17FeSg!)ZI_UPGoj6k#hh*zBt2ej8ji$-Bde|W@S~D z6K2C)m{OQEl={GYB>-m3nh?yU{48j=0u&&~iq54)JI9m>4zZ;B^t3 zyT+Tc5<4q=EAH!OC($@1(Y1MfBcMTpSH;)XxO=z@qi4h))(PVr%JbrhHJta@acPv@ z)os4DwpO849*BZH?M~vBi--#%v?tstDRba}2Yup!{d?}h(|9St4z>8oSsKK&`&!ot zZUvjX!f)RUy2%>fXs}7~k8|#&Ynb&O;seA`57;3#A+aE4-McU$9v1t>6ZaUr{Jre~ z+z^gmhmQsKFF{TG;{OU`qLr%dOkB6UTsCf>#( z7Fd>NuodBYL!ywW!ABy_oPOmK%qS!N*BY!BqyJNh)+zC*a9sSAIhp@Vnx(`nt6}Uq zq9Qtezk3Je4T;uiwRa`^C5(uy`NB9G#gHohDyr9drt+ylydizxpnqJVbyiiF%bQ{* zSA=P?nmeC+3!{?=Jh^1EdGSMTa7K04KzASF3dW4X#?DHOZvd~ds~A(ss@v+^-r-%7 z1*<{*R&e*HLVf^t>b=eHqf&GBjy&pEGGGD5)ZEp`-$nBoQ&!`DdLul%tMe`SRmIX zGz%B0r9zdsh!u;Z6$=Cl5G>hHfy9ahOaBM#Sg=Au;+&gDS(K6PZ@zQpd~@%dBh9Ox zYdy*7M8a0^s@@kD-{c-9pK0?Bh6b*KxEk*ef#So0x~N1Df*)hR)awwbQpZ?~#jmRi zai%Q-Q<#2LU86*?Knv9-AY)C)DN&pm%=}FW)gh$`kyceA9hVWthm?t8WCnU@`UbO_ zDjx~WdEf9&O8Azf?K^mPnSDDRS)sm=2(3i`WwvkG=Ag}&l^?s3(q;HbKjo*T-@UD& z-}ukZ5}^_5p~jN=28_HGMaRe2?fiBWM@T%w7FU3Ciw5v=UV>D6hKZ z4lTVhGvn16|BR~kimg_+?(lUOh;eJgDN^=x!hm>S?XwP`w84e-;;r?fZD8do9(PHL zmv(6_neN6~w)cxy56Z#ZjMs`!22(X&6h&vRGfb{;2!}-_lhq0+kBM8(A5ajp9bKZ} zcEOf^j=KP5aUyXEPKhUpgHXMZdr65c^Y|1II{GZ}?Hd zDB(Lq-jH9$4xEmTX2#t4&u} zPE*FjY)4M?c5aH5+BbXvmUsQa diff --git a/osinaweb/static/js/tickets/tickets-room.js b/osinaweb/static/js/tickets/tickets-room.js index 4d442df8..9a4a0000 100644 --- a/osinaweb/static/js/tickets/tickets-room.js +++ b/osinaweb/static/js/tickets/tickets-room.js @@ -33,7 +33,8 @@ function app(socket) { sendTypingEvent: function () { if (this.socket && this.socket.readyState === WebSocket.OPEN) { clearTimeout(this.typingTimeout); - const data = { event_type: 'typing' }; + const userId = document.getElementById('userId').textContent.trim(); + const data = { event_type: 'typing', user_id: userId}; this.socket.send(JSON.stringify(data)); this.typingTimeout = setTimeout(() => { @@ -63,7 +64,8 @@ function app(socket) { function initializeWebSocket() { const ticketId = document.getElementById('ticketId').textContent.trim(); - const wsUrl = `wss://${window.location.host}/ws/ticketroom/${ticketId}/`; + const wsScheme = window.location.protocol === "https:" ? "wss" : "ws"; + const wsUrl = `${wsScheme}://${window.location.host}/ws/ticketroom/${ticketId}/`;; const socket = new WebSocket(wsUrl); socket.onopen = () => { diff --git a/osinaweb/support/__pycache__/consumers.cpython-310.pyc b/osinaweb/support/__pycache__/consumers.cpython-310.pyc index 1f0e2ca5313ce58128d4b922cef983061f8f2227..e95812e84a62b4c8483efbc717bf7580001eda31 100644 GIT binary patch delta 1925 zcmaJ>-%lJ>6y7^KGdr`hKUi4UU(ju#0oJB11wqi3wn7_g%u-q)inh2iD=e@;@6MuK zXT@4e)s|{|f_*4W=#z=DQNx=iebtyW(Zr`o^bZh8YK%`B^_*D>E2(a>-<)&qIrq-_ zzH?{w>6<;i8L!vvz~8gCZoV4b|Ap_m%xYjo-r=v;ou;rN=;9rwOUnYR%XO+eDew;6 zr7N%|$Kxt`1E!$6BaWhkPYs{4?lEOk(!I-0tcYoX?!%}HSN+iEitVjf6pN~<^g7OX zif+Sas-{~HEDA-<)K>g=9L#ZUO0P84i3+{SJ~P^v2qrCedM-U}j2P!<)0T{wnI5xz zrRT_aYFeL4bIX;_rTIukPY9MsiTrWw%F=Si%q$gR32(;;thr8VWbiJ6PB^YKv8P~K zIVhK+@VWAd+-WDk%j#}+7%r)8mBSctGdEKNK~R|dms^By)E`(E+;)#ApTWh1!jDl= zn4pJ1C6Ey;F_)g!`B5?@J)fP;C1l=2t0xHT_t;C;NrF?rs;i_UXimbU_8c5?d-Y!Q zOr|rWQZO6_LplW{&505@Gpr~YD3dAb62>IcG2t}C6-g%g282{mcc z!o9emrEM@s#1;0zgGdY-Ji-1xT;r_-{RF2G@O_>5u*5-3wR_?Nv_>uQ!BWCjLqt3u zBG_su)P{Zm|G7#8g?X4Lh<|&WFt63YSDwCx4$8OBa&F&S*dWU$<_XMOSUu+Tu@_1L zQXRFE5O_B}EM+v0nrG8I;j{zX*7AAEaPk9`y;WzQ=PfB!rXGCi+udT9MJYcd$Ld4=|&`P=^P<%gwd zeeU~j`+xK#WHHQ=26OE#ZNF)GnYuB#g7osjB*+i{#U&KC+XCGY3CMyW~yHs^DNO!2W<_Y$!TMrLPgZPOyidh2Sc^d#HfsFZlmW zK~V4(DvC$u1z3;OvGbtScB*gSLc*EkD$K`2o-sa?pXEi2@i*!6xoN{{hVDFEt?jOQ zi?W3z|9~i?qWvNbWq&j>6K;q)ZZE;9e|rV^@pwY_Rzs D0ymZ? delta 1856 zcmaKs&2Jl35Wx4X?e%*7?YME`k0vc4>9!)|izKZ=nzj-2K;4A20TM!LvfISY_wzbU z!kSWAN@)`$GN|FuL&Am9Tk8W7>X8c)aN=bC00gQ4!389wGP5>G8U-xvZ)fJs8_%1W zx9g`0Cw;SCuOi^@8}0VRYmN7PA4$vy8`6H~e$A%Y(+rxOF|SQ?Op3e(EmFx+W7C{y z=`%%5t`_nRe7o>1X^JVC4$TeEI&1npXmR3-7vHks%*Yv+DP$DWiF6yD4ezF)`Bv?D zmnruOBc8ls_)M3nX#Q0(?>5~V{!M`i^AlRYbY%is@Q#SNM31SVWKq!<^ciE+Seny| z5;8qAUbI`9ucVDmq-L}!ofq9%V|I=l(FJ6=&)te=<(-5M7?T^=F}NjnNhK?ME8mkk zECR2~?>S_(ViUx%#Ocw2;{jp+$A6?(GPI#zHBwxfORp!04rHXKp;37zfqCKn6 zXuO9+hnAb3%c>G@pw-g^D~o4HI!ow>6Nw7PaTGIf)BRGv9VLo#3ZHB{LStAsWVMiH zdC_2+h{d&Gv217;4cmrYvzyqeJK`qOq*cZQO&AbVXVS`Oxe=}e;xOi^IFZC)yoJz5 zcp0HOc$j4RLq0(0A)G^eZr_pfcBZ~ITwB5?>q98;$TR=cb10R<*>(j{#c~kqkaU`> zg-^Ub_FAbGw9kt`x99Oyl*e+|xM`iMHp{@Rt_+fgjW?6`_C70pZ>j1#IsuP;bxqc` zDEY?-PaX_Ax2qW)FyQZY97Wd~h1>pW7NtrRy+(R$Qa47kM#{)#%Qb_q1C8~&;yHH2 zd!7ETT&+Z~p524q;IL~5t*R@@hv9CpMjAnFxf$DX5Pl5?SaK~CkxCtbM5v+Z0)^P4 zA=sOlgHD6d3dcdXR1WH@d0x*o-^U~1oI zUdu?A1G}7s+RE-$D({dxm(}@`#U&s6UPtHWt(fEJ@B@5VxuBjwiPN3oG>)7Gi&Ou2 zig1xY3Gi_^b07k9k%*&B_RC6PC899)Gptvo*)p)|7WO-|RsYQ#mf&vuY3VK6V^WC}iVTC~CE`+)R^KVSkvPvTbfNj&zjuw!RJ3zFrE&TOm8QWu-n*n;C0s)c z1!we2qvgwyo6}N;&flX&t6r5mKZ{UNGj!Q1m^E70$?JW>|5weuW6(b&cltPRKf!7Y zkaUCa0ije^lGH66MyVK~MB!0Q1*=`Fo&WE0e@x{L@Dr0U$FFe~t&_661hf7K@0 QA|&E*&<-@&hQo*c0iVr*!vFvP diff --git a/osinaweb/support/consumers.py b/osinaweb/support/consumers.py index bbda2923..a2e96585 100644 --- a/osinaweb/support/consumers.py +++ b/osinaweb/support/consumers.py @@ -58,6 +58,7 @@ class TicketRoomConsumer(WebsocketConsumer): if event_type == 'typing': event = { 'type': 'typing_handler', + 'user_id': text_data_json.get('user_id') } async_to_sync(self.channel_layer.group_send)( self.ticket_number, event @@ -119,8 +120,10 @@ class TicketRoomConsumer(WebsocketConsumer): })) def typing_handler(self, event): + user_id = event['user_id'] + typing_user = get_object_or_404(User, id=user_id) context = { - 'typing_user': self.scope['user'] + 'typing_user': typing_user } html = render_to_string("details_templates/partials/typing-message.html", context=context) self.send(text_data=json.dumps({ diff --git a/osinaweb/support/templates/details_templates/partials/typing-message.html b/osinaweb/support/templates/details_templates/partials/typing-message.html index d66ea623..73c2e35b 100644 --- a/osinaweb/support/templates/details_templates/partials/typing-message.html +++ b/osinaweb/support/templates/details_templates/partials/typing-message.html @@ -11,8 +11,8 @@ {{ typing_user.first_name.0 }}{{ typing_user.last_name.0 }} {% endif %} - {% elif user.staffprofile %} - {% if user.staffprofile.image %} + {% elif typing_user.staffprofile %} + {% if typing_user.staffprofile.image %} {% else %} diff --git a/osinaweb/support/templates/details_templates/ticket-room.html b/osinaweb/support/templates/details_templates/ticket-room.html index 987353df..3f74463b 100644 --- a/osinaweb/support/templates/details_templates/ticket-room.html +++ b/osinaweb/support/templates/details_templates/ticket-room.html @@ -15,7 +15,7 @@ - +