add domains in calibrations
This commit is contained in:
parent
ca72657c69
commit
8bede84e96
@ -5,7 +5,7 @@ from trytond.model import (
|
||||
from trytond.wizard import (
|
||||
Button, StateAction, StateTransition, StateView, Wizard)
|
||||
from trytond.transaction import Transaction
|
||||
from trytond.pyson import Bool, Eval, If, Id
|
||||
from trytond.pyson import Bool, Eval, If, Id, Equal
|
||||
from trytond.pool import Pool
|
||||
from trytond.modules.currency.fields import Monetary
|
||||
from trytond.modules.product import price_digits
|
||||
@ -238,6 +238,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
||||
('propietary_address', '=', Eval('propietary_address'))],
|
||||
states=_states,
|
||||
depends=['service_maintenance'])
|
||||
equipment_calibrate = fields.Boolean("Calibrate Equipment", states={'readonly': False})
|
||||
#when the maintenance is in agended status
|
||||
diary = fields.One2Many('optical_equipment_maintenance.diary', 'diary')
|
||||
#Preventive maintenance
|
||||
@ -253,10 +254,11 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
||||
patterns_equipments = fields.Char("K Pattern", states={'readonly': True},
|
||||
depends=['equipment'])
|
||||
lines_calibration = fields.One2Many('optical_equipment.maintenance.calibration_sample', 'maintenance', "Lines of Calibration",
|
||||
states={'readonly': Eval('state') == 'finished'})
|
||||
|
||||
states={'readonly': Eval('state') == 'finished',
|
||||
'required': Eval('equipment_calibrate')})
|
||||
calibration_total = fields.One2Many('optical_equipment.maintenance.calibration', 'maintenance', "Calibration Total",
|
||||
states={'readonly': Eval('state') == 'finished'})
|
||||
states={'readonly': Eval('state') == 'finished',
|
||||
'required': Eval('equipment_calibrate')})
|
||||
maintenance_lines = fields.One2Many('optical_equipment.maintenance.line', 'maintenance', 'Lines')
|
||||
description_activity = fields.Char('Activity')
|
||||
next_maintenance = fields.Function(fields.Date('Next Maintenance'), 'get_next_maintenance')
|
||||
@ -267,8 +269,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
||||
domain=[('category', '=', Id('optical_equipment', "uom_cat_temperature"))],
|
||||
states={'invisible': If(Eval('temperature_min') == None, True),
|
||||
'readonly' : (Eval('state') == 'finished')},
|
||||
depends=['itemperature_min']
|
||||
)
|
||||
depends=['itemperature_min'])
|
||||
moisture_min = fields.Float("Moisture Min")
|
||||
moisture_max = fields.Float("Moisture Max")
|
||||
moisture_uom = fields.Many2One('product.uom', "Moisture UOM",
|
||||
@ -303,6 +304,12 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
||||
}),
|
||||
('//page[@id="corrective"]', 'states',{
|
||||
'invisible': If(Eval('maintenance_type') != 'corrective', True),
|
||||
}),
|
||||
('//page[@id="calibration"]', 'states',{
|
||||
'invisible': ~Eval('equipment_calibrate'),
|
||||
}),
|
||||
('//page[@id="graph"]', 'states',{
|
||||
'invisible': ~Eval('equipment_calibrate'),
|
||||
})
|
||||
]
|
||||
|
||||
@ -531,8 +538,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
||||
def on_change_equipment(self):
|
||||
if self.equipment and self.equipment.product.calibration:
|
||||
self.patterns_equipments = self.equipment.product.k_pattern
|
||||
self.equipment_calibrate = self.equipment.product.calibration
|
||||
else:
|
||||
self.patterns_equipments = None
|
||||
self.equipment_calibrate = False
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@ -684,11 +693,12 @@ class CalibrationSample(sequence_ordered(), ModelView, ModelSQL):
|
||||
__name__ = 'optical_equipment.maintenance.calibration_sample'
|
||||
|
||||
|
||||
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenance',
|
||||
ondelete='CASCADE')
|
||||
product = fields.Function(fields.Integer("Product ID"), 'get_product_id')
|
||||
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenance')
|
||||
product = fields.Function(fields.Integer("Product ID"), 'on_change_with_product')
|
||||
number_sample = fields.Float("Sample #", _digits)
|
||||
value_patterns = fields.Many2One('optical_equipment.product_pattern', "Value Pattern", ondelete='RESTRICT', required=True)
|
||||
value_patterns = fields.Many2One('optical_equipment.product_pattern', "Value Pattern", ondelete='RESTRICT', required=True,
|
||||
domain=[('product', '=', Eval('product'))],
|
||||
depends=['product'])
|
||||
value_equipment = fields.Float("Value in Equipment", _digits, required=True,
|
||||
states={'readonly': Eval('value_patterns') == None})
|
||||
mistake = fields.Float("Mistake", _digits)
|
||||
@ -697,14 +707,12 @@ class CalibrationSample(sequence_ordered(), ModelView, ModelSQL):
|
||||
depends=['mistake'])
|
||||
|
||||
|
||||
@fields.depends('maintenance', 'product')
|
||||
def get_product_id(self, name):
|
||||
product = None
|
||||
if self.maintenance and self.maintenance.equipment:
|
||||
product = self.maintenance.equipment.product.id
|
||||
|
||||
return product
|
||||
|
||||
|
||||
@fields.depends('maintenance', '_parent_maintenance.equipment')
|
||||
def on_change_with_product(self, name=None):
|
||||
if self.maintenance:
|
||||
return self.maintenance.equipment.product.template.id
|
||||
|
||||
@fields.depends('value_patterns', 'value_equipment',
|
||||
'mistake', 'mistake_rate')
|
||||
def on_change_value_equipment(self):
|
||||
|
@ -16,6 +16,8 @@
|
||||
<field name="equipment"/>
|
||||
<label name="service_maintenance"/>
|
||||
<field name="service_maintenance"/>
|
||||
<label name="equipment_calibrate" invisible="0"/>
|
||||
<field name="equipment_calibrate" invisible="0"/>
|
||||
<newline/>
|
||||
<label name="description_activity"/>
|
||||
<field name="description_activity" colspan="3"/>
|
||||
|
@ -12,5 +12,9 @@
|
||||
<label name="mistake"/>
|
||||
<field name="mistake"/>
|
||||
<label name="mistake_rate"/>
|
||||
<field name="mistake_rate"/>
|
||||
<field name="mistake_rate"/>
|
||||
<label name="product" invisible="1"/>
|
||||
<field name="product" invisible="1"/>
|
||||
<label name="maintenance" />
|
||||
<field name="maintenance"/>
|
||||
</form>
|
||||
|
Loading…
Reference in New Issue
Block a user