From 682a648be08c0ddf0e0852c525558950a12e27a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 5 Apr 2017 15:02:23 +0200 Subject: [PATCH] [REF] purchase: use config parameter instead of ir values in settings Fields like `default_foo` still used ir.values although those are system-wide parameters and should therefore be stored in ir.config_parameter table. When no default_model is set on a field, don't prefix it by `default_`. Also, reset po_lead when use_po_lead is unchecked to avoid it to be used it further computations. --- .../purchase/models/stock_config_settings.py | 18 +++++++++++++++++- .../views/stock_config_settings_views.xml | 6 +++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/addons/purchase/models/stock_config_settings.py b/addons/purchase/models/stock_config_settings.py index d69b07bc8bb..9d0adc9466d 100644 --- a/addons/purchase/models/stock_config_settings.py +++ b/addons/purchase/models/stock_config_settings.py @@ -8,4 +8,20 @@ class StockConfigSettings(models.TransientModel): _inherit = 'stock.config.settings' po_lead = fields.Float(related='company_id.po_lead', default=lambda self: self.env.user.company_id.po_lead) - default_new_po_lead = fields.Boolean(string="Security Lead Time for Purchase", default_model="stock.config.settings", help="Margin of error for vendor lead times. When the system generates Purchase Orders for reordering products,they will be scheduled that many days earlier to cope with unexpected vendor delays.") + use_po_lead = fields.Boolean( + string="Security Lead Time for Purchase", + oldname='default_new_po_lead', + help="Margin of error for vendor lead times. When the system generates Purchase Orders for reordering products,they will be scheduled that many days earlier to cope with unexpected vendor delays.") + + @api.onchange('use_po_lead') + def _onchange_use_po_lead(self): + if not self.use_po_lead: + self.po_lead = 0.0 + + def get_default_fields(self, fields): + return dict( + use_po_lead=self.env['ir.config_parameter'].sudo().get_param('purchase.use_po_lead') + ) + + def set_fields(self): + self.env['ir.config_parameter'].sudo().set_param('purchase.use_po_lead', self.use_po_lead) diff --git a/addons/purchase/views/stock_config_settings_views.xml b/addons/purchase/views/stock_config_settings_views.xml index 1c29d7f314c..e5fc8d412da 100644 --- a/addons/purchase/views/stock_config_settings_views.xml +++ b/addons/purchase/views/stock_config_settings_views.xml @@ -9,16 +9,16 @@
- +
-