From 277b47a79a35826f225d7267c8082c1eacf1164e Mon Sep 17 00:00:00 2001 From: emile Date: Tue, 3 Sep 2024 13:09:05 +0300 Subject: [PATCH] new --- osinaweb/db.sqlite3 | Bin 1974272 -> 1974272 bytes .../__pycache__/consumers.cpython-310.pyc | Bin 17457 -> 17659 bytes .../__pycache__/models.cpython-310.pyc | Bin 10939 -> 11093 bytes .../api/__pycache__/views.cpython-310.pyc | Bin 1794 -> 1965 bytes .../0028_chatnotification_type_id.py | 18 ++++++++++++ ...8_chatnotification_type_id.cpython-310.pyc | Bin 0 -> 653 bytes osinaweb/osichat/models.py | 27 ++++++++++++------ 7 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 osinaweb/osichat/migrations/0028_chatnotification_type_id.py create mode 100644 osinaweb/osichat/migrations/__pycache__/0028_chatnotification_type_id.cpython-310.pyc diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index bf7d2f1975af03d8b5c5bcf78bdc2b9ecafaad2f..fb277184733d1552905c5bf1db0ab888fa91f863 100644 GIT binary patch delta 339 zcmXZU!Artm0EY2zrmoU$&6T=bAf9J@%xO;WAVCoXVbFPrS*>73E-(lZExhK*YjsYd zgDmLct;_IF=+G(8-8w{X)Zquu>1mCctx@wPAx;Qk-v5vwA%5CZGtA^^_gH15j;D4# zl>r}2fgb`81Qw=Y24*1yVc>uV0p>u22uLsw3lN1E#9dF7cN)Sq|3S977bYIQB!q1A zN{YLAEBnJtzF&Tj^-x>8ve{U%=J6)USaB%T^5$>Yb;sJb psujno+vfjYqne(kMw(`l)F@>2g03&;bGfX((ly44YmAp(%RirIbaDUy delta 266 zcmZoTP|ZrCAL^j4YkcI|E<+brrJ9Ydq2?Q&AzvIMd zp)At*-S2#l^L^)h4`*hA{qqnD<^ut*LVtgM>=#2HVk7>GpKq4K`SDVBT$oF>3_z(K&50S^Nv zM0d1PI|A}aQHXBUM3uZ4?F>oP!`MGiRb`zCk%%?UA%Y#g;jC4?Ql6(&ej5ZbltEBgf>e;- z0a^#hOUR&PJl)`}1*`+$5n9Ddi9kvo0SEkXz*hiA0r46%gF02dp3qrZ26fA~fs(xI z6QG_1d{wMT-r{9u5;1WkS)Y{J(*JR2|ChrP;`!uw@)RT|ZWc>L8PrK}@1i(6Df;7y z^07q+*(VF#9Ub{XZY+}~vDIXFkms@3}vmIeXD$WsZ(Q5iKkPKvS-D*<%fb7NLq33 z$ymE7Pv^yJ%Xexo!r+qVSg|p19^`(4l!Ju(S9Ha}sknw8%oZ&0AfE;NSj?_?Mf)kp zSHb}odjJi9Z;PEP$68(@vJ%`v7u%N4k8aEE&1LuTIs3O)wzYl- za+a0eD}MO^quD|sGn}PJ+R|&-YIcW4L=1 z+sj97uNk(zrG_cmnT>`%=^&Y>M;RY;8cLP4-KB`_nPNevQ@K{KSzSd{BdIe+BMa78ttO;;Ew=V?f$vC!*tG6&)zS-(H-;tj8vAZic;7kj&&{z zY0Sx-DlOK`y#I1);$r8uU1c1Dwxw>7zGPR+OKyi~2BNtMDV<|D^1lLx0J|aga5rcZ zuwZ|Om`OB#JS<-A`sl{H45jF#!q{kOvPFnC z-FySk)aSpZ2gPnXWuYsk*P`YyRNE;QCmP48MqGxE4ji$9hTnEjF{(uuaY?NNHI?5- z$JNOrTt;xxK>>K@OPp-#ZfRrxf1BFbA)`JQ#eHhWrNaIESv+V_=;%lHQpKuhE%)`xf#;-t7tssG4!wc(L#CtvQ_U{q@5#;z| zL6_d>7Diz|1<1bbdXC6*$Z0PTA*NE#YS+C^o!#8Qx~4LfIj^gZ;QL-@ z`D%BFwf_*Opq)8>C8?(?^Yjh(z9^RTq}Yq%Q$1ZD#sEq=tN#Ik<_`jL;0CI9dIOAU z@l;QOofoq`Z9aLVjQMXEGp-j%;f->`MmKAJ8M@N_E~3aiKK$2!g=hbf=-u=gtyb4keW|BAOiDdr7;ET^8^5C0wtOPE3S14`wkUImQ!5BXPVu ze*u6TYFR@6|t{H|i<9O^@p_e*-^Vu55NQ N?WD93f8KKEe*g?8(YgQt delta 2667 zcmZ`*eQZ-z6z_d)U*Gz*&#o<79fJWDr28zJlQ9Oc9R>RYCQ zD4Ge|0YS6iKnO%Y85M#WWE#Iw6cYjzR1^%TsEPmZhlrkYJIaE%<^A5d=bqoa=bqoa z_w}!}Y~VTOj5!=u1OA=wJHBZC69dkZxdrp`J0kIj7UN4}t)Y;xLu#`Y_Op4tdH=Ad zdtJA&HBjUV+MYrpZzXsRLM}IZHnGyRofSPpo_vD21WyyJB3MnZ25Q}vayOY9AntCI zds60McV(6ceSzA`Q=vVTKJa<+ZN1bKGj+oh&ndPE1{&RofH#M+9%vZhLVRe%akd4X z99;}E3Vvf-5;cW6Y@wJ@q~4Hxth(aEiEm- zvm#JFsU}b!C@(Lsttl%j<1Z8C6@sw@;}DXTmc`9lD5CN?UbEKX3 zC0a%?R`@FQ_9OVsTqZk*pqOAcYBZK@P3#~KdUypj*`FH9^c+(Z2=EM`yI zMFHBv@pyA<7&9peRI!f|a|8RC(~fbp*y;GhIe5$FcP-H}bZHgqlv@p*7TwrrSWwcb zpierW@=f{Y*o=^-J)jn8MPeM+AXQJZtPbL4;XYqS5#5$OC-Kp%T*n^S#@?xowgLQ zpNKX!vrpQ}hEZ65o|=W8Y-IH!E9W|^-K$G{hb~23d<*(>(|!lG^3p9CTdwOZeTK;K z)>HZOoA^Ae6er#NCf=ff1HMB<@H8woH-o#f+t zVL`DK|Hs`u(#4Z#m+tCXd<8-_*num zskm@-YJN{3Hk^GZFS-(&`C%BW^H`5z?|2DCUkLuHagvF_qg8*f0hkqZ*>(|Aobxwf zSKveY|>p_b*iD$gtecj z$zm&+P(O>NL^D)LH>s9BNwca7%ARpU_NZC4B7eSSQ*F9YwWI3h6swtMZsKoI3HB4*Lof#cg`~5bDtNj? zL$`6#))sDC80MnHaID%UpTpS4N5lF&4_v9fuh_w>h-@KfBM`cYVN&-t(08M!rhr`( z`Xn%>i}Y!PuWAb5a?M;PUG2mdXY~?fPR@tOojG0A8kQQ*CSuf#MKecbd@T4V_+&(_ zs=3e9DdT!=nw`$5Zqj8G!KgX^BZ5(g@UWJd7QvF@^%D=r=S_rBSqNbvAzFr)4vE*5 zxS1HenK+#1&urrFP*p^sC4Q3Z8#M-Z#hB6q=tB+0;47Iu{6x)E5e-8OM*j-!7 zF2R}Ff+<<4vd7YcrYcTNp{TfAf2QUy2uXWfYhJWy8ILWBEDiHtQJBI}er4E^6WNJ_ zb~!zUP%Zd2ws(?hQ_;v`5}qshn$@H*nVHbW7L%_kvc%}$^tWVkUbUJN2k**aW8bHt zX!)GJAh^&|*XXgA`^;{T3jbuONt!*O6NAH{=+;#Rh!2>>%{i zmDt4KVhO*~b~C?+p+^(n)>+utPlzQFnNMRGIlcI4g0v$11F+UVD6WKnEC{FJ>!8m} zpQQ_l1NAQEK9nMhZ7!}SLH-ebm|Dwzg2IM7kbQ5%G}u>flCDb7)3Dd^CCxFk1J1zA zX#w|VPuq7A9||upJmS<6mH=rI-K! diff --git a/osinaweb/osichat/__pycache__/models.cpython-310.pyc b/osinaweb/osichat/__pycache__/models.cpython-310.pyc index d696e42328d1e4dce1f09cf6e466884f5836c8cd..d88258bfdbd1f2162bf1162436e1703b912a8494 100644 GIT binary patch delta 4484 zcma)9Yj7J^72dnMlGd^$%d(yLk=TjjmtyBtTAC8_s+){m5{JZgNYqXgMZ0oVm8InF zIw7frnMtRi%$P?mWu|Te4UfHK>xrWrZDAvcWp~` z6$Z=u>E3hC-h1vj=R5c6)ydxnvr?cjLyw7Ge(L5TA-dEcO&`e^D(!bF|&cDjH6|zz+icRCx@s_;1^*Kc z5;9#CR$x->Hrfz5#mS4e0tXLSdOm9E0;44d^&7^#NKims&M<4Q8(#j(Y) zl56MeY{s=q#iW{4z0gsAJG_r3ORBtyzIcUfg^=+*FFr-?hP~a2dw~>(`Cg2&-8r|OWDKx9rf@aJuxtT)RoZ&Lqu5hE< zTRsNG9e|GmRKQO0dUOqYSo}FUy6GSUhX9j+#{iXiWlP2fo_|zK#5S=$ibSheh`lfX zFWUd4Xpmc%Ju2OPL#+~Q6@`XZ=8j_KV}Rp;6yOoSqXbEVPoRAQkOrItWB{iCSpZ^1 zn$it92;}$_TBiXvKsx-x?uk=&lFygD^Tk^)#}^pu6o(SMhdGjtf0E!%fFQ}_EE7p4 zW5TU7R>n;>d7;HZz-3?pSz@m1+x-!|4@z(ykPvSq9*7@7a~yCIa6&|z+Iz8^WW?XY zM17w5%+rd+e+MkN54{i^s?Q&!gR5cP)XaXv#pB~mG?vy69`tgKOw z@kUd{_p{1XwX7GrsIBsL6JzS4tOXTa>h_x`#Y?(%Qg^GAE$X^jUe5<+H7deNJ{ZY| z%peu>(0rgA5Z`NldJeg9Bj6XlHPq&<08|8711MzDzbKTR24aEiybIl6mXmKSJ_`xb zFd6iH^Ed>uf-Kip-U6BQNX0F4iV{(NK?4pdLXe49Te@|Xh2Ilzw+zkI$bK)pzr-zj zs`v@(f-HevXn61V@ZN{^Nh3UC^2h@ zixj>W&|L|kY)K+<8u=VO&ME>!Nic&-912~8k=ZN~O>}ck6l)f5uKMbc2Qd$JHgRK- zV=g2pU8!dB+q7LI_nGqe;-%8Glhl3YEvtDEZlUIw>0)Nu;xppstAE(kMelpToL!(P zxSyxuQfq%}8gktvbV$iutyvYjfC_M7eEn z{}m`>87=^y1(XS>T7$oyKI72R9}K3~FjJ&-Fw=|Yrt>%PZrd|CBvPs#2Q+p_$0+|a zCJOSEtRpE0e>q4&2`LN3GRgQQ3_Ss;#6^Y#VS88ny}fT=jePMlporI=BJlJ{GTbx9 z_f4e7CJ!7)h5ZaR)2A-@iSe{J*3om1Op0gl)^h-v8GcfrEB9T=iFuN}C2n@CW%IJQ zzSChw9g>l=WL6YJ6HE=EB9JshyNCTU9)K){IgsX!@@2vfVN(IwBPy-LKV@{kXjI^EC$#ClyETstz?L@)CvVNb~Cx8(3Nq|5x~ z$aKl;rEvTol>P?2^FBRJGXY(Hh#x`XhPsI1_b&F(#YO}>dusAKdZ=hkln8tl!?*nN zfG-0OLrHtTx~Y0lKAkVob;Yb{!S_k4g)I1oK@CHR%bOgBG)s>nM*3UGj;<@~ zliO}me}yMV;+s;-8&8SU`k@VSvlWoreu>`ephfwMnBXN@M_*firV-`H4*>rHMrOpW z?&9E8Y9{L{Z1PWUxyJ;wKo(g{_=5ODcURlj(62$QKGCq@ffTftsr3+bmZ&A^qvnZD zL@kx5g|j*EtU?qE=0ka7c8OxpsiRYxnL22OA3Djv82_eN*w9ov0Jxv32jW5w~*)4}A^E-cBX(vf<9&&FDm z^GPN1qe3*9J2FMp_ro++z1H=3ZXU$=Kb?%3Y1RMsKD9ejdvbQ|DM#F^xJ?!^{qa-^Nm~ z)33~N`kmNJRfgXdqsf8bPhi(;;(YQlTQA;Eb|32@ffqPfGOfiMDDJJC17z-EeU7>* sixfvG;nG-yL2h5J_#s=wg^h!&cP0{vp~T_DI{FSLg7jIFs9zQQFHORr9smFU delta 4237 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 W>kick>60yUPwC4sAA9VHefb-LWVl2C literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/models.py b/osinaweb/osichat/models.py index 7c46e879..75267c0f 100644 --- a/osinaweb/osichat/models.py +++ b/osinaweb/osichat/models.py @@ -14,18 +14,22 @@ def send_notification(notification): notification_data = { 'title': notification.title, 'body': mark_safe(notification.message), + 'id': notification.type_id } - sound = 'default' - if notification.type == 'Visitor': - sound = 'https://osina.ositcom.com/static/notifications/new-visitor.mp3' + if notification.type == 'Chat': + sound = 'outside_chat.wav' + android_sound = 'outside_chat' + else: + sound = 'new_visitor.wav' + android_sound = 'new_visitor' android_config = AndroidConfig( notification=AndroidNotification( title=notification_data['title'], body=notification_data['body'], - sound=sound - ) + sound=android_sound + ) ) apns_config = APNSConfig( @@ -77,6 +81,7 @@ class ChatNotification(models.Model): image = models.TextField(blank=True,null=True) created_at = models.DateTimeField(auto_now_add=True) type = models.CharField(max_length=8, choices=TYPES, null=True) + type_id = models.IntegerField(null=True) def save(self, *args, **kwargs): is_new = not self.pk super().save(*args, **kwargs) @@ -184,6 +189,7 @@ class VisitorLog(models.Model): self.send_visitor_notification(is_repeat=True) def send_visitor_notification(self, is_repeat=False): + type_id = self.id if is_repeat: title = "Existing visitor new acitivity on Ositcom!" if self.title: @@ -200,7 +206,8 @@ class VisitorLog(models.Model): title=title, message = body, image = self.visitor.notification_flag_image_url, - type = "Visitor" + type = "Visitor", + type_id = type_id ) @@ -246,13 +253,15 @@ class ChatRoomGuest(models.Model): super().save(*args, **kwargs) self.send_chat_notification() def send_chat_notification(self): + type_id = self.id title = "New chat on Ositcom!" body = f"Visitor {self.visitor.ip_address} started a new chat on Ositcom" notification = ChatNotification.objects.create( title=title, message = body, image = self.visitor.notification_flag_image_url, - type = "Chat" + type = "Chat", + type_id = type_id ) class ChatRoomReview(models.Model): @@ -293,13 +302,15 @@ class ChatMessage(models.Model): if not self.member: self.send_message_notification() def send_message_notification(self): + type_id = self.id title = f"Visitor {self.room.chatroomguest.visitor.ip_address} sent a new message on Ositcom!" body = f"{self.content}" notification = ChatNotification.objects.create( title=title, message = body, image = self.room.chatroomguest.visitor.notification_flag_image_url, - type = "Chat" + type = "Chat", + type_id = type_id )