diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index d58ba4fbd25..2c999cdabe9 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -612,6 +612,14 @@ class purchase_order_line(osv.osv): res[line.id] = cur_obj.round(cr, uid, cur, taxes['total']) return res + def _get_uom_id(self, cr, uid, context=None): + try: + proxy = self.pool.get('ir.model.data') + result = proxy.get_object_reference(cr, uid, 'product', 'product_uom_unit') + return result[1] + except Exception, ex: + return False + _columns = { 'name': fields.char('Description', size=256, required=True), 'product_qty': fields.float('Quantity', required=True, digits=(16,2)), @@ -639,6 +647,7 @@ class purchase_order_line(osv.osv): } _defaults = { + 'product_uom' : _get_uom_id, 'product_qty': lambda *a: 1.0, 'state': lambda *args: 'draft', 'invoiced': lambda *a: 0, diff --git a/addons/sale/sale.py b/addons/sale/sale.py index a37c9331c71..8fb259b1d0f 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -838,6 +838,14 @@ class sale_order_line(osv.osv): res[line.id] = 1 return res + def _get_uom_id(self, cr, uid, *args): + try: + proxy = self.pool.get('ir.model.data') + result = proxy.get_object_reference(cr, uid, 'product', 'product_uom_unit') + return result[1] + except Exception, ex: + return False + _name = 'sale.order.line' _description = 'Sales Order Line' _columns = { @@ -877,6 +885,7 @@ class sale_order_line(osv.osv): } _order = 'sequence, id' _defaults = { + 'product_uom' : _get_uom_id, 'discount': 0.0, 'delay': 0.0, 'product_uom_qty': 1,