diff --git a/sale_stock_available_to_promise_release_block/models/sale_order.py b/sale_stock_available_to_promise_release_block/models/sale_order.py index ac1b385d50..1c81e774bb 100644 --- a/sale_stock_available_to_promise_release_block/models/sale_order.py +++ b/sale_stock_available_to_promise_release_block/models/sale_order.py @@ -100,4 +100,7 @@ def action_confirm(self): self.env["unblock.release"]._reschedule_moves( order.move_to_unblock_ids, date_deadline, from_order=order ) + # Unblock the release + if not order.block_release: + order.move_to_unblock_ids.action_unblock_release() return super().action_confirm() diff --git a/sale_stock_available_to_promise_release_block/tests/test_sale_block_release.py b/sale_stock_available_to_promise_release_block/tests/test_sale_block_release.py index a56b542bee..700036b446 100644 --- a/sale_stock_available_to_promise_release_block/tests/test_sale_block_release.py +++ b/sale_stock_available_to_promise_release_block/tests/test_sale_block_release.py @@ -86,6 +86,9 @@ def test_unblock_release_contextual(self): for m in (existing_moves | new_moves) ) ) + self.assertTrue( + all(not m.release_blocked for m in (existing_moves | new_moves)) + ) def test_unblock_release_contextual_different_shipping_policy(self): self._set_stock(self.line.product_id, self.line.product_uom_qty) @@ -134,6 +137,9 @@ def test_unblock_release_contextual_different_shipping_policy(self): for m in (existing_moves | new_moves) ) ) + self.assertTrue( + all(not m.release_blocked for m in (existing_moves | new_moves)) + ) self.assertEqual( existing_moves.group_id.move_type, new_moves.group_id.move_type )