From 9c977cbff1660f716f29fd9b488c718b86df373a Mon Sep 17 00:00:00 2001 From: "dle@openerp.com" <> Date: Fri, 14 Dec 2012 16:11:08 +0100 Subject: [PATCH] [FIX]default weight uom measure was set to kgs all the time. Now depends of the configuration of uom (to handle uom of different countries bzr revid: dle@openerp.com-20121214151108-38sjk0r506j2sdh0 --- addons/delivery/stock.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index 4b3fa90..b646bc1 100644 --- a/addons/delivery/stock.py +++ b/addons/delivery/stock.py @@ -66,7 +66,7 @@ class stock_picking(osv.osv): }), 'carrier_tracking_ref': fields.char('Carrier Tracking Ref', size=32), 'number_of_packages': fields.integer('Number of Packages'), - 'weight_uom_id': fields.many2one('product.uom', 'Unit of Measure', required=True,readonly="1",help="Unit of Measure (Unit of Measure) is the unit of measurement for Weight",), + 'weight_uom_id': fields.many2one('product.uom', 'Unit of Measure', required=True,readonly="1",help="Unit of measurement for Weight",), } def _prepare_shipping_invoice_line(self, cr, uid, picking, invoice, context=None): @@ -133,9 +133,11 @@ class stock_picking(osv.osv): invoice_line_obj.create(cr, uid, invoice_line) invoice_obj.button_compute(cr, uid, [invoice.id], context=context) return result - + def _get_default_uom(self,cr,uid,c): + uom_categ, uom_categ_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'product', 'product_uom_categ_kgm') + return self.pool.get('product.uom').search(cr, uid, [('category_id', '=', uom_categ_id),('factor','=',1)])[0] _defaults = { - 'weight_uom_id': lambda self,cr,uid,c: self.pool.get('ir.model.data').get_object_reference(cr, uid, 'product', 'product_uom_kgm')[1] + 'weight_uom_id': lambda self,cr,uid,c: self._get_default_uom(cr,uid,c) } stock_picking() @@ -176,8 +178,11 @@ class stock_move(osv.osv): }), 'weight_uom_id': fields.many2one('product.uom', 'Unit of Measure', required=True,readonly="1",help="Unit of Measure (Unit of Measure) is the unit of measurement for Weight",), } + def _get_default_uom(self,cr,uid,c): + uom_categ, uom_categ_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'product', 'product_uom_categ_kgm') + return self.pool.get('product.uom').search(cr, uid, [('category_id', '=', uom_categ_id),('factor','=',1)])[0] _defaults = { - 'weight_uom_id': lambda self,cr,uid,c: self.pool.get('ir.model.data').get_object_reference(cr, uid, 'product', 'product_uom_kgm')[1] + 'weight_uom_id': lambda self,cr,uid,c: self._get_default_uom(cr,uid,c) } stock_move() -- 1.7.10.4