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 @@ + + + + + +