tabs in maintenance

This commit is contained in:
sinergia 2022-07-18 12:52:18 -05:00
parent 610106befe
commit 50f6249562
4 changed files with 54 additions and 18 deletions

View File

@ -16,6 +16,7 @@ def register():
equipment.OpticalEquipment,
configuration_equipment.Configuration,
maintenance.Maintenance,
maintenance.MaintenanceActivity,
maintenance.MaintenanceLine,
subscription.Subscription,
subscription.SubscriptionEquipment,

View File

@ -32,11 +32,17 @@ class Maintenance(Workflow, ModelSQL, ModelView):
#when the maintenance is in agended status
diary = fields.One2Many('optical_equipment.maintenance.diary', 'diary')
estimated_agended = fields.DateTime("Date Maintenance")
state_agended = fields.Selection([('no_agenda', "No agenda"),
('agended', "Agended"),
('in_progress', "In progress"),
('finish', "Finish"),
('failed', "Failed")], "State Agenda")
technical = fields.Many2One('company.employee', "Technical")
maintenance_lines = fields.One2Many('optical_equipment.maintenance.line', 'maintenance_activity',
'Maintenance Lines', states={
'readonly': Eval('state') != 'draft',})
#Preventive maintenance
# maintenance_activity = fields.Many2Many('optical_equipment.maintenance-product.product', 'activity', 'maintenance', "Maintenance Activitys")
maintenance_lines = fields.One2Many('optical_equipment.maintenance.line', 'maintenance', 'Lines')
@classmethod
def __setup__(cls):
@ -52,7 +58,6 @@ class Maintenance(Workflow, ModelSQL, ModelView):
'in_progress': {},
'finished': {},
})
@staticmethod
def default_company():
return Transaction().context.get('company')
@ -61,6 +66,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
def default_state(cls):
return 'draft'
@classmethod
def default_state_agended(cls):
return 'no_agenda'
@classmethod
@ModelView.button
@Workflow.transition('draft')
@ -85,12 +94,22 @@ class Maintenance(Workflow, ModelSQL, ModelView):
def finished(cls, maintenances):
pass
class MaintenanceActivity(ModelSQL):
'Maintenance - Products'
__name__ = 'optical_equipment.maintenance-product.product'
activity = fields.Many2One('product.product', "Activity", select=True)
maintenance = fields.Many2One('optical_equipment.maintenance', "Maintenance", select=True)
class MaintenanceLine(ModelSQL, ModelView):
'Maintenance Line'
__name__ = 'optical_equipment.maintenance.line'
product = fields.Many2One('product.product', 'Product',
ondelete='RESTRICT',domain=[
If(Eval('sale_state').in_(['draft']),
('maintenance_activity', '=', True),
()),
],)
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenance', ondelete='CASCADE', select=True)
maintenance_activity = fields.Many2One('product.product', 'Maintenance activity',
ondelete='RESTRICT',
domain=[If(Eval('state').in_(['draft']),
('maintenance_activity', '=', True),()),])
maintenance_activity = fields.Many2One('product.product', 'Maintenance activity')

View File

@ -94,5 +94,10 @@
action="act_maintenance_form"
sequence="30"
id="menu_maintenance_form"/>
<record model="ir.ui.view" id="maintenance_line_view_tree">
<field name="model">optical_equipment.maintenance.line</field>
<field name="type">form</field>
<field name="name">maintenance_line_form</field>
</record>
</data>
</tryton>

View File

@ -15,15 +15,26 @@
<label name="equipment"/>
<field name="equipment"/>
<newline/>
<label name="estimated_agended"/>
<field name="estimated_agended"/>
<newline/>
<label name="technical"/>
<field name="technical"/>
<newline/>
<label name="maintenance_lines"/>
<field name="maintenance_lines"/>
<field name="maintenance_lines"/>
<notebook colspan="6">
<page string="Agended" id="agended">
<label name="estimated_agended"/>
<field name="estimated_agended"/>
<label name="technical"/>
<field name="technical"/>
<label name="state_agended"/>
<field name="state_agended"/>
</page>
<page string="Preventive" id="preventive">
<label name="maintenance_lines"/>
<field name="maintenance_lines"/>
<field name="maintenance_lines"/>
</page>
<page string="Corrective" id="corrective">
<label name="maintenance_lines"/>
<field name="maintenance_lines"/>
<field name="maintenance_lines"/>
</page>
</notebook>
<newline/>
<label name="state"/>
<field name="state"/>