You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

33 lines
1.2 KiB

from odoo import models, api
class MailThread(models.AbstractModel):
_inherit = 'mail.thread'
@api.multi
def _message_track(self, tracked_fields, initial):
"""For a given record, fields to check (column name, column info)
and initial values, return a structure that is a tuple containing :
- a set of updated column names
- a list of changes (old value, new value, column name, column info)
"""
changes = super(MailThread, self)._message_track(
tracked_fields, initial)[0]
tracking_value_ids = []
track_obj = self.env['mail.tracking.value']
for col_name, col_info in tracked_fields.items():
initial_value = initial[col_name]
new_value = getattr(self, col_name)
if new_value != initial_value and (new_value or initial_value):
track_sequence = getattr(
self._fields[col_name], 'track_sequence', 100)
tracking = track_obj.create_tracking_values(
initial_value, new_value, col_name,
col_info, track_sequence)
if tracking:
tracking_value_ids.append([0, 0, tracking])
return changes, tracking_value_ids