From b254dad80352641b3d26847a499824c6bf3eabdd Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sun, 6 Sep 2015 17:36:05 +0200 Subject: [PATCH] [IMP] Purchase name_search/get to ease search on Vendor Refernce in supplier bill --- addons/purchase/purchase.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 8a333c13341..4a189df5738 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -151,6 +151,26 @@ class PurchaseOrder(models.Model): help="This will determine picking type of incoming shipment") group_id = fields.Many2one('procurement.group', string="Procurement Group") + @api.model + def name_search(self, name, args=None, operator='ilike', limit=100): + args = args or [] + domain = [] + if name: + domain = ['|', ('name', operator, name), ('partner_ref', operator, name)] + pos = self.search(domain + args, limit=limit) + return pos.name_get() + + @api.multi + @api.depends('name', 'partner_ref') + def name_get(self): + result = [] + for po in self: + name = po.name + if po.partner_ref: + name += ' ('+po.partner_ref+')' + result.append((po.id, name)) + return result + @api.model def create(self, vals): if vals.get('name', 'New') == 'New': @@ -798,7 +818,7 @@ class ProductTemplate(models.Model): purchase_ok = fields.Boolean('Can be Purchased', default=True) purchase_count = fields.Integer(compute='_purchase_count', string='# Purchases') purchase_method = fields.Selection([ - ('purchase', 'On purchased quantities'), + ('purchase', 'On ordered quantities'), ('receive', 'On received quantities'), ], string="Control Purchase Bills", default="receive") route_ids = fields.Many2many(default=lambda self: self._get_buy_route())