diff --git a/maintenance.py b/maintenance.py index dfb9c44..585a3f3 100644 --- a/maintenance.py +++ b/maintenance.py @@ -7,6 +7,7 @@ class Maintenance(Workflow, ModelSQL, ModelView): 'Equipment Maintenance' __name__ = 'optical_equipment.maintenance' + code = fields.Char( "Code", select=True,states={'readonly': True }) @@ -17,11 +18,22 @@ class Maintenance(Workflow, ModelSQL, ModelView): ], "State",required=True, readonly=True, sort=False) company = fields.Many2One('company.company', "Company", readonly=True) - propietary = fields.Many2One('party.party', "Propietary") + propietary = fields.Many2One('party.party', "Propietary", required=True) propietary_address = fields.Many2One('party.address', "Propietary Address", required=True, domain=[('party', '=', Eval('propietary'))] ) + equipment = fields.Many2One('optical_equipment.equipment', "Equipment", + domain=[]) + + #when the maintenance is in agended status + estimated_agended = fields.DateTime("Date Maintenance") + technical = fields.Many2One('company.employee') + + maintenance_lines = fields.One2Many('optical_equipment.maintenance.line', 'maintenance', + 'Maintenance Lines', states={ + 'readonly': Eval('state') != 'draft',}) + @classmethod def __setup__(cls): super(Maintenance, cls).__setup__() @@ -65,3 +77,7 @@ class Maintenance(Workflow, ModelSQL, ModelView): @Workflow.transition('finished') def finished(cls, maintenances): pass + +class MaintenanceLine(ModelSQL, ModelView): + 'Maintenance Line' + __name__ = 'optical_equipment.maintenance.line' diff --git a/product.py b/product.py index 4c79f88..f8d71a3 100644 --- a/product.py +++ b/product.py @@ -50,6 +50,14 @@ class Template(metaclass=PoolMeta): equipment = fields.Boolean('It is equipment', states={'invisible': Eval('type', 'goods') != 'goods', },depends=['type']) + + maintenance_activity = fields.Boolean('Maintenance Activity', + states={'invisible': Eval('type', 'service') != 'service', + },depends=['type']) + replacement = fields.Boolean('Replacement', + states={'invisible': Eval('type', 'goods') != 'goods', + },depends=['type']) + equipment_type = fields.Selection(_EQUIPMENT_TYPE, 'Equipment type', states={'required': Eval('equipment', False)}, depends=['equipment'] diff --git a/view/maintenance_form.xml b/view/maintenance_form.xml index e86446d..2424aaf 100644 --- a/view/maintenance_form.xml +++ b/view/maintenance_form.xml @@ -2,18 +2,31 @@
-