details: https://code.tryton.org/tryton/commit/5d25b7c181fe
branch: 7.0
user: Adrià Tarroja Caubet <[email protected]>
date: Fri Jul 24 10:12:57 2026 +0200
description:
Do not create a production request when quantities are the same
If the available quantity is exactly the same as the quantity sold,
there is no
need to create a production request.
Closes #14585
(grafted from 61abfaa01954f661128f014171686a6512ffe630)
diffstat:
modules/sale_supply_production/sale.py
| 2 +-
modules/sale_supply_production/tests/scenario_sale_supply_production_stock_first.rst
| 18 ++++++++++
2 files changed, 19 insertions(+), 1 deletions(-)
diffs (37 lines):
diff -r 8bf121028fc7 -r 5d25b7c181fe modules/sale_supply_production/sale.py
--- a/modules/sale_supply_production/sale.py Fri Jul 17 11:40:28 2026 +0200
+++ b/modules/sale_supply_production/sale.py Fri Jul 24 10:12:57 2026 +0200
@@ -89,7 +89,7 @@
available_qty = Uom.compute_qty(
product.default_uom, available_qty, self.unit,
round=False)
- if quantity < available_qty:
+ if quantity <= available_qty:
product_quantities[product] -= Uom.compute_qty(
self.unit, quantity, product.default_uom, round=False)
return
diff -r 8bf121028fc7 -r 5d25b7c181fe
modules/sale_supply_production/tests/scenario_sale_supply_production_stock_first.rst
---
a/modules/sale_supply_production/tests/scenario_sale_supply_production_stock_first.rst
Fri Jul 17 11:40:28 2026 +0200
+++
b/modules/sale_supply_production/tests/scenario_sale_supply_production_stock_first.rst
Fri Jul 24 10:12:57 2026 +0200
@@ -109,3 +109,21 @@
>>> move, = line.moves
>>> move.state
'staging'
+
+Sale remaining 2 products without production request::
+
+ >>> sale = Sale()
+ >>> sale.party = customer
+ >>> line = sale.lines.new()
+ >>> line.product = product
+ >>> line.quantity = 2
+ >>> sale.click('quote')
+ >>> sale.click('confirm')
+ >>> sale.state
+ 'processing'
+ >>> line, = sale.lines
+ >>> len(line.productions)
+ 0
+ >>> move, = line.moves
+ >>> move.state
+ 'draft'