Add issue5575 in 3.4 series - stock_supply: Add configuration for the supply period

This commit is contained in:
Raimon Esteve 2016-06-02 12:51:56 +02:00
parent 58565f847c
commit e0eb74c2f5
2 changed files with 120 additions and 0 deletions

119
issue5575.diff Normal file
View File

@ -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. -->
<tryton>
<data>
+ <record model="ir.ui.view" id="purchase_configuration_view_form">
+ <field name="model">purchase.configuration</field>
+ <field name="inherit"
+ ref="purchase.purchase_configuration_view_form"/>
+ <field name="name">purchase_configuration_form</field>
+ </record>
<record model="res.group" id="group_purchase_request">
<field name="name">Purchase Request</field>
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 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<data>
+ <xpath expr="/form/field[@name='purchase_invoice_method']"
+ position="after">
+ <label name="supply_period"/>
+ <field name="supply_period"/>
+ </xpath>
+</data>

1
series
View File

@ -102,3 +102,4 @@ workflow-performance.diff
issue17151002_80001.diff
#issue027544_2.diff
#issue027544_1.diff
issue5575.diff