diff --git a/__init__.py b/__init__.py
index d6a030e..5ffbd9e 100644
--- a/__init__.py
+++ b/__init__.py
@@ -16,6 +16,7 @@ def register():
equipment.OpticalEquipment,
configuration_equipment.Configuration,
maintenance.Maintenance,
+ maintenance.MaintenanceActivity,
maintenance.MaintenanceLine,
subscription.Subscription,
subscription.SubscriptionEquipment,
diff --git a/maintenance.py b/maintenance.py
index 92572c1..15110bc 100644
--- a/maintenance.py
+++ b/maintenance.py
@@ -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')
@@ -60,7 +65,11 @@ class Maintenance(Workflow, ModelSQL, ModelView):
@classmethod
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')
diff --git a/maintenance.xml b/maintenance.xml
index 3dc7df3..11e1e5c 100644
--- a/maintenance.xml
+++ b/maintenance.xml
@@ -94,5 +94,10 @@
action="act_maintenance_form"
sequence="30"
id="menu_maintenance_form"/>
+
+ optical_equipment.maintenance.line
+ form
+ maintenance_line_form
+
diff --git a/view/maintenance_form.xml b/view/maintenance_form.xml
index a40d536..734b8d0 100644
--- a/view/maintenance_form.xml
+++ b/view/maintenance_form.xml
@@ -15,15 +15,26 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+