[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.
This commit is contained in:
Thibault Delavallée
2017-06-19 17:37:38 +02:00
committed by Yannick Tivisse
parent 76bf5dc83d
commit 8572ac79e7
2 changed files with 20 additions and 5 deletions
+17 -2
View File
@@ -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
@@ -130,15 +130,15 @@
</div>
<div class="col-md-6 col-xs-12 o_setting_box" id="security_lead_time">
<div class="o_setting_left_pane">
<field name="default_use_manufacturing_lead"/>
<field name="use_manufacturing_lead"/>
</div>
<div class="o_setting_right_pane">
<label string="Security Lead Time" for="default_use_manufacturing_lead"/>
<label string="Security Lead Time" for="use_manufacturing_lead"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Schedule manufacturing orders earlier to avoid delays
</div>
<div class="content-group" attrs="{'invisible': [('default_use_manufacturing_lead','=',False)]}">
<div class="content-group" attrs="{'invisible': [('use_manufacturing_lead','=',False)]}">
<div class="mt16" >
Move forward deadline start dates by
<field name="manufacturing_lead" class="oe_inline"/> days