Добавить канал в качестве подписчика в соответствии с двумя пользователями - PullRequest
1 голос
/ 06 января 2020

Я пытаюсь с помощью Automated Action автоматически добавить канал в соответствии с двумя пользователями, где они являются подписчиками.

Код на данный момент:

record.message_subscribe(partner_ids=[record.user_id.partner_id.id, record.x_studio_subcontractor.user_id.partner_id.id])

Приведенный выше код заставляет 2 пользователей подписаться, что Код должен применяться, чтобы я мог сделать их канал также последователем задачи?

1 Ответ

1 голос
/ 06 января 2020

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

...