From 9ccddd983f91f5a8517f24feaf09999a0a219dd4 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Wed, 7 Sep 2011 10:37:01 +0530 Subject: [PATCH 1/3] [imp] set product uom default to sale order line and purchase order line bzr revid: han@tinyerp.com-20110907050701-y9goicvip6fqe7mo --- addons/purchase/purchase.py | 6 ++++++ addons/sale/sale.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index c756bf05128..bd3f8256065 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -612,6 +612,11 @@ 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, *args): + cr.execute('select id from product_uom order by id limit 1') + res = cr.fetchone() + return res and res[0] or False + _columns = { 'name': fields.char('Description', size=256, required=True), 'product_qty': fields.float('Quantity', required=True, digits=(16,2)), @@ -639,6 +644,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 2fe965002c6..231fa2cdbf1 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -838,6 +838,11 @@ class sale_order_line(osv.osv): res[line.id] = 1 return res + def _get_uom_id(self, cr, uid, *args): + cr.execute('select id from product_uom order by id limit 1') + res = cr.fetchone() + return res and res[0] or False + _name = 'sale.order.line' _description = 'Sales Order Line' _columns = { @@ -877,6 +882,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, From 672a51b65a8bc755c8b2255945179a765a22bac4 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Wed, 7 Sep 2011 12:20:08 +0530 Subject: [PATCH 2/3] [imp] set default product_uom through xml_id bzr revid: han@tinyerp.com-20110907065008-r9uhal7tdlwnodb0 --- addons/purchase/purchase.py | 10 +++++++--- addons/sale/sale.py | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index bd3f8256065..7d3af70382a 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -613,9 +613,13 @@ class purchase_order_line(osv.osv): return res def _get_uom_id(self, cr, uid, *args): - cr.execute('select id from product_uom order by id limit 1') - res = cr.fetchone() - return res and res[0] or False + model_data = self.pool.get('ir.model.data') + xml_id = 'product_uom_unit' + res = model_data.search(cr,uid, [('name', '=', xml_id)]) + if len(res): + res = model_data.browse(cr, uid, res[0]) + return res.res_id + return False _columns = { 'name': fields.char('Description', size=256, required=True), diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 231fa2cdbf1..a150ceb3469 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -839,9 +839,13 @@ class sale_order_line(osv.osv): return res def _get_uom_id(self, cr, uid, *args): - cr.execute('select id from product_uom order by id limit 1') - res = cr.fetchone() - return res and res[0] or False + model_data = self.pool.get('ir.model.data') + xml_id = 'product_uom_unit' + res = model_data.search(cr, uid, [('name', '=', xml_id)]) + if len(res): + res = model_data.browse(cr,uid,res[0]) + return res.res_id + return False _name = 'sale.order.line' _description = 'Sales Order Line' From 0c8480d7713687e208f162aa29ae49577813af5c Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Wed, 7 Sep 2011 15:23:15 +0530 Subject: [PATCH 3/3] [imp] optimized code bzr revid: han@tinyerp.com-20110907095315-k7o2bm90oprigu63 --- addons/purchase/purchase.py | 7 ++----- addons/sale/sale.py | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 7d3af70382a..4bc537d1478 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -614,11 +614,8 @@ class purchase_order_line(osv.osv): def _get_uom_id(self, cr, uid, *args): model_data = self.pool.get('ir.model.data') - xml_id = 'product_uom_unit' - res = model_data.search(cr,uid, [('name', '=', xml_id)]) - if len(res): - res = model_data.browse(cr, uid, res[0]) - return res.res_id + res = model_data.search(cr,uid, [('name', '=', 'product_uom_unit')]) + if res:return model_data.browse(cr,uid,res[0]).res_id return False _columns = { diff --git a/addons/sale/sale.py b/addons/sale/sale.py index a150ceb3469..f78b814e153 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -840,11 +840,8 @@ class sale_order_line(osv.osv): def _get_uom_id(self, cr, uid, *args): model_data = self.pool.get('ir.model.data') - xml_id = 'product_uom_unit' - res = model_data.search(cr, uid, [('name', '=', xml_id)]) - if len(res): - res = model_data.browse(cr,uid,res[0]) - return res.res_id + res = model_data.search(cr, uid, [('name', '=','product_uom_unit')]) + if res:return model_data.browse(cr,uid,res[0]).res_id return False _name = 'sale.order.line'