Поиск канала чата между этими двумя пользователями, оба партнера должны быть участниками этого канала, и тип канала чата - '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)
@Fotic
С указанными ниже атрибутами при поиске канал не добавляется (вероятно, потому, что было 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
06.01.2020