Я использую Odoo 11 и хочу уведомить пользователя, когда создается определенная запись, не по электронной почте, а внутри Odoo, так что есть такая вещь: Я думаю, это должно быть довольно просто со стандартными функциями Odoo, но я не знаю, как это сделать.
То, что я пробовал, - это автоматическое действие, которое добавляет пользователей, которые должны быть уведомлены в качестве подписчиков (действие: добавить подписчиков, условие триггера: при создании).
Далее я наследую в своей модели от mail.thread
, отслеживаю несколько полей и определяю для них подтип. И это действительно работает, чтобы получать уведомления об изменениях полей, но при создании записи нет сообщения. Почему это? Может быть, создание не считается изменением? Или, может быть, автоматическое действие выполняется слишком поздно, потому что он должен следовать ДО того, как будет создана запись?
Альтернативой, которую я вижу, было бы перезаписать метод create (...) и отправить оттуда какое-то сообщение. Но как это сделать? Такое ощущение, что есть что-то очевидное, чего я не вижу. То есть есть примечание, что запись в чате все равно была создана. Все, что я хочу сделать, - это оставить это сообщение в почтовом ящике пользователя.
Пример кода:
class MyModel(models.Model):
_name = 'my_module.my_model'
_inherit = ['mail.thread', 'mail.activity.mixin']
name = fields.Char(string='Name', track_visibility=True)
def _track_subtype(self, init_values):
if 'name' in init_values:
return 'mail.mt_comment'
return super(Alert, self)._track_subtype(init_values)