From 8572ac79e786be95fc16c575cd5176f0056b130b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 5 Apr 2017 14:48:30 +0200 Subject: [PATCH] [REF] mrp: use config parameter instead of ir values in settings Also, correctly reset manufacturing lead time Settings now correctly use an ir.config_parameter telling whether to use or not manufacturing lead time. An onchange is added in order to ensure that lead time is not still used by code although the settings is unchecked. --- addons/mrp/models/mrp_config_settings.py | 19 +++++++++++++++++-- .../mrp/views/mrp_config_settings_views.xml | 6 +++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/addons/mrp/models/mrp_config_settings.py b/addons/mrp/models/mrp_config_settings.py index 53411d9fd35..41444ef60e2 100644 --- a/addons/mrp/models/mrp_config_settings.py +++ b/addons/mrp/models/mrp_config_settings.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import fields, models +from odoo import api, fields, models class MrpConfigSettings(models.TransientModel): @@ -11,7 +11,7 @@ class MrpConfigSettings(models.TransientModel): company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.user.company_id) manufacturing_lead = fields.Float(related='company_id.manufacturing_lead', string="Manufacturing Lead Time") - default_use_manufacturing_lead = fields.Boolean(string="Default Manufacturing Lead Time", default_model='mrp.config.settings') + use_manufacturing_lead = fields.Boolean(string="Default Manufacturing Lead Time", oldname='default_use_manufacturing_lead') group_product_variant = fields.Boolean("Attributes & Variants", implied_group='product.group_product_variant') module_mrp_byproduct = fields.Boolean("By-Products") @@ -22,3 +22,18 @@ class MrpConfigSettings(models.TransientModel): group_mrp_routings = fields.Boolean("Work Orders", implied_group='mrp.group_mrp_routings') module_mrp_repair = fields.Boolean("Repair") + + @api.model + def get_default_fields(self, fields): + return dict( + use_manufacturing_lead=self.env['ir.config_parameter'].sudo().get_param('mrp.use_manufacturing_lead') + ) + + @api.multi + def set_fields(self): + self.env['ir.config_parameter'].sudo().set_param('mrp.use_manufacturing_lead', self.use_manufacturing_lead) + + @api.onchange('use_manufacturing_lead') + def _onchange_use_manufacturing_lead(self): + if not self.use_manufacturing_lead: + self.manufacturing_lead = 0.0 \ No newline at end of file diff --git a/addons/mrp/views/mrp_config_settings_views.xml b/addons/mrp/views/mrp_config_settings_views.xml index c645f1362b4..df407343714 100644 --- a/addons/mrp/views/mrp_config_settings_views.xml +++ b/addons/mrp/views/mrp_config_settings_views.xml @@ -130,15 +130,15 @@
- +
-