diff --git a/equipment.py b/equipment.py
index 5692a75..345913d 100644
--- a/equipment.py
+++ b/equipment.py
@@ -9,12 +9,16 @@ from trytond.i18n import gettext
from trytond.exceptions import UserError
-_MAINTENANCE_FREQUENCY = [(6, 'Seis Meses'),
- (12, 'Doce Meses')]
+_MAINTENANCE_FREQUENCY = [("none", ''),
+ ("6", 'Seis Meses'),
+ ("12", 'Doce Meses')]
class OpticalEquipment(Workflow, ModelSQL, ModelView):
'Optical Equipment'
__name__ = 'optical_equipment.equipment'
+ _states={
+ 'readonly': Eval('state') != 'draft',
+ }
code = fields.Char(
"Code", select=True,states={'readonly': True })
@@ -28,20 +32,20 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView):
company = fields.Many2One('company.company', "Company", readonly=True)
location = fields.Many2One('stock.location', "Location",
- states={'readonly': Eval('state') != 'draft',},)
- propietary = fields.Many2One('party.party',"Propietary",'party',
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
+ propietary = fields.Many2One('party.party',"Propietary", required=True,
+ states=_states,)
propietary_address = fields.Many2One('party.address', "Propietary Address", required=True,
domain=[('party', '=', Eval('propietary'))],
- states={'readonly': Eval('state') != 'draft',}
+ states=_states
)
product = fields.Many2One('product.product', "Product",
domain=[('equipment', '=', True)],
- states={'readonly': Eval('state') != 'draft',},
+ states=_states,
depends=['equipment']
)
refurbish = fields.Boolean("Refurbish",
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
equipment_type = fields.Char('type', states={'readonly': If('product', True)})
risk = fields.Char('Type risk',states={'readonly': If('product', True)})
use = fields.Char('Use', states={'readonly': If('product', True)})
@@ -51,40 +55,43 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView):
mark_category = fields.Many2One('product.category', 'Mark', required=True,
domain=[('parent', '=', None),
('accounting', '=', False)],
- states={'readonly': Eval('state') != 'draft',}
+ states=_states
)
model_category = fields.Many2One('product.category', "Model", required=True,
domain=[('parent', '=', Eval('mark_category')),
('accounting', '=', False)],
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
reference_category = fields.Many2One('product.category', "Reference",
domain=[('parent', '=', Eval('model_category'))],
- states={'readonly': Eval('state') != 'draft',},
+ states=_states,
depends=['model_category']
)
origin_country = fields.Many2One('country.country',"Origin Country",
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
software_version = fields.Char("Software version", size=None,
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
useful_life = fields.Integer("Useful life",
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
warranty = fields.Integer("Warranty",
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
serial = fields.Char("Serial", size=None,
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
health_register = fields.Char("Health Register", size=None,
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
subscription_history = fields.Many2Many('sale.subscription-optical_equipment.equipment',
'equipment','subscription', "Subscriptions",
states={'readonly': True}
)
software_version = fields.Char("Software version", size=None,
- states={'readonly': Eval('state') != 'draft',},)
+ states=_states,)
maintenance_frequency = fields.Selection(_MAINTENANCE_FREQUENCY, "Maintenance Frequency",
depends=['propietary'])
+
+ del _states
+
@classmethod
def __setup__(cls):
super(OpticalEquipment, cls).__setup__()
@@ -124,14 +131,16 @@ class OpticalEquipment(Workflow, ModelSQL, ModelView):
def default_company():
return Transaction().context.get('company')
-
@fields.depends('propietary', 'maintenance_frequency')
def on_change_propietary(self):
- if self.propietary.client_type == 'ips':
- self.maintenance_frequency = 'Sies Meses'
+ if self.propietary:
+ if self.propietary.client_type == 'ips':
+ self.maintenance_frequency = "6"
+ else:
+ self.maintenance_frequency = "12"
else:
- self.maintenance_frequency = 'Doce Meses'
-
+ self.maintenance_frequency = "none"
+
@fields.depends('product', 'equipment_type','use',
'biomedical_class', 'calibration',
'mark_category', 'model_category')
diff --git a/equipment.xml b/equipment.xml
index a132cd3..0029592 100644
--- a/equipment.xml
+++ b/equipment.xml
@@ -87,10 +87,7 @@
action="act_optical_equipment_form"
sequence="20"
id="menu_optical_equipment_form"/>
-
+
Serials
optical_equipment.equipment
@@ -125,12 +122,7 @@
-
-
+
Equipment
optical_equipment.maintenance.line
diff --git a/tryton.cfg b/tryton.cfg
index 02795fc..364b409 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -11,6 +11,7 @@ depends:
stock
country
sale_subscription
+ account_stock_continental
xml:
address.xml
party.xml
@@ -22,4 +23,5 @@ xml:
uom.xml
maintenance.xml
subscription.xml
- message.xml
\ No newline at end of file
+ message.xml
+
\ No newline at end of file
diff --git a/view/optical_equipment_form.xml b/view/optical_equipment_form.xml
index 7dcf5e8..d61329b 100644
--- a/view/optical_equipment_form.xml
+++ b/view/optical_equipment_form.xml
@@ -6,12 +6,12 @@
-
-
+
+
@@ -37,6 +37,7 @@
+