[IMP] stock: allow to change picking on returns

The code that generate the return lines is moved inside
an onchange. The purpose is to allow an inherit that will
modify the picking_id of the wizard. It should trigger the
new return lines without a call to default_get.

task_id 1909413
This commit is contained in:
Arnold Moyaux
2019-03-20 14:22:09 +00:00
parent 8a7b6a4f9c
commit 277e32d2dc
14 changed files with 140 additions and 124 deletions
@@ -1,10 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.tests import common, Form
from odoo.tests.common import Form, TransactionCase
class TestSaleMrpFlow(common.TransactionCase):
class TestSaleMrpFlow(TransactionCase):
def setUp(self):
super(TestSaleMrpFlow, self).setUp()
@@ -355,14 +355,10 @@ class TestSaleMrpFlow(common.TransactionCase):
self.assertEquals(order_line.qty_received, 7.0)
# Return all components processed by backorder_3
default_data = self.env['stock.return.picking'].with_context(
active_ids=backorder_3.ids,
active_id=backorder_3.ids[0]
).default_get(['move_dest_exists', 'original_location_id', 'product_return_moves', 'parent_location_id', 'location_id'])
return_wiz = self.env['stock.return.picking'].with_context(
active_ids=backorder_3.ids,
active_id=backorder_3.ids[0]
).create(default_data)
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=backorder_3.ids, active_id=backorder_3.ids[0],
active_model='stock.picking'))
return_wiz = stock_return_picking_form.save()
for return_move in return_wiz.product_return_moves:
return_move.write({
'quantity': expected_quantities[return_move.product_id],
@@ -379,14 +375,10 @@ class TestSaleMrpFlow(common.TransactionCase):
# Now quantity received should be 3 again
self.assertEquals(order_line.qty_received, 3)
default_data = self.env['stock.return.picking'].with_context(
active_ids=return_pick.ids,
active_id=return_pick.ids[0]
).default_get(['move_dest_exists', 'original_location_id', 'product_return_moves', 'parent_location_id', 'location_id'])
return_wiz = self.env['stock.return.picking'].with_context(
active_ids=return_pick.ids,
active_id=return_pick.ids[0]
).create(default_data)
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=return_pick.ids, active_id=return_pick.ids[0],
active_model='stock.picking'))
return_wiz = stock_return_picking_form.save()
for move in return_wiz.product_return_moves:
move.quantity = expected_quantities[move.product_id]
res = return_wiz.create_returns()
@@ -6,7 +6,7 @@ from datetime import datetime
import time
from odoo.addons.stock_account.tests.test_anglo_saxon_valuation_reconciliation_common import ValuationReconciliationTestCase
from odoo.tests import tagged
from odoo.tests.common import Form, tagged
@tagged('post_install', '-at_install')
@@ -113,8 +113,10 @@ class TestValuationReconciliation(ValuationReconciliationTestCase):
})
# Return the goods and refund the invoice
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=[picking.id], active_id=picking.id).create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking.ids, active_id=picking.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -3,7 +3,7 @@
import time
from .common import TestPurchase
from odoo.tests.common import Form
class TestFifoReturns(TestPurchase):
@@ -72,8 +72,10 @@ class TestFifoReturns(TestPurchase):
# Return the goods of purchase order 2
picking = purchase_order_2.picking_ids[0]
return_pick_wiz = self.env['stock.return.picking'].with_context(
active_model='stock.picking', active_id=picking.id).create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking.ids, active_id=picking.ids[0],
active_model='stock.picking'))
return_pick_wiz = stock_return_picking_form.save()
return_picking_id, dummy = return_pick_wiz.with_context(active_id=picking.id)._create_returns()
# Important to pass through confirmation and assignation
@@ -5,7 +5,7 @@ from datetime import datetime
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
from odoo.addons.account.tests.account_test_classes import AccountingTestCase
from odoo.tests import tagged
from odoo.tests import Form, tagged
@tagged('post_install', '-at_install')
@@ -129,11 +129,12 @@ class TestPurchaseOrder(AccountingTestCase):
self.assertEqual(received_qty, 10.0, 'Purchase: Received quantity should be 10.0 instead of %s after validating incoming shipment' % received_qty)
# Create return picking
StockReturnPicking = self.env['stock.return.picking']
pick = self.po.picking_ids
default_data = StockReturnPicking.with_context(active_ids=pick.ids, active_id=pick.ids[0]).default_get(['move_dest_exists', 'original_location_id', 'product_return_moves', 'parent_location_id', 'location_id'])
return_wiz = StockReturnPicking.with_context(active_ids=pick.ids, active_id=pick.ids[0]).create(default_data)
return_wiz.product_return_moves.write({'quantity': 2.0, 'to_refund': True}) # Return only 2
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=pick.ids, active_id=pick.ids[0],
active_model='stock.picking'))
return_wiz = stock_return_picking_form.save()
return_wiz.product_return_moves.write({'quantity': 2.0, 'to_refund': True}) # Return only 2
res = return_wiz.create_returns()
return_pick = self.env['stock.picking'].browse(res['res_id'])
@@ -391,9 +391,10 @@ class TestStockValuationWithCOA(AccountingTestCase):
self.assertEqual(self.product1.stock_value, 300)
# return the second po
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=receipt_po2.ids, active_id=receipt_po2.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=receipt_po2.ids, active_id=receipt_po2.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 10
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
+8 -8
View File
@@ -921,10 +921,10 @@ class TestSaleMrpFlow(common.TransactionCase):
self.assertEquals(order_line.qty_delivered, 7.0)
# Return all components processed by backorder_3
StockReturnPicking = self.env['stock.return.picking']
default_data = StockReturnPicking.with_context(active_ids=backorder_3.ids, active_id=backorder_3.ids[0]).default_get(
['move_dest_exists', 'original_location_id', 'product_return_moves', 'parent_location_id', 'location_id'])
return_wiz = StockReturnPicking.with_context(active_ids=backorder_3.ids, active_id=backorder_3.ids[0]).create(default_data)
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=backorder_3.ids, active_id=backorder_3.ids[0],
active_model='stock.picking'))
return_wiz = stock_return_picking_form.save()
for return_move in return_wiz.product_return_moves:
return_move.write({
'quantity': expected_quantities[return_move.product_id],
@@ -941,10 +941,10 @@ class TestSaleMrpFlow(common.TransactionCase):
# Now quantity delivered should be 3 again
self.assertEquals(order_line.qty_delivered, 3)
default_data = StockReturnPicking.with_context(active_ids=return_pick.ids, active_id=return_pick.ids[0]).default_get(
['move_dest_exists', 'original_location_id', 'product_return_moves', 'parent_location_id', 'location_id'])
return_wiz = StockReturnPicking.with_context(active_ids=return_pick.ids, active_id=return_pick.ids[0]).create(
default_data)
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=return_pick.ids, active_id=return_pick.ids[0],
active_model='stock.picking'))
return_wiz = stock_return_picking_form.save()
for move in return_wiz.product_return_moves:
move.quantity = expected_quantities[move.product_id]
res = return_wiz.create_returns()
@@ -4,7 +4,7 @@
import time
from odoo.addons.stock_account.tests.test_anglo_saxon_valuation_reconciliation_common import ValuationReconciliationTestCase
from odoo.tests import tagged
from odoo.tests import Form, tagged
@tagged('post_install', '-at_install')
@@ -139,8 +139,10 @@ class TestValuationReconciliation(ValuationReconciliationTestCase):
'rate': 10.54739702,
'name': '2018-03-01',
})
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=[picking.id], active_id=picking.id).create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking.ids, active_id=picking.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
+5 -4
View File
@@ -3,7 +3,7 @@
from odoo.addons.sale.tests.test_sale_common import TestSale
from odoo.exceptions import UserError
from odoo.tests import tagged
from odoo.tests import Form, tagged
@tagged('post_install', '-at_install')
@@ -159,9 +159,10 @@ class TestSaleStock(TestSale):
self.inv_1.action_invoice_open()
# Create return picking
StockReturnPicking = self.env['stock.return.picking']
default_data = StockReturnPicking.with_context(active_ids=pick.ids, active_id=pick.ids[0]).default_get(['move_dest_exists', 'original_location_id', 'product_return_moves', 'parent_location_id', 'location_id'])
return_wiz = StockReturnPicking.with_context(active_ids=pick.ids, active_id=pick.ids[0]).create(default_data)
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=pick.ids, active_id=pick.ids[0],
active_model='stock.picking'))
return_wiz = stock_return_picking_form.save()
return_wiz.product_return_moves.quantity = 2.0 # Return only 2
return_wiz.product_return_moves.to_refund = True # Refund these 2
res = return_wiz.create_returns()
+39 -30
View File
@@ -3,8 +3,7 @@
from odoo.addons.stock.tests.common import TestStockCommon
from odoo.exceptions import UserError
from odoo import api, registry
from odoo.tests.common import TransactionCase
from odoo.tests import Form
class TestPickShip(TestStockCommon):
@@ -174,10 +173,12 @@ class TestPickShip(TestStockCommon):
self.assertEqual(picking_client.state, 'assigned')
# return a part of what we've done
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0])\
.create({})
stock_return_picking.product_return_moves.quantity = 2.0 # Return only 2
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 2.0 # Return only 2
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
return_pick.move_lines[0].move_line_ids[0].qty_done = 2.0
@@ -197,9 +198,10 @@ class TestPickShip(TestStockCommon):
self.assertEqual(picking_client.state, 'assigned')
# return more than we've done
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 12.0 # Return 2 extra
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -440,18 +442,20 @@ class TestPickShip(TestStockCommon):
output. This return should not be available and should only have
picking pick as origin move.
"""
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 10.0
stock_return_picking_action = stock_return_picking.create_returns()
return_pick_picking = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
self.assertEqual(return_pick_picking.state, 'waiting')
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_ship.ids, active_id=picking_ship.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_ship.ids, active_id=picking_ship.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 10.0
stock_return_picking_action = stock_return_picking.create_returns()
return_ship_picking = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -514,9 +518,10 @@ class TestPickShip(TestStockCommon):
picking_ship.move_lines[0].move_line_ids[0].qty_done = 1.0
picking_ship.action_done()
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_ship.ids, active_id=picking_ship.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_ship.ids, active_id=picking_ship.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0
stock_return_picking_action = stock_return_picking.create_returns()
return_ship_picking = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -527,9 +532,10 @@ class TestPickShip(TestStockCommon):
})
return_ship_picking.action_done()
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_pack.ids, active_id=picking_pack.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_pack.ids, active_id=picking_pack.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0
stock_return_picking_action = stock_return_picking.create_returns()
return_pack_picking = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -537,9 +543,10 @@ class TestPickShip(TestStockCommon):
return_pack_picking.move_lines[0].move_line_ids[0].qty_done = 1.0
return_pack_picking.action_done()
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_pick.ids, active_id=picking_pick.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0
stock_return_picking_action = stock_return_picking.create_returns()
return_pick_picking = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -680,9 +687,10 @@ class TestPickShip(TestStockCommon):
picking_client.action_done()
# return half in the pick location
return1 = self.env['stock.return.picking']\
.with_context(active_ids=picking_pick.ids, active_id=picking_client.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_client.ids, active_id=picking_client.ids[0],
active_model='stock.picking'))
return1 = stock_return_picking_form.save()
return1.product_return_moves.quantity = 5.0
return1.location_id = pick_location.id
return_to_pick_picking_action = return1.create_returns()
@@ -692,9 +700,10 @@ class TestPickShip(TestStockCommon):
return_to_pick_picking.action_done()
# return the remainig products in the return warehouse
return2 = self.env['stock.return.picking']\
.with_context(active_ids=picking_pick.ids, active_id=picking_client.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_client.ids, active_id=picking_client.ids[0],
active_model='stock.picking'))
return2 = stock_return_picking_form.save()
return2.product_return_moves.quantity = 5.0
return2.location_id = return_location.id
return_to_return_picking_action = return2.create_returns()
+4 -3
View File
@@ -158,9 +158,10 @@ class TestWarehouse(TestStockCommon):
quant = self.env['stock.quant'].search([('product_id', '=', productA.id), ('location_id', '=', stock_location.id)])
self.assertEqual(len(quant), 1)
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=picking_out.ids, active_id=picking_out.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=picking_out.ids, active_id=picking_out.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
+37 -36
View File
@@ -23,6 +23,17 @@ class ReturnPicking(models.TransientModel):
_name = 'stock.return.picking'
_description = 'Return Picking'
@api.model
def default_get(self, fields):
if len(self.env.context.get('active_ids', list())) > 1:
raise UserError(_("You may only return one picking at a time."))
res = super(ReturnPicking, self).default_get(fields)
if self.env.context.get('active_id') and self.env.context.get('active_model') == 'stock.picking':
picking = self.env['stock.picking'].browse(self.env.context.get('active_id'))
if picking.exists():
res.update({'picking_id': picking.id})
return res
picking_id = fields.Many2one('stock.picking')
product_return_moves = fields.One2many('stock.return.picking.line', 'wizard_id', 'Moves')
move_dest_exists = fields.Boolean('Chained Move Exists', readonly=True)
@@ -32,45 +43,35 @@ class ReturnPicking(models.TransientModel):
'stock.location', 'Return Location',
domain="['|', ('id', '=', original_location_id), ('return_location', '=', True)]")
@api.model
def default_get(self, fields):
if len(self.env.context.get('active_ids', list())) > 1:
raise UserError(_("You may only return one picking at a time."))
res = super(ReturnPicking, self).default_get(fields)
@api.onchange('picking_id')
def _onchange_picking_id(self):
move_dest_exists = False
product_return_moves = []
picking = self.env['stock.picking'].browse(self.env.context.get('active_id'))
if picking:
res.update({'picking_id': picking.id})
if picking.state != 'done':
raise UserError(_("You may only return Done pickings."))
for move in picking.move_lines:
if move.scrapped:
continue
if move.move_dest_ids:
move_dest_exists = True
quantity = move.product_qty - sum(move.move_dest_ids.filtered(lambda m: m.state in ['partially_available', 'assigned', 'done']).\
mapped('move_line_ids').mapped('product_qty'))
quantity = float_round(quantity, precision_rounding=move.product_uom.rounding)
product_return_moves.append((0, 0, {'product_id': move.product_id.id, 'quantity': quantity, 'move_id': move.id, 'uom_id': move.product_id.uom_id.id}))
if self.picking_id and self.picking_id.state != 'done':
raise UserError(_("You may only return Done pickings."))
for move in self.picking_id.move_lines:
if move.scrapped:
continue
if move.move_dest_ids:
move_dest_exists = True
quantity = move.product_qty - sum(move.move_dest_ids
.filtered(lambda m: m.state in ['partially_available', 'assigned', 'done'])
.mapped('move_line_ids').mapped('product_qty')
)
quantity = float_round(quantity, precision_rounding=move.product_uom.rounding)
product_return_moves.append((0, 0, {'product_id': move.product_id.id, 'quantity': quantity, 'move_id': move.id, 'uom_id': move.product_id.uom_id.id}))
if not product_return_moves:
raise UserError(_("No products to return (only lines in Done state and not fully returned yet can be returned)."))
if 'product_return_moves' in fields:
res.update({'product_return_moves': product_return_moves})
if 'move_dest_exists' in fields:
res.update({'move_dest_exists': move_dest_exists})
if 'parent_location_id' in fields and picking.location_id.usage == 'internal':
res.update({'parent_location_id': picking.picking_type_id.warehouse_id and picking.picking_type_id.warehouse_id.view_location_id.id or picking.location_id.location_id.id})
if 'original_location_id' in fields:
res.update({'original_location_id': picking.location_id.id})
if 'location_id' in fields:
location_id = picking.location_id.id
if picking.picking_type_id.return_picking_type_id.default_location_dest_id.return_location:
location_id = picking.picking_type_id.return_picking_type_id.default_location_dest_id.id
res['location_id'] = location_id
return res
if self.picking_id and not product_return_moves:
raise UserError(_("No products to return (only lines in Done state and not fully returned yet can be returned)."))
if self.picking_id:
self.product_return_moves = product_return_moves
self.move_dest_exists = move_dest_exists
self.parent_location_id = self.picking_id.picking_type_id.warehouse_id and self.picking_id.picking_type_id.warehouse_id.view_location_id.id or self.picking_id.location_id.location_id.id
self.original_location_id = self.picking_id.location_id.id
location_id = self.picking_id.location_id.id
if self.picking_id.picking_type_id.return_picking_type_id.default_location_dest_id.return_location:
location_id = self.picking_id.picking_type_id.return_picking_type_id.default_location_dest_id.id
self.location_id = location_id
def _prepare_move_default_values(self, return_line, new_picking):
vals = {
@@ -10,6 +10,7 @@
<field name="arch" type="xml">
<form>
<field name="move_dest_exists" invisible="1"/>
<field name="picking_id" invisible="1"/>
<group attrs="{'invisible': [('move_dest_exists', '=', False)]}">
<div class="oe_grey">
<p>This picking appears to be chained with another operation. Later, if you receive the goods you are returning now, make sure to <b>reverse</b> the returned picking in order to avoid logistic rules to be applied again (which would create duplicated operations)</p>
@@ -21,6 +22,7 @@
<field name="product_id" options="{'no_create': True, 'no_open': True}" force_save="1"/>
<field name="quantity"/>
<field name="uom_id" readonly="1" groups="uom.group_uom"/>
<field name="move_id" invisible="1"/>
</tree>
</field>
</group>
@@ -5,7 +5,7 @@ from datetime import timedelta
from odoo.exceptions import UserError
from odoo.fields import Date, Datetime
from odoo.tests.common import TransactionCase
from odoo.tests.common import Form, TransactionCase
class TestStockValuation(TransactionCase):
@@ -1206,9 +1206,10 @@ class TestStockValuation(TransactionCase):
self.assertEqual(self.product1.standard_price, 16)
# return
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=[out_pick.id], active_id=out_pick.id)\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=out_pick.ids, active_id=out_pick.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking.product_return_moves.quantity = 1.0 # Return only 2
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
@@ -2,7 +2,7 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.addons.account.tests.account_test_classes import AccountingTestCase
from odoo.tests import tagged
from odoo.tests import Form, tagged
@tagged('post_install', '-at_install')
class TestStockValuation(AccountingTestCase):
@@ -278,9 +278,10 @@ class TestStockValuation(AccountingTestCase):
all_amls = self._dropship_product1()
# return what we've done
stock_return_picking = self.env['stock.return.picking']\
.with_context(active_ids=self.sale_order1.picking_ids.ids, active_id=self.sale_order1.picking_ids.ids[0])\
.create({})
stock_return_picking_form = Form(self.env['stock.return.picking']
.with_context(active_ids=self.sale_order1.picking_ids.ids, active_id=self.sale_order1.picking_ids.ids[0],
active_model='stock.picking'))
stock_return_picking = stock_return_picking_form.save()
stock_return_picking_action = stock_return_picking.create_returns()
return_pick = self.env['stock.picking'].browse(stock_return_picking_action['res_id'])
return_pick.move_lines[0].move_line_ids[0].qty_done = 1.0