[MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 9980 revid:dle@openerp.com...
authorDenis Ledoux <dle@openerp.com>
Mon, 14 Apr 2014 13:11:46 +0000 (15:11 +0200)
committerDenis Ledoux <dle@openerp.com>
Mon, 14 Apr 2014 13:11:46 +0000 (15:11 +0200)
bzr revid: dle@openerp.com-20140414131146-1jz0isk58wgdsx2p

1  2 
addons/account/account.py

@@@ -841,18 -845,14 +841,13 @@@ class account_journal(osv.osv)
      def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
          if not args:
              args = []
-         if context is None:
-             context = {}
-         ids = []
-         if context.get('journal_type', False):
-             args += [('type','=',context.get('journal_type'))]
-         if name:
-             ids = self.search(cr, user, [('code', 'ilike', name)]+ args, limit=limit, context=context)
-         if not ids:
-             ids = self.search(cr, user, [('name', 'ilike', name)]+ args, limit=limit, context=context)#fix it ilike should be replace with operator
+         if operator in expression.NEGATIVE_TERM_OPERATORS:
+             domain = [('code', operator, name), ('name', operator, name)]
+         else:
+             domain = ['|', ('code', operator, name), ('name', operator, name)]
+         ids = self.search(cr, user, expression.AND([domain, args]), limit=limit, context=context)
          return self.name_get(cr, user, ids, context=context)
  
 -account_journal()
  
  class account_fiscalyear(osv.osv):
      _name = "account.fiscalyear"
      def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
          if args is None:
              args = []
-         if context is None:
-             context = {}
-         ids = []
-         if name:
-             ids = self.search(cr, user, [('code', 'ilike', name)]+ args, limit=limit)
-         if not ids:
-             ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit)
+         if operator in expression.NEGATIVE_TERM_OPERATORS:
+             domain = [('code', operator, name), ('name', operator, name)]
+         else:
+             domain = ['|', ('code', operator, name), ('name', operator, name)]
+         ids = self.search(cr, user, expression.AND([domain, args]), limit=limit, context=context)
          return self.name_get(cr, user, ids, context=context)
  
 -account_fiscalyear()
  
  class account_period(osv.osv):
      _name = "account.period"