[FIX] base_changeset: permission error in Pending Changes widget.

pull/2669/head
Stefan Rijnhart 2023-07-03 13:24:14 +02:00
parent 292da0f91e
commit e01ce3d4c0
2 changed files with 6 additions and 1 deletions

View File

@ -188,7 +188,7 @@ class RecordChangesetChange(models.Model):
@api.model @api.model
def get_field_for_type(self, field, prefix): def get_field_for_type(self, field, prefix):
assert prefix in ("origin", "old", "new") 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: if not field_type:
raise NotImplementedError("field type %s is not supported" % field_type) raise NotImplementedError("field type %s is not supported" % field_type)
return "{}_value_{}".format(prefix, field_type) return "{}_value_{}".format(prefix, field_type)

View File

@ -77,6 +77,11 @@ class TestChangesetFlow(ChangesetTestCommon, TransactionCase):
self.assertEqual(self.partner.name, "Y") self.assertEqual(self.partner.name, "Y")
self.assertEqual(self.partner.street, "street X") self.assertEqual(self.partner.street, "street X")
self.assertEqual(self.partner.street2, "street2 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): def test_create_new_changeset(self):
"""Create a new partner with a changeset""" """Create a new partner with a changeset"""