diff --git a/CHANGELOG b/CHANGELOG index 9e9731c536..aa915ac287 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Replace Delivery Time by Lead Time on Product Template * New workflow do() for purchase Version 3.8.0 - 2015-11-02 diff --git a/product.py b/product.py index 83cda784b4..3330fc896a 100644 --- a/product.py +++ b/product.py @@ -174,7 +174,7 @@ class ProductSupplier(ModelSQL, ModelView, MatchMixin): ('id', If(Eval('context', {}).contains('company'), '=', '!='), Eval('context', {}).get('company', -1)), ]) - delivery_time = fields.Integer('Delivery Time', help="In number of days") + lead_time = fields.TimeDelta('Lead Time') currency = fields.Many2One('currency.currency', 'Currency', required=True, ondelete='RESTRICT') @@ -220,6 +220,18 @@ class ProductSupplier(ModelSQL, ModelView, MatchMixin): # Migration from 2.6: drop required on delivery_time table.not_null_action('delivery_time', action='remove') + # Migration from 3.8: change delivery_time inte timedelta lead_time + if table.column_exist('delivery_time'): + cursor.execute(*sql_table.select( + sql_table.id, sql_table.delivery_time)) + for id_, delivery_time in cursor.fetchall(): + lead_time = datetime.timedelta(days=delivery_time) + cursor.execute(*sql_table.update( + [sql_table.lead_time], + [lead_time], + where=sql_table.id == id_)) + table.drop_column('delivery_time') + @staticmethod def order_sequence(tables): table, _ = tables[None] @@ -276,9 +288,9 @@ class ProductSupplier(ModelSQL, ModelView, MatchMixin): if not date: date = Date.today() - if self.delivery_time is None: + if self.lead_time is None: return datetime.date.max - return date + datetime.timedelta(self.delivery_time) + return date + self.lead_time def compute_purchase_date(self, date): ''' @@ -286,9 +298,9 @@ class ProductSupplier(ModelSQL, ModelView, MatchMixin): ''' Date = Pool().get('ir.date') - if self.delivery_time is None: + if self.lead_time is None: return Date.today() - return date - datetime.timedelta(self.delivery_time) + return date - self.lead_time @staticmethod def get_pattern(): diff --git a/view/product_supplier_form.xml b/view/product_supplier_form.xml index 3309c80e4b..7c2006cc73 100644 --- a/view/product_supplier_form.xml +++ b/view/product_supplier_form.xml @@ -12,8 +12,8 @@ this repository contains the full copyright notices and license terms. -->