diff --git a/issue5575.diff b/issue5575.diff new file mode 100644 index 0000000..43259b4 --- /dev/null +++ b/issue5575.diff @@ -0,0 +1,119 @@ +diff -r 67d5653c0e7a trytond/trytond/modules/stock_supply/__init__.py +--- a/trytond/trytond/modules/stock_supply/__init__.py Thu Jun 02 12:40:58 2016 +0200 ++++ b/trytond/trytond/modules/stock_supply/__init__.py Thu Jun 02 12:44:08 2016 +0200 +@@ -13,6 +13,8 @@ + Pool.register( + OrderPoint, + Product, ++ ProductSupplier, ++ PurchaseConfiguration, + PurchaseRequest, + CreatePurchaseRequestStart, + CreatePurchaseAskParty, +diff -r 67d5653c0e7a trytond/trytond/modules/stock_supply/product.py +--- a/trytond/trytond/modules/stock_supply/product.py Thu Jun 02 12:40:58 2016 +0200 ++++ b/trytond/trytond/modules/stock_supply/product.py Thu Jun 02 12:44:08 2016 +0200 +@@ -1,9 +1,9 @@ + #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.model import fields +-from trytond.pool import PoolMeta ++from trytond.pool import Pool, PoolMeta + +-__all__ = ['Product'] ++__all__ = ['Product', 'ProductSupplier'] + __metaclass__ = PoolMeta + + +@@ -11,3 +11,15 @@ + __name__ = "product.product" + order_points = fields.One2Many( + 'stock.order_point', 'product', 'Order Points') ++ ++ ++class ProductSupplier: ++ __metaclass__ = PoolMeta ++ __name__ = 'purchase.product_supplier' ++ ++ def get_supply_period(self): ++ 'Return the supply period for the purchase request in days' ++ pool = Pool() ++ Configuration = pool.get('purchase.configuration') ++ supply_period = Configuration(1).supply_period ++ return int(Configuration(1).supply_period) if supply_period else 1 +diff -r 67d5653c0e7a trytond/trytond/modules/stock_supply/purchase_request.py +--- a/trytond/trytond/modules/stock_supply/purchase_request.py Thu Jun 02 12:40:58 2016 +0200 ++++ b/trytond/trytond/modules/stock_supply/purchase_request.py Thu Jun 02 12:44:08 2016 +0200 +@@ -10,10 +10,10 @@ + Button + from trytond.pyson import If, In, Eval, Get + from trytond.transaction import Transaction +-from trytond.pool import Pool ++from trytond.pool import Pool, PoolMeta + from trytond.tools import grouped_slice + +-__all__ = ['PurchaseRequest', ++__all__ = ['PurchaseRequest', 'PurchaseConfiguration', + 'CreatePurchaseRequestStart', 'CreatePurchaseRequest', + 'CreatePurchaseAskParty', 'CreatePurchase'] + +@@ -21,6 +21,17 @@ + 'readonly': Eval('state') != 'draft', + } + DEPENDS = ['state'] ++__metaclass__ = PoolMeta ++ ++ ++class PurchaseConfiguration: ++ __name__ = 'purchase.configuration' ++ supply_period = fields.Property(fields.Numeric('Supply Period', ++ help='In number of days', required=True)) ++ ++ @classmethod ++ def default_supply_period(cls): ++ return 1 + + + class PurchaseRequest(ModelSQL, ModelView): +@@ -326,9 +337,8 @@ + + for product_supplier in product.product_suppliers: + supply_date = product_supplier.compute_supply_date(date=today) +- # TODO next_day is by default today + 1 but should depends +- # on the CRON activity +- next_day = today + datetime.timedelta(1) ++ next_day = today + datetime.timedelta( ++ product_supplier.get_supply_period()) + next_supply_date = product_supplier.compute_supply_date( + date=next_day) + if (not min_date) or supply_date < min_date: +diff -r 67d5653c0e7a trytond/trytond/modules/stock_supply/purchase_request.xml +--- a/trytond/trytond/modules/stock_supply/purchase_request.xml Thu Jun 02 12:40:58 2016 +0200 ++++ b/trytond/trytond/modules/stock_supply/purchase_request.xml Thu Jun 02 12:44:08 2016 +0200 +@@ -3,6 +3,12 @@ + this repository contains the full copyright notices and license terms. --> + + ++ ++ purchase.configuration ++ ++ purchase_configuration_form ++ + + + Purchase Request +diff -r 67d5653c0e7a trytond/trytond/modules/stock_supply/view/purchase_configuration_form.xml +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/trytond/trytond/modules/stock_supply/view/purchase_configuration_form.xml Thu Jun 02 12:44:08 2016 +0200 +@@ -0,0 +1,10 @@ ++ ++ ++ ++ ++ ++ diff --git a/series b/series index 9238dd3..312dec7 100644 --- a/series +++ b/series @@ -102,3 +102,4 @@ workflow-performance.diff issue17151002_80001.diff #issue027544_2.diff #issue027544_1.diff +issue5575.diff