Поиск канала чата между этими двумя пользователями, и партнер должен быть участником этого канала, а тип канала чата 'chat'
, для частного канала тип канала 'channel'
пользователь может иметь несколько каналов.
partner_ids = [record.user_id.partner_id.id,
ecord.x_studio_subcontractor.user_id.partner_id.id]
channel_ids = self.env['mail.channel'].search([('channel_partner_ids', '=', partner_ids[0]),
('channel_partner_ids', '=', partner_ids[1]),
('public', '=', 'private'),
('channel_type', '=', 'chat'), # only chat channel it should be only one
]).ids or None
record.message_subscribe(partner_ids=partner_ids, channel_ids=channel_ids)
@ Foti c
При указанных ниже атрибутах при поиске не добавляется канал (возможно, потому что было 2 канала (объявления и частные))
('public', '=', 'private'),
('channel_type', '=', 'chat'),
Мое окончательное решение:
partner_ids = [record.user_id.partner_id.id,record.x_studio_subcontractor.user_id.partner_id.id]
channel_ids = record.env['mail.channel'].search([('channel_partner_ids', '=', partner_ids[0]),
('channel_partner_ids', '=', partner_ids[1]),
('group_ids', '=', False),
]).ids or None
record.message_subscribe(partner_ids=partner_ids, channel_ids=channel_ids)
В любом случае большое спасибо за помощь @Charif DZ