Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Website Live Chat

Entity: website.visitor

Compute Method: _compute_current_livechat_agent_ids

View 20.0
Inputs Method Outputs
+ visitors_channel_query = self.env["discuss.channel"]._search(
+             [("livechat_visitor_id", "in", self.ids), ("livechat_end_dt", "=", False)],
+         )
+ histories_by_visitor = dict(
+             self.env["im_livechat.channel.member.history"]._read_group(
+                 [
+                     ("channel_id", "in", visitors_channel_query.subselect()),
+                     ("livechat_member_type", "!=", "visitor"),
+                     ("member_id", "!=", False),
+                 ],
+                 ["channel_id.livechat_visitor_id"],
+                 ["id:recordset"],
+             )
+         )
+ for visitor in self:
+             correspondents_history = histories_by_visitor.get(
+                 visitor, self.env["im_livechat.channel.member.history"]
+             )
+             visitor.current_livechat_agent_ids = correspondents_history.partner_id
  • current_livechat_agent_ids

Back to entity