From cbf69ba9386ba60072f83d23f560e18c04dcce85 Mon Sep 17 00:00:00 2001 From: "sbh (Open ERP)" Date: Wed, 15 Sep 2010 16:55:08 +0530 Subject: [PATCH] [Fix] stock : Move the sale and purchase related code in to there module bzr revid: sbh@tinyerp.com-20100915112508-9eq3w14bjylgzd7x --- addons/purchase/stock.py | 24 ++++++++++++++++++++ addons/sale/stock.py | 24 ++++++++++++++++++++ addons/stock/wizard/stock_partial_picking.py | 11 --------- 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py index e84a70d1b93..a269f66d525 100644 --- a/addons/purchase/stock.py +++ b/addons/purchase/stock.py @@ -102,5 +102,29 @@ class stock_picking(osv.osv): stock_picking() +class stock_partial_picking(osv.osv_memory): + _inherit = 'stock.partial.picking' + + def default_get(self, cr, uid, fields, context=None): + """ To get default values for the object. + @param self: The object pointer. + @param cr: A database cursor + @param uid: ID of the user currently logged in + @param fields: List of fields for which we want default values + @param context: A standard dictionary + @return: A dictionary which of fields with values. + """ + pick_obj = self.pool.get('stock.picking') + res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context) + for pick in pick_obj.browse(cr, uid, context.get('active_ids', [])): + for m in pick.move_lines: + if (m.product_id.cost_method == 'average'): + if pick.type == 'in' and pick.purchase_id: + if m.sale_line_id: + res['move%s_product_price'%(m.id)] = m.purchase_line_id.price_unit + if pick.sale_id: + res['move%s_product_currency'%(m.id)] = pick.purchase_line_id.pricelist_id.currency_id.id + return res +stock_partial_picking() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/sale/stock.py b/addons/sale/stock.py index b5c0e10e75d..1d53b8b8754 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -209,4 +209,28 @@ class stock_picking(osv.osv): stock_picking() +class stock_partial_picking(osv.osv_memory): + _inherit = 'stock.partial.picking' + + def default_get(self, cr, uid, fields, context=None): + """ To get default values for the object. + @param self: The object pointer. + @param cr: A database cursor + @param uid: ID of the user currently logged in + @param fields: List of fields for which we want default values + @param context: A standard dictionary + @return: A dictionary which of fields with values. + """ + pick_obj = self.pool.get('stock.picking') + res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context) + for pick in pick_obj.browse(cr, uid, context.get('active_ids', [])): + for m in pick.move_lines: + if (m.product_id.cost_method == 'average'): + if pick.type == 'out' and pick.sale_id: + if m.sale_line_id: + res['move%s_product_price'%(m.id)] = m.sale_line_id.price_unit + if pick.sale_id: + res['move%s_product_currency'%(m.id)] = pick.sale_id.pricelist_id.currency_id.id + return res +stock_partial_picking() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/addons/stock/wizard/stock_partial_picking.py b/addons/stock/wizard/stock_partial_picking.py index bbf7e86fc7f..bbc9021d87c 100644 --- a/addons/stock/wizard/stock_partial_picking.py +++ b/addons/stock/wizard/stock_partial_picking.py @@ -171,20 +171,9 @@ class stock_partial_picking(osv.osv_memory): res['move%s_product_uom'%(m.id)] = m.product_uom.id if 'move%s_prodlot_id'%(m.id) in fields: res['move%s_prodlot_id'%(m.id)] = m.prodlot_id.id - if (m.product_id.cost_method == 'average'): currency = False price = m.product_id.standard_price - if (pick.type == 'in') and 'purchase_id' in pick._columns.keys(): - if hasattr(m, 'purchase_line_id') and m.purchase_line_id: - price = m.purchase_line_id.price_unit - if hasattr(pick, 'purchase_id') and pick.purchase_id: - currency = pick.purchase_id.pricelist_id.currency_id.id - if (pick.type == 'out') and 'sale_id' in pick._columns.keys(): - if hasattr(m, 'sale_line_id') and m.sale_line_id: - price = m.sale_line_id.price_unit - if hasattr(pick, 'sale_id') and pick.sale_id: - currency = pick.sale_id.pricelist_id.currency_id.id if 'move%s_product_price'%(m.id) in fields: res['move%s_product_price'%(m.id)] = price if 'move%s_product_currency'%(m.id) in fields: