details:   https://code.tryton.org/tryton/commit/d9af1c8b229d
branch:    default
user:      Cédric Krier <[email protected]>
date:      Tue Dec 30 17:41:36 2025 +0100
description:
        Fallback to location key from context to compute product quantity

        The location key is used for stock reporting so when browsing from such 
report,
        it is good that the selected location is still used for stock 
calculation.
diffstat:

 modules/stock/product.py |  12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diffs (29 lines):

diff -r 75a9ec77dd93 -r d9af1c8b229d modules/stock/product.py
--- a/modules/stock/product.py  Tue Dec 30 17:42:00 2025 +0100
+++ b/modules/stock/product.py  Tue Dec 30 17:41:36 2025 +0100
@@ -172,15 +172,23 @@
         'get_cost_value')
 
     @classmethod
+    def _quantity_locations(cls):
+        context = Transaction().context
+        location_ids = context.get('locations')
+        if not location_ids and context.get('location'):
+            location_ids = [context['location']]
+        return location_ids
+
+    @classmethod
     def get_quantity(cls, products, name):
-        location_ids = Transaction().context.get('locations')
+        location_ids = cls._quantity_locations()
         product_ids = list(map(int, products))
         return cls._get_quantity(
             products, name, location_ids, grouping_filter=(product_ids,))
 
     @classmethod
     def search_quantity(cls, name, domain=None):
-        location_ids = Transaction().context.get('locations')
+        location_ids = cls._quantity_locations()
         return cls._search_quantity(name, location_ids, domain)
 
     @classmethod

Reply via email to