diff --git a/addons/stock_account/models/stock.py b/addons/stock_account/models/stock.py index cf4d9176639..cd3c2b62870 100644 --- a/addons/stock_account/models/stock.py +++ b/addons/stock_account/models/stock.py @@ -596,29 +596,3 @@ class StockMove(models.Model): """ return self.env['account.invoice'] - -class StockReturnPicking(models.TransientModel): - _inherit = "stock.return.picking" - - @api.multi - def _create_returns(self): - new_picking_id, pick_type_id = super(StockReturnPicking, self)._create_returns() - new_picking = self.env['stock.picking'].browse([new_picking_id]) - for move in new_picking.move_lines: - return_picking_line = self.product_return_moves.filtered(lambda r: r.move_id == move.origin_returned_move_id) - if return_picking_line and return_picking_line.to_refund: - move.to_refund = True - return new_picking_id, pick_type_id - - def _prepare_stock_return_picking_line_vals_from_move(self, stock_move): - res = super(StockReturnPicking, self)._prepare_stock_return_picking_line_vals_from_move(stock_move) - res['to_refund'] = True - return res - - -class StockReturnPickingLine(models.TransientModel): - _inherit = "stock.return.picking.line" - - to_refund = fields.Boolean(string="Update quantities on SO/PO", help='Trigger a decrease of the delivered/received quantity in the associated Sale Order/Purchase Order') - - diff --git a/addons/stock_account/wizard/__init__.py b/addons/stock_account/wizard/__init__.py index 01b730d1fe4..0d966f31f09 100644 --- a/addons/stock_account/wizard/__init__.py +++ b/addons/stock_account/wizard/__init__.py @@ -3,4 +3,4 @@ from . import stock_change_standard_price from . import stock_quantity_history - +from . import stock_picking_return diff --git a/addons/stock_account/wizard/stock_picking_return.py b/addons/stock_account/wizard/stock_picking_return.py new file mode 100644 index 00000000000..35a9f92ab94 --- /dev/null +++ b/addons/stock_account/wizard/stock_picking_return.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class StockReturnPicking(models.TransientModel): + _inherit = "stock.return.picking" + + @api.model + def default_get(self, default_fields): + res = super(StockReturnPicking, self).default_get(default_fields) + for i, k, vals in res.get('product_return_moves', []): + vals.update({'to_refund': True}) + return res + + def _create_returns(self): + new_picking_id, pick_type_id = super(StockReturnPicking, self)._create_returns() + new_picking = self.env['stock.picking'].browse([new_picking_id]) + for move in new_picking.move_lines: + return_picking_line = self.product_return_moves.filtered(lambda r: r.move_id == move.origin_returned_move_id) + if return_picking_line and return_picking_line.to_refund: + move.to_refund = True + return new_picking_id, pick_type_id + + +class StockReturnPickingLine(models.TransientModel): + _inherit = "stock.return.picking.line" + + to_refund = fields.Boolean(string="Update quantities on SO/PO", help='Trigger a decrease of the delivered/received quantity in the associated Sale Order/Purchase Order') +