diff --git a/base_changeset/models/record_changeset_change.py b/base_changeset/models/record_changeset_change.py index caceb2eef..374ba4dac 100644 --- a/base_changeset/models/record_changeset_change.py +++ b/base_changeset/models/record_changeset_change.py @@ -188,7 +188,7 @@ class RecordChangesetChange(models.Model): @api.model def get_field_for_type(self, field, prefix): assert prefix in ("origin", "old", "new") - field_type = self._type_to_suffix.get(field.ttype) + field_type = self._type_to_suffix.get(field.sudo().ttype) if not field_type: raise NotImplementedError("field type %s is not supported" % field_type) return "{}_value_{}".format(prefix, field_type) diff --git a/base_changeset/tests/test_changeset_flow.py b/base_changeset/tests/test_changeset_flow.py index e9a347a15..c7ea41137 100644 --- a/base_changeset/tests/test_changeset_flow.py +++ b/base_changeset/tests/test_changeset_flow.py @@ -77,6 +77,11 @@ class TestChangesetFlow(ChangesetTestCommon, TransactionCase): self.assertEqual(self.partner.name, "Y") self.assertEqual(self.partner.street, "street X") self.assertEqual(self.partner.street2, "street2 X") + # Pending Changes widget can be rendered for the unprivileged user + self.env["record.changeset.change"].invalidate_cache() + self.env["record.changeset.change"].with_user( + self.demo_user + ).get_fields_changeset_changes(self.partner._name, self.partner.id) def test_create_new_changeset(self): """Create a new partner with a changeset"""