# This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. import datetime from trytond.pool import Pool, PoolMeta from trytond.transaction import Transaction class Product(metaclass=PoolMeta): __name__ = 'product.product' @classmethod def products_by_location(cls, *args, **kwargs): pool = Pool() Location = pool.get('stock.location') context = Transaction().context forecast_location_move = context.get('forecast_location_move', False) if forecast_location_move: date = context.get('stock_date_end') or datetime.date.max restore = Location.forecast_location_move(date) quantities = super().products_by_location(*args, **kwargs) if forecast_location_move: restore() return quantities