comparison src/pages/chat/page_meta.py @ 1002:990e80aa43a9

pages (chat): fixed messages filtering + get identity of user if not already in cache.
author Goffi <goffi@goffi.org>
date Fri, 05 Jan 2018 16:30:05 +0100
parents ae7e9ce4c64c
children 092e910292c9
comparison
equal deleted inserted replaced
1001:ae7e9ce4c64c 1002:990e80aa43a9
93 93
94 94
95 @defer.inlineCallbacks 95 @defer.inlineCallbacks
96 def on_signal(self, request, signal, *args): 96 def on_signal(self, request, signal, *args):
97 if signal == 'messageNew': 97 if signal == 'messageNew':
98 profile = self.getProfile(request) 98 rdata = self.getRData(request)
99 template_data = request.template_data 99 template_data = request.template_data
100 template_data_update = {u"msg": data_objects.Message((args))} 100 template_data_update = {u"msg": data_objects.Message((args))}
101 target_jid = rdata['target']
101 identities = template_data['identities'] 102 identities = template_data['identities']
102 uid, timestamp, from_jid, to_jid, message, subject, mess_type, extra, dummy = args 103 uid, timestamp, from_jid_s, to_jid_s, message, subject, mess_type, extra, dummy = args
103 if from_jid not in identities: 104 from_jid = jid.JID(from_jid_s)
104 identities[from_jid] = yield self.host.bridgeCall(u'identityGet', from_jid, profile) 105 to_jid = jid.JID(to_jid_s)
106 if (target_jid.userhostJID() != from_jid.userhostJID() and
107 target_jid.userhostJID() != to_jid.userhostJID()):
108 # the message is not linked with page's room/user
109 return
110
111
112 if from_jid_s not in identities:
113 profile = self.getProfile(request)
114 identities[from_jid_s] = yield self.host.bridgeCall(u'identityGet', from_jid_s, profile)
105 template_data_update['identities'] = identities 115 template_data_update['identities'] = identities
106 self.renderAndUpdate(request, u"chat/message.html", "#messages", 116 self.renderAndUpdate(request, u"chat/message.html", "#messages",
107 template_data_update) 117 template_data_update)
108 else: 118 else:
109 log.error(_(u"Unexpected signal: {signal}").format(signal=signal)) 119 log.error(_(u"Unexpected signal: {signal}").format(signal=signal))