diff --git a/odoo/addons/base/models/ir_rule.py b/odoo/addons/base/models/ir_rule.py index 6fbadee77f0..f98acd36ded 100644 --- a/odoo/addons/base/models/ir_rule.py +++ b/odoo/addons/base/models/ir_rule.py @@ -203,6 +203,7 @@ class IrRule(models.Model): resolution_info = _("Contact your administrator to request access if necessary.") if not self.env.user.has_group('base.group_no_one') or not self.env.user.has_group('base.group_user'): + records.invalidate_recordset() return AccessError(f"{operation_error}\n\n{resolution_info}") # This extended AccessError is only displayed in debug mode. diff --git a/odoo/fields.py b/odoo/fields.py index f9e76c739c2..fd91d6d849e 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -1161,6 +1161,8 @@ class Field(MetaField('DummyField', (object,), {})): try: recs._fetch_field(self) except AccessError: + if len(recs) == 1: + raise record._fetch_field(self) if not env.cache.contains(record, self): raise MissingError("\n".join([