From 894efa65640302708bcff737558e426c9d208d43 Mon Sep 17 00:00:00 2001 From: "sbh (Open ERP)" Date: Wed, 5 May 2010 18:18:59 +0530 Subject: [PATCH] Task-ID:506 Improve the onchange on product_id bzr revid: sbh@tinyerp.com-20100505124859-ir4qt1lbfjefe0bf --- addons/point_of_sale/posrule_data.xml | 2 +- addons/purchase_requisition/purchase_requisition.py | 9 +++++---- .../purchase_requisition/purchase_requisition_view.xml | 6 +++--- .../wizard/purchase_requisition_partner.py | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/addons/point_of_sale/posrule_data.xml b/addons/point_of_sale/posrule_data.xml index 69dcf769700..57e909ae913 100644 --- a/addons/point_of_sale/posrule_data.xml +++ b/addons/point_of_sale/posrule_data.xml @@ -36,7 +36,7 @@ - + diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index fa4a1f8b153..e7b1f09aa90 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -86,7 +86,7 @@ class purchase_requisition_line(osv.osv): 'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade') } - def onchange_product_id(self, cr, uid, ids, product_id, context={}): + def onchange_product_id(self, cr, uid, ids, product_id,product_uom_id, context={}): """ Changes UoM and name if product_id changes. @param name: Name of the field @@ -94,13 +94,14 @@ class purchase_requisition_line(osv.osv): @return: Dictionary of changed values """ value = {} - + if product_id: prod = self.pool.get('product.product').browse(cr, uid, [product_id])[0] - value = {'product_uom_id': prod.uom_id.id} - + if product_uom_id != prod.uom_id.id: + value = {'product_uom_id': prod.uom_id.id} return {'value': value} + _defaults = { 'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id, } diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml index c1acbd32513..1df006ec3ab 100644 --- a/addons/purchase_requisition/purchase_requisition_view.xml +++ b/addons/purchase_requisition/purchase_requisition_view.xml @@ -46,14 +46,14 @@ - +
- + - + diff --git a/addons/purchase_requisition/wizard/purchase_requisition_partner.py b/addons/purchase_requisition/wizard/purchase_requisition_partner.py index ea5195936cc..e886ba302b9 100644 --- a/addons/purchase_requisition/wizard/purchase_requisition_partner.py +++ b/addons/purchase_requisition/wizard/purchase_requisition_partner.py @@ -111,11 +111,11 @@ class purchase_requisition_partner(osv.osv_memory): }) list_line.append(purchase_order_line) purchase_id = order_obj.create(cr, uid, { - 'origin': tender.name, + 'origin': tender.purchase_ids and tender.purchase_ids[0].origin or tender.name, 'partner_id': partner_id, 'partner_address_id': address_id, 'pricelist_id': pricelist_id, - 'location_id': line.product_id.product_tmpl_id.property_stock_production.id, + 'location_id': tender.purchase_ids and tender.purchase_ids[0].location_id.id or line.product_id.product_tmpl_id.property_stock_production.id, 'company_id': tender.company_id.id, 'fiscal_position': partner.property_account_position and partner.property_account_position.id or False, 'requisition_id':tender.id,