[FIX] rma_repair: repair_stock_move conflict

This commit is contained in:
DavidJForgeFlow
2023-03-09 19:47:06 +01:00
committed by JasminSForgeFlow
parent 6e4e6df74b
commit 04766b4d1b
2 changed files with 26 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ class TestRmaRepair(common.SingleTransactionCase):
cls.rma_op = cls.env["rma.operation"] cls.rma_op = cls.env["rma.operation"]
cls.rma_add_invoice_wiz = cls.env["rma_add_account_move"] cls.rma_add_invoice_wiz = cls.env["rma_add_account_move"]
cls.rma_make_repair_wiz = cls.env["rma.order.line.make.repair"] cls.rma_make_repair_wiz = cls.env["rma.order.line.make.repair"]
cls.rma_make_picking = cls.env["rma_make_picking.wizard"]
cls.repair_line_obj = cls.env["repair.line"] cls.repair_line_obj = cls.env["repair.line"]
cls.acc_obj = cls.env["account.account"] cls.acc_obj = cls.env["account.account"]
cls.inv_obj = cls.env["account.move"] cls.inv_obj = cls.env["account.move"]
@@ -153,6 +154,14 @@ class TestRmaRepair(common.SingleTransactionCase):
cls.material.product_tmpl_id.standard_price = 10 cls.material.product_tmpl_id.standard_price = 10
cls.stock_location = cls.env.ref("stock.stock_location_stock") cls.stock_location = cls.env.ref("stock.stock_location_stock")
cls.env["stock.quant"].create(
{
"product_id": cls.material.id,
"location_id": cls.stock_location.id,
"quantity": 10,
}
)
def test_01_add_from_invoice_customer(self): def test_01_add_from_invoice_customer(self):
"""Test wizard to create RMA from a customer invoice.""" """Test wizard to create RMA from a customer invoice."""
add_inv = self.rma_add_invoice_wiz.with_context( add_inv = self.rma_add_invoice_wiz.with_context(
@@ -239,6 +248,21 @@ class TestRmaRepair(common.SingleTransactionCase):
rma._onchange_operation_id() rma._onchange_operation_id()
rma.action_rma_to_approve() rma.action_rma_to_approve()
rma.action_rma_approve() rma.action_rma_approve()
wizard = self.rma_make_picking.with_context(
**{
"active_ids": rma.id,
"active_model": "rma.order.line",
"picking_type": "incoming",
"active_id": 1,
}
).create({})
wizard._create_picking()
res = rma.action_view_in_shipments()
picking = self.env["stock.picking"].browse(res["res_id"])
picking.action_assign()
for mv in picking.move_ids:
mv.quantity_done = mv.product_uom_qty
picking._action_done()
self.assertEqual(rma.qty_to_deliver, 0.0) self.assertEqual(rma.qty_to_deliver, 0.0)
make_repair = self.rma_make_repair_wiz.with_context( make_repair = self.rma_make_repair_wiz.with_context(
**{ **{

View File

@@ -13,6 +13,7 @@
class="oe_stat_button" class="oe_stat_button"
icon="fa-wrench" icon="fa-wrench"
groups="stock.group_stock_user" groups="stock.group_stock_user"
attrs="{'invisible':[('repair_count','=',0)]}"
> >
<field <field
name="repair_count" name="repair_count"
@@ -22,7 +23,7 @@
</button> </button>
</div> </div>
<group name="quantities" position="inside"> <group name="quantities" position="inside">
<group> <group attrs="{'invisible': [('repair_type', '=', 'no')]}">
<field name="qty_to_repair" /> <field name="qty_to_repair" />
<field name="qty_under_repair" /> <field name="qty_under_repair" />
<field name="qty_to_pay" /> <field name="qty_to_pay" />