Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion tracking_manager/models/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from collections import defaultdict

from odoo import Command, api, models, tools
from odoo import Command, _, api, models, tools
from odoo.exceptions import AccessError

from ..tools import format_m2m
Expand Down Expand Up @@ -73,6 +73,10 @@ def _tm_get_changes(self, values):
elif field.type == "many2one":
old = before.display_name
new = self[field_name]["display_name"]
elif field.type == "boolean":
# a falsy value would be rendered as an empty string
old = _("Yes") if before else _("No")
new = _("Yes") if self[field_name] else _("No")
else:
old = before
new = self[field_name]
Expand Down
14 changes: 14 additions & 0 deletions tracking_manager/tests/test_tracking_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,3 +271,17 @@ def test_o2m_update_record(self):
)
child.write({"parent_id": False})
self.assertEqual(len(self.messages), 1)

def test_o2m_update_boolean(self):
self.env.ref("base.field_res_partner__child_ids").custom_tracking = True
self.env.ref("base.field_res_partner__is_company").custom_tracking = True
child = self.env["res.partner"].create(
{"name": "Test child", "parent_id": self.partner.id}
)
self.flush_tracking()
self.partner.message_ids.unlink()
child.write({"is_company": True})
self.assertEqual(len(self.messages), 1)
body = " ".join(self.messages.body.split())
self.assertIn("Is a Company : No", body)
self.assertIn("Yes", body)
Loading