diff --git a/stock_reserve_sale/__manifest__.py b/stock_reserve_sale/__manifest__.py index d9915b2d1..bcb594198 100644 --- a/stock_reserve_sale/__manifest__.py +++ b/stock_reserve_sale/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Stock Reserve Sales", - "version": "13.0.1.0.0", + "version": "13.0.1.1.0", "author": "Camptocamp, Odoo Community Association (OCA)", "category": "Warehouse", "license": "AGPL-3", diff --git a/stock_reserve_sale/migrations/13.0.1.1.0/post-migration.py b/stock_reserve_sale/migrations/13.0.1.1.0/post-migration.py new file mode 100644 index 000000000..d08ac46af --- /dev/null +++ b/stock_reserve_sale/migrations/13.0.1.1.0/post-migration.py @@ -0,0 +1,12 @@ +# Copyright 2022 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + orders = env["sale.order"].search( + [("state", "=", "sent"), ("is_stock_reservable", "=", False)] + ) + orders._compute_stock_reservation() diff --git a/stock_reserve_sale/model/sale.py b/stock_reserve_sale/model/sale.py index f7b07fe2e..56628ac55 100644 --- a/stock_reserve_sale/model/sale.py +++ b/stock_reserve_sale/model/sale.py @@ -157,7 +157,7 @@ class SaleOrderLine(models.Model): reservable = False if ( not ( - line.state != "draft" + line.state not in ("draft", "sent") or line._get_procure_method() == "make_to_order" or not line.product_id or line.product_id.type == "service"