From 2a1381a8af3ef2d4f03fc66a985751bbc1c1b9e8 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 12 Nov 2012 13:04:53 +0100 Subject: [PATCH] [FIX] orm: make sure superuser mode always bypasses access rules filtering - one case was not covered after recent refactoring Caused by refactoring in rev.4200 revid:odo@openerp.com-20120618094327 bzr revid: odo@openerp.com-20121112120453-axiul7k6y0o67hgb --- openerp/osv/orm.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 3003119bc41..1ab91500650 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -3807,6 +3807,8 @@ class BaseModel(object): cr.execute('SELECT id FROM ' + self._table + ' WHERE id IN %s', (tuple(missing_ids),)) if cr.rowcount: # the missing ids are (at least partially) hidden by access rules + if uid == SUPERUSER_ID: + return _logger.warning('Access Denied by record rules for operation: %s, uid: %s, model: %s', operation, uid, self._name) raise except_orm(_('Access Denied'), _('The requested operation cannot be completed due to security restrictions. Please contact your system administrator.\n\n(Document type: %s, Operation: %s)') % \