diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index 4b3fa9096f8..b646bc1624e 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()