From: Raphael Collet Date: Mon, 1 Sep 2014 09:43:33 +0000 (+0200) Subject: [IMP] models: prefetch fields with groups (those to which user has access) X-Git-Tag: 8.0.0~184 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=f2f1f3465df7cdfa65169a64545cd1df1f468642;p=odoo%2Fodoo.git [IMP] models: prefetch fields with groups (those to which user has access) --- diff --git a/openerp/models.py b/openerp/models.py index eaf643e..909de45 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -3156,7 +3156,9 @@ class BaseModel(object): # here we can optimize: prefetch all classic and many2one fields fnames = set(fname for fname, fcolumn in self._columns.iteritems() - if fcolumn._prefetch) + if fcolumn._prefetch + if not fcolumn.groups or self.user_has_groups(fcolumn.groups) + ) # fetch records with read() assert self in records and field.name in fnames diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index f27b737..f11ef97 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -120,7 +120,7 @@ class _column(object): # prefetch only if self._classic_write, not self.groups, and not # self.deprecated - if not self._classic_write or self.groups or self.deprecated: + if not self._classic_write or self.deprecated: self._prefetch = False def to_field(self):