From f7a87d9f8a41ada4b173570cf163a1075409cde9 Mon Sep 17 00:00:00 2001 From: DJ Patel Date: Wed, 9 Apr 2014 14:55:51 +0530 Subject: [PATCH] [ADD] stock_landed_costs : Added the onchange method on pickings to automatically fill the valuation adjustment lines. bzr revid: mdi@tinyerp.com-20140409092551-np8ctmmx5wpfibaw --- .../stock_landed_costs/stock_landed_costs.py | 21 +++++++++++++++++++ .../stock_landed_costs_view.xml | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/addons/stock_landed_costs/stock_landed_costs.py b/addons/stock_landed_costs/stock_landed_costs.py index 73e47e84aa9..11ead0ab85e 100644 --- a/addons/stock_landed_costs/stock_landed_costs.py +++ b/addons/stock_landed_costs/stock_landed_costs.py @@ -44,6 +44,27 @@ class stock_landed_cost(osv.osv): result[line.cost_id.id] = True return result.keys() + def onchange_pickings(self, cr, uid, ids, picking_ids=None): + result = {'valuation_adjustment_lines': []} + line_obj = self.pool.get('stock.valuation.adjustment.lines') + picking_obj = self.pool.get('stock.picking') + lines = [] + + for cost in self.browse(cr, uid, ids): + line_ids = [line.id for line in cost.valuation_adjustment_lines] + line_obj.unlink(cr, uid, line_ids) + + picking_ids = picking_ids and picking_ids[0][2] or False + if not picking_ids: + return {'value': result} + + for picking in picking_obj.browse(cr, uid, picking_ids): + for move in picking.move_lines: + vals = dict(product_id = move.product_id.id, quantity = move.product_uom_qty, former_cost = move.product_uom_qty * move.price_unit) + lines.append(vals) + result['valuation_adjustment_lines'] = lines + return {'value': result} + _columns = { 'name': fields.char('Name', size=256, required=True), 'date': fields.datetime('Date', required=True), diff --git a/addons/stock_landed_costs/stock_landed_costs_view.xml b/addons/stock_landed_costs/stock_landed_costs_view.xml index db26d329c43..89efd8cc38c 100644 --- a/addons/stock_landed_costs/stock_landed_costs_view.xml +++ b/addons/stock_landed_costs/stock_landed_costs_view.xml @@ -25,7 +25,8 @@ - +