Mercurial > libervia-web
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)) |