diff --git a/order_point.py b/order_point.py index 1b1dbc5276..b48eb26c95 100644 --- a/order_point.py +++ b/order_point.py @@ -119,6 +119,23 @@ class OrderPoint(OSV): res.append((op.id, "%s@%s" % (op.product.name, op.location.name))) return res + def name_search(self, cursor, user, name='', args=None, operator='ilike', + context=None, limit=None): + if not args: + args=[] + names = name.split('@', 1) + query = ['AND', ('product.template.name', operator, names[0]), args] + if len(names) == 1 or not names[1]: + ids = self.search( cursor, user, query, limit=limit, context=context) + else: + location_args = self.search_location( + cursor, user, 'location', [('location', operator, names[1])], + context=context) + ids = self.search( + cursor, user, ['AND', query, location_args], limit=limit, + context=context) + return self.name_get(cursor, user, ids, context) + def get_location(self, cursor, user, ids, name, args, context=None): location_obj = self.pool.get('stock.location') res = {} diff --git a/purchase_request.py b/purchase_request.py index 90ae58aaeb..fbdeaa8c16 100644 --- a/purchase_request.py +++ b/purchase_request.py @@ -53,6 +53,20 @@ class PurchaseRequest(OSV): res.append((pr.id, "%s@%s" % (pr.product.name, pr.warehouse.name))) return res + def name_search(self, cursor, user, name='', args=None, operator='ilike', + context=None, limit=None): + if not args: + args=[] + names = name.split('@',1) + query = ['AND', ('product.template.name', operator, names[0]), args] + if len(names) == 1 or not names[1]: + ids = self.search( cursor, user, query, limit=limit, context=context) + else: + warehouse_arg = [('warehouse', operator, names[1])] + ids = self.search( + cursor, user, query + warehouse_arg, limit=limit, context=context) + return self.name_get(cursor, user, ids, context) + def default_company(self, cursor, user, context=None): company_obj = self.pool.get('company.company') if context is None: diff --git a/purchase_request.xml b/purchase_request.xml index 541c6b0643..ba25930db6 100644 --- a/purchase_request.xml +++ b/purchase_request.xml @@ -45,7 +45,7 @@ - +