diff --git a/addons/account/models/account_move_line.py b/addons/account/models/account_move_line.py index 337453ccfc9..90e5e1858b0 100644 --- a/addons/account/models/account_move_line.py +++ b/addons/account/models/account_move_line.py @@ -1572,27 +1572,6 @@ class AccountMoveLine(models.Model): for root in self.env['account.root'].browse(id for [id] in self.env.cr.fetchall()) } - # ------------------------------------------------------------------------- - # TRACKING METHODS - # ------------------------------------------------------------------------- - - def _mail_track(self, tracked_fields, initial): - changes, tracking_value_ids = super()._mail_track(tracked_fields, initial) - if len(changes) > len(tracking_value_ids): - for i, changed_field in enumerate(changes): - if tracked_fields[changed_field]['type'] in ['one2many', 'many2many']: - field = self.env['ir.model.fields']._get(self._name, changed_field) - vals = { - 'field': field.id, - 'field_desc': field.field_description, - 'field_type': field.ttype, - 'tracking_sequence': field.tracking, - 'old_value_char': ', '.join(initial[changed_field].mapped('name')), - 'new_value_char': ', '.join(self[changed_field].mapped('name')), - } - tracking_value_ids.insert(i, Command.create(vals)) - return changes, tracking_value_ids - # ------------------------------------------------------------------------- # RECONCILIATION # ------------------------------------------------------------------------- diff --git a/addons/mail/models/mail_tracking_value.py b/addons/mail/models/mail_tracking_value.py index d6665f4a48c..89945a5a803 100644 --- a/addons/mail/models/mail_tracking_value.py +++ b/addons/mail/models/mail_tracking_value.py @@ -81,6 +81,11 @@ class MailTracking(models.Model): 'old_value_char': initial_value and initial_value.sudo().name_get()[0][1] or '', 'new_value_char': new_value and new_value.sudo().name_get()[0][1] or '' }) + elif col_info['type'] in ['many2many', 'one2many']: + values.update({ + 'old_value_char': initial_value and ', '.join(initial_value.mapped('display_name')) or '', + 'new_value_char': new_value and ', '.join(new_value.mapped('display_name')) or '' + }) else: tracked = False diff --git a/addons/project/models/project_task.py b/addons/project/models/project_task.py index ae695891b31..0646ce0f07e 100644 --- a/addons/project/models/project_task.py +++ b/addons/project/models/project_task.py @@ -1157,24 +1157,6 @@ class Task(models.Model): pass return new_followers - def _mail_track(self, tracked_fields, initial_values): - changes, tracking_value_ids = super()._mail_track(tracked_fields, initial_values) - # Many2many tracking - if len(changes) > len(tracking_value_ids): - for changed_field in changes: - if tracked_fields[changed_field]['type'] in ['one2many', 'many2many']: - field = self.env['ir.model.fields']._get(self._name, changed_field) - vals = { - 'field': field.id, - 'field_desc': field.field_description, - 'field_type': field.ttype, - 'tracking_sequence': field.tracking, - 'old_value_char': ', '.join(initial_values[changed_field].mapped('name')), - 'new_value_char': ', '.join(self[changed_field].mapped('name')), - } - tracking_value_ids.append(Command.create(vals)) - return changes, tracking_value_ids - def _track_template(self, changes): res = super(Task, self)._track_template(changes) test_task = self[0]