Автоматическое действие для добавления пользователей в качестве подписчиков Odoo 12

Мне нужно выполнить автоматическое действие на Odoo 12, чтобы автоматически добавить 3 выбранных пользователей в качестве подписчиков при создании контакта.

Изображение

Менеджер контактов = Имя поля: user_id

L2 Manager = Название поля: x_studio_l2_manager

L3 Manager = Название поля: x_studio_l3_manager

Любое предложение?

Спасибо


person Fotic    schedule 21.12.2019    source источник


Ответы (1)


Установите модуль Правила автоматических действий для автоматизации модели, вы найдете меню в Настройки >> Включить отладку >> Технические >> Автоматизация >> Автоматические действия, создайте новое действие автоматизации, Модель: Контакт, Триггер. условие: при создании, действие: добавить подписчиков, выбрать подписчиков,

Добавить автоматических подписчиков

Это назначит статических подписчиков вновь созданным контактам. Но для динамических подписчиков вам нужно выполнить код на Python:

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

Помните, что это предполагает, что x_studio_l3_manager, x_studio_l2_manager - это поле типа res.partner, а user_id - это поле типа res.users. Если нет, обновите свой вопрос, указав, какие типы связанных полей это. Помните, что если поля равны res.users, вы должны использовать record.x_studio_l2_manager.partner_id.id, record.x_studio_l3_manager.partner_id.id, потому что res.users идентификатор таблицы не всегда будет таким же, как res.partner идентификатор таблицы для конкретного пользователя.

Вы можете отписаться от существующих подписчиков, используя следующий код:

record.message_unsubscribe(partner_ids=record.message_partner_ids.ids)

Для этого необходимо добавить действие сервера, которое будет выполнять код Python, добавить код к действию сервера и запустить это действие сервера, выбрав записи.

person arryph    schedule 22.12.2019
comment
Прежде всего, большое спасибо за решение, у меня также есть L2 Manager, L3 Manager res.users, поэтому работает отлично. Еще один вопрос: когда я обновляю подписчиков, удаляю подписчиков старых пользователей новыми (обновляйте список подписок). Как я могу это сделать? - person Fotic; 22.12.2019
comment
Обновленный ответ. - person arryph; 23.12.2019