[IMP] mrp: domain on Effectiveness Category

When users create new productivity losses of type productivity or performance,
they could not be used. Only one is selected randomly. So it makes no sense to allow
that configuration.

Related to task: 58625
This commit is contained in:
Kirti Choudhary
2018-08-20 11:14:33 +02:00
committed by Arnold Moyaux
parent 5b0a84f702
commit acbd7beb1d
4 changed files with 47 additions and 16 deletions
+21 -7
View File
@@ -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>
+24 -6
View File
@@ -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):
+1
View File
@@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_mrp_workcenter_productivity_loss_manager mrp.workcenter.productivity.loss model_mrp_workcenter_productivity_loss mrp.group_mrp_manager 1 1 1 1
3 access_mrp_workcenter_productivity_loss mrp.workcenter.productivity.loss model_mrp_workcenter_productivity_loss mrp.group_mrp_user 1 0 0 0
4 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
5 access_mrp_workcenter_productivity mrp.workcenter.productivity model_mrp_workcenter_productivity mrp.group_mrp_user 1 1 1 1
6 access_mrp_workcenter mrp.workcenter model_mrp_workcenter mrp.group_mrp_user 1 0 0 0
7 access_mrp_routing mrp.routing model_mrp_routing mrp.group_mrp_user 1 0 0 0
+1 -3
View File
@@ -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>