diff options
| -rw-r--r-- | addons/mrp/data/mrp_data.xml | 28 | ||||
| -rw-r--r-- | addons/mrp/models/mrp_workcenter.py | 30 | ||||
| -rw-r--r-- | addons/mrp/security/ir.model.access.csv | 1 | ||||
| -rw-r--r-- | addons/mrp/views/mrp_workcenter_views.xml | 4 |
4 files changed, 47 insertions, 16 deletions
diff --git a/addons/mrp/data/mrp_data.xml b/addons/mrp/data/mrp_data.xml index 7749846f598..1343cbcf146 100644 --- a/addons/mrp/data/mrp_data.xml +++ b/addons/mrp/data/mrp_data.xml @@ -35,41 +35,55 @@ <field name='manufacture_to_resupply' eval='True'/> </record> + <!-- Category for Blocking Reasons Workcenter --> + <record id="category_availability" model="mrp.workcenter.productivity.loss.type"> + <field name="loss_type">availability</field> + </record> + <record id="category_performance" model="mrp.workcenter.productivity.loss.type"> + <field name="loss_type">performance</field> + </record> + <record id="category_quality" model="mrp.workcenter.productivity.loss.type"> + <field name="loss_type">quality</field> + </record> + <record id="category_productive" model="mrp.workcenter.productivity.loss.type"> + <field name="loss_type">productive</field> + </record> + <!-- Reasons To Block Workcenter --> <record id="block_reason0" model="mrp.workcenter.productivity.loss"> <field name="name">Material Availability</field> - <field name="loss_type">availability</field> + <field name="loss_id" ref="mrp.category_availability"></field> <field name="sequence">1</field> </record> <record id="block_reason1" model="mrp.workcenter.productivity.loss"> <field name="name">Equipment Failure</field> - <field name="loss_type">availability</field> + <field name="loss_id" ref="mrp.category_availability"></field> <field name="sequence">2</field> </record> <record id="block_reason2" model="mrp.workcenter.productivity.loss"> <field name="name">Setup and Adjustments</field> - <field name="loss_type">availability</field> + <field name="loss_id" ref="mrp.category_availability"></field> <field name="sequence">3</field> </record> <record id="block_reason4" model="mrp.workcenter.productivity.loss"> <field name="name">Reduced Speed</field> - <field name="loss_type">performance</field> + <field name="loss_id" ref="mrp.category_performance"></field> <field name="manual" eval="False"/> <field name="sequence">5</field> </record> <record id="block_reason5" model="mrp.workcenter.productivity.loss"> <field name="name">Process Defect</field> - <field name="loss_type">quality</field> + <field name="loss_id" ref="mrp.category_quality"></field> <field name="sequence">6</field> </record> <record id="block_reason6" model="mrp.workcenter.productivity.loss"> <field name="name">Reduced Yield</field> - <field name="loss_type">quality</field> + <field name="loss_id" ref="mrp.category_quality"></field> <field name="sequence">7</field> </record> <record id="block_reason7" model="mrp.workcenter.productivity.loss"> <field name="name">Fully Productive Time</field> - <field name="loss_type">productive</field> + <field name="loss_id" ref="mrp.category_productive"></field> <field name="manual" eval="False"/> <field name="sequence">0</field> </record> diff --git a/addons/mrp/models/mrp_workcenter.py b/addons/mrp/models/mrp_workcenter.py index af78cad1ac9..7ba89c9e290 100644 --- a/addons/mrp/models/mrp_workcenter.py +++ b/addons/mrp/models/mrp_workcenter.py @@ -166,6 +166,28 @@ class MrpWorkcenter(models.Model): return {'type': 'ir.actions.client', 'tag': 'reload'} +class MrpWorkcenterProductivityLossType(models.Model): + _name = "mrp.workcenter.productivity.loss.type" + _rec_name = 'loss_type' + + @api.depends('loss_type') + def name_get(self): + """ As 'category' field in form view is a Many2one, its value will be in + lower case. In order to display its value capitalized 'name_get' is + overrided. + """ + result = [] + for rec in self: + result.append((rec.id, rec.loss_type.title())) + return result + + loss_type = fields.Selection([ + ('availability', 'Availability'), + ('performance', 'Performance'), + ('quality', 'Quality'), + ('productive', 'Productive')], string='Category', default='availability', required=True) + + class MrpWorkcenterProductivityLoss(models.Model): _name = "mrp.workcenter.productivity.loss" _description = "TPM Big Losses" @@ -174,12 +196,8 @@ class MrpWorkcenterProductivityLoss(models.Model): name = fields.Char('Reason', required=True) sequence = fields.Integer('Sequence', default=1) manual = fields.Boolean('Is a Blocking Reason', default=True) - loss_type = fields.Selection([ - ('availability', 'Availability'), - ('performance', 'Performance'), - ('quality', 'Quality'), - ('productive', 'Productive')], "Effectiveness Category", - default='availability', required=True) + loss_id = fields.Many2one('mrp.workcenter.productivity.loss.type', domain=([('loss_type', 'in', ['quality', 'availability'])]), string='Category') + loss_type = fields.Selection(string='Effectiveness Category', related='loss_id.loss_type', store=True) class MrpWorkcenterProductivity(models.Model): diff --git a/addons/mrp/security/ir.model.access.csv b/addons/mrp/security/ir.model.access.csv index 54e9e1c72cb..0f48edfa18d 100644 --- a/addons/mrp/security/ir.model.access.csv +++ b/addons/mrp/security/ir.model.access.csv @@ -1,6 +1,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_mrp_workcenter_productivity_loss_manager,mrp.workcenter.productivity.loss,model_mrp_workcenter_productivity_loss,mrp.group_mrp_manager,1,1,1,1 access_mrp_workcenter_productivity_loss,mrp.workcenter.productivity.loss,model_mrp_workcenter_productivity_loss,mrp.group_mrp_user,1,0,0,0 +access_mrp_workcenter_productivity_loss_type,mrp.workcenter.productivity.loss.type,model_mrp_workcenter_productivity_loss_type,mrp.group_mrp_user,1,0,0,0 access_mrp_workcenter_productivity,mrp.workcenter.productivity,model_mrp_workcenter_productivity,mrp.group_mrp_user,1,1,1,1 access_mrp_workcenter,mrp.workcenter,model_mrp_workcenter,mrp.group_mrp_user,1,0,0,0 access_mrp_routing,mrp.routing,model_mrp_routing,mrp.group_mrp_user,1,0,0,0 diff --git a/addons/mrp/views/mrp_workcenter_views.xml b/addons/mrp/views/mrp_workcenter_views.xml index 283af4edcb8..a26ebc0d323 100644 --- a/addons/mrp/views/mrp_workcenter_views.xml +++ b/addons/mrp/views/mrp_workcenter_views.xml @@ -451,9 +451,7 @@ <group> <group> <field name="name"/> - <field name="loss_type"/> - </group><group> - <field name="manual"/> + <field name="loss_id" widget="selection"/> </group> </group> </form> |
