first commit
This commit is contained in:
29
modules/sale_supply_drop_shipment/product.py
Normal file
29
modules/sale_supply_drop_shipment/product.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.tools import grouped_slice
|
||||
|
||||
|
||||
class Product(metaclass=PoolMeta):
|
||||
__name__ = 'product.product'
|
||||
|
||||
@classmethod
|
||||
def recompute_cost_price(cls, products, start=None):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Shipment = pool.get('stock.shipment.drop')
|
||||
shipments = set()
|
||||
for sub_products in grouped_slice(products):
|
||||
domain = [
|
||||
('unit_price_updated', '=', True),
|
||||
cls._domain_moves_cost(),
|
||||
('product', 'in', [p.id for p in sub_products]),
|
||||
('shipment', 'like', 'stock.shipment.drop,%'),
|
||||
]
|
||||
if start:
|
||||
domain.append(('effective_date', '>=', start))
|
||||
for move in Move.search(domain, order=[]):
|
||||
shipments.add(move.shipment)
|
||||
shipments = Shipment.browse(list(shipments))
|
||||
Shipment.set_cost(shipments)
|
||||
super().recompute_cost_price(products, start=start)
|
||||
Reference in New Issue
Block a user