[FIX] tracking_manager: m2m data was tracked as None->None
parent
ff178e180e
commit
36410c75a8
|
@ -2,4 +2,3 @@ from . import mail_thread
|
||||||
from . import ir_model
|
from . import ir_model
|
||||||
from . import ir_model_fields
|
from . import ir_model_fields
|
||||||
from . import models
|
from . import models
|
||||||
from . import mail_tracking_value
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
# Copyright 2023 Akretion (https://www.akretion.com).
|
|
||||||
# @author Sébastien BEAU <sebastien.beau@akretion.com>
|
|
||||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
||||||
|
|
||||||
from odoo import models
|
|
||||||
|
|
||||||
from ..tools import format_m2m
|
|
||||||
|
|
||||||
|
|
||||||
class MailTrackingValue(models.Model):
|
|
||||||
_inherit = "mail.tracking.value"
|
|
||||||
|
|
||||||
def _create_tracking_values(
|
|
||||||
self,
|
|
||||||
initial_value,
|
|
||||||
new_value,
|
|
||||||
col_name,
|
|
||||||
col_info,
|
|
||||||
record,
|
|
||||||
):
|
|
||||||
if col_info["type"] == "many2many":
|
|
||||||
col_info["type"] = "text"
|
|
||||||
initial_value = format_m2m(initial_value)
|
|
||||||
new_value = format_m2m(new_value)
|
|
||||||
return super()._create_tracking_values(
|
|
||||||
initial_value, new_value, col_name, col_info, record
|
|
||||||
)
|
|
|
@ -79,8 +79,8 @@ class TestTrackingManager(TransactionCase):
|
||||||
self.assertEqual(len(self.messages), 1)
|
self.assertEqual(len(self.messages), 1)
|
||||||
tracking = self.messages.tracking_value_ids[0]
|
tracking = self.messages.tracking_value_ids[0]
|
||||||
self.assertEqual(len(tracking), 1)
|
self.assertEqual(len(tracking), 1)
|
||||||
self.assertEqual(tracking.old_value_text, "FOO")
|
self.assertEqual(tracking.old_value_char, "FOO")
|
||||||
self.assertEqual(tracking.new_value_text, "FOO; BAR")
|
self.assertEqual(tracking.new_value_char, "FOO, BAR")
|
||||||
|
|
||||||
def test_m2m_delete_line(self):
|
def test_m2m_delete_line(self):
|
||||||
self.partner.write(
|
self.partner.write(
|
||||||
|
@ -89,8 +89,8 @@ class TestTrackingManager(TransactionCase):
|
||||||
self.assertEqual(len(self.messages), 1)
|
self.assertEqual(len(self.messages), 1)
|
||||||
tracking = self.messages.tracking_value_ids
|
tracking = self.messages.tracking_value_ids
|
||||||
self.assertEqual(len(tracking), 1)
|
self.assertEqual(len(tracking), 1)
|
||||||
self.assertEqual(tracking.old_value_text, "FOO")
|
self.assertEqual(tracking.old_value_char, "FOO")
|
||||||
self.assertEqual(tracking.new_value_text, "")
|
self.assertEqual(tracking.new_value_char, "")
|
||||||
|
|
||||||
def test_m2m_multi_line(self):
|
def test_m2m_multi_line(self):
|
||||||
self.partner.write(
|
self.partner.write(
|
||||||
|
@ -110,8 +110,8 @@ class TestTrackingManager(TransactionCase):
|
||||||
self.assertEqual(len(self.messages), 1)
|
self.assertEqual(len(self.messages), 1)
|
||||||
tracking = self.messages.tracking_value_ids
|
tracking = self.messages.tracking_value_ids
|
||||||
self.assertEqual(len(tracking), 1)
|
self.assertEqual(len(tracking), 1)
|
||||||
self.assertEqual(tracking.old_value_text, "FOO")
|
self.assertEqual(tracking.old_value_char, "FOO")
|
||||||
self.assertEqual(tracking.new_value_text, "BAR; TOOH")
|
self.assertEqual(tracking.new_value_char, "BAR, TOOH")
|
||||||
|
|
||||||
def test_o2m_create_indirectly(self):
|
def test_o2m_create_indirectly(self):
|
||||||
self.partner.write({"user_ids": [(Command.CREATE, 0, {"login": "1234567890"})]})
|
self.partner.write({"user_ids": [(Command.CREATE, 0, {"login": "1234567890"})]})
|
||||||
|
|
Loading…
Reference in New Issue