From 7d4cdb69f256b84fe7a0e9bf78eff8b1f8e0b8ed Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 22 Sep 2011 19:20:27 +0200 Subject: [PATCH] [IMP] orm: minor cleanup: avoid duplicate functions to do the same thing bzr revid: odo@openerp.com-20110922172027-7kiae4yd2vuwwk6w --- openerp/osv/expression.py | 7 ------- openerp/osv/osv.py | 11 +++++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py index a0d10c7fe8e..bbf4569cba8 100644 --- a/openerp/osv/expression.py +++ b/openerp/osv/expression.py @@ -221,13 +221,6 @@ def OR(domains): """OR([D1,D2,...]) returns a domain representing D1 or D2 or ... """ return combine(OR_OPERATOR, FALSE_DOMAIN, TRUE_DOMAIN, domains) -# Probably bad style: the domain should be already normalized (and non-empty). -def expression_and(term, domain): - if domain: - return ['&', term] + normalize(domain) - else: - return term - def is_operator(element): """Test whether an object is a valid domain operator. """ return isinstance(element, basestring) and element in DOMAIN_OPERATORS diff --git a/openerp/osv/osv.py b/openerp/osv/osv.py index 7f2979be62e..84954dcea14 100644 --- a/openerp/osv/osv.py +++ b/openerp/osv/osv.py @@ -21,19 +21,20 @@ #.apidoc title: Objects Services (OSV) +import logging +from psycopg2 import IntegrityError, errorcodes + import orm import openerp import openerp.netsvc as netsvc import openerp.pooler as pooler import openerp.sql_db as sql_db -import logging -from psycopg2 import IntegrityError, errorcodes +import expression # must not be first local import! from openerp.tools.config import config from openerp.tools.func import wraps from openerp.tools.translate import translate from openerp.osv.orm import MetaModel, Model - class except_osv(Exception): def __init__(self, name, value, exc_type='warning'): self.name = name @@ -289,11 +290,9 @@ class TransientModel(Model): return super(TransientModel, self).create(cr, uid, vals, context) def _search(self, cr, uid, domain, offset=0, limit=None, order=None, context=None, count=False, access_rights_uid=None): - # Restrict acces to the current user, except for the super-user. if self._log_access and uid != openerp.SUPERUSER: - import expression - domain = expression.expression_and(('create_uid', '=', uid), domain) + domain = expression.AND(([('create_uid', '=', uid)], domain)) # TODO unclear: shoudl access_rights_uid be set to None (effectively ignoring it) or used instead of uid? return super(TransientModel, self)._search(cr, uid, domain, offset, limit, order, context, count, access_rights_uid)