diff --git a/equipment.py b/equipment.py index db0eb95..f16527f 100644 --- a/equipment.py +++ b/equipment.py @@ -12,20 +12,20 @@ class OpticalEquipment(ModelSQL, ModelView): propietary = fields.Many2One('party.party', "Propietary") propietary_address = fields.Many2One('party.address', "Propietary Address", required=True) product = fields.Many2One('product.product', "Product") - refurbish = fields.Boolean("Refurbish") - equipment_type = fields.Char('type') + refurbish = fields.Boolean("Refurbish", readonly=True) + equipment_type = fields.Char('type', readonly=True) risk = fields.Char('Type risk') use = fields.Char('Use') biomedical_class = fields.Char('Biomedical Class') main_tecnology = fields.Char('Main tecnology') - calibration = fields.Boolean("Apply calibration") - mark_category = fields.Many2One('product.category', 'Mark') - model_category = fields.Many2One('product.category', "Model") + calibration = fields.Boolean("Apply calibration", readonly=True) + mark_category = fields.Many2One('product.category', 'Mark', required=True) + model_category = fields.Many2One('product.category', "Model", required=True) reference = fields.Char("Reference", size=None) origin_country = fields.Many2One('country.country',"Origin Country") software_version = fields.Char("Software version", size=None) - useful_life = fields.Char("Useful life", size=None) - warranty = fields.Char("Warranty", size=None) + useful_life = fields.Integer("Useful life") + warranty = fields.Integer("Warranty") serial = fields.Char("Serial", size=None) health_register = fields.Char("Health Register", size=None) diff --git a/product.py b/product.py index d23389d..38f3d3f 100644 --- a/product.py +++ b/product.py @@ -11,27 +11,35 @@ from trytond.exceptions import UserError -_RISK = [('uno', 'I'), +_RISK = [('', ""), + ('uno', 'I'), ('dosA', 'IIA'), ('dosB', 'IIB')] -_USE = [('medico', 'Médico'), +_USE = [('', ""), + ('medico', 'Médico'), ('basico', 'Basico'), ('apoyo', 'Apoyo')] -_BIOMEDICAL_CLASS = [('diagnostico', 'Diagnóstico'), - ('rehabilitación', 'Rehabilitación')] +_BIOMEDICAL_CLASS = [ + ('', ""), + ('diagnostico', 'Diagnóstico'), + ('rehabilitación', 'Rehabilitación')] -_MAIN_TECNOLOGY = [('mecanico', 'Mecánico'), - ('electrico', 'Electrico'), - ('electronico', 'Electrónico'), - ('hidraulico', 'Hidraulico'), - ('neumatico', 'Neumatico')] +_MAIN_TECNOLOGY = [ + ('', ""), + ('mecanico', 'Mecánico'), + ('electrico', 'Electrico'), + ('electronico', 'Electrónico'), + ('hidraulico', 'Hidraulico'), + ('neumatico', 'Neumatico')] -_EQUIPMENT_TYPE = [('mobiliario_optico', 'Mobiliario óptico'), - ('refraccion', 'Refracción'), - ('medico', 'Medicion'), - ('accesorios', 'Accesorios')] +_EQUIPMENT_TYPE = [ + ('', ""), + ('mobiliario_optico', 'Mobiliario óptico'), + ('refraccion', 'Refracción'), + ('medico', 'Medicion'), + ('accesorios', 'Accesorios')] class Template(metaclass=PoolMeta): @@ -39,13 +47,13 @@ class Template(metaclass=PoolMeta): __name__ = 'product.template' equipment = fields.Boolean('It is equipment') - equipment_type = fields.Selection(_EQUIPMENT_TYPE, 'Equipment type') + equipment_type = fields.Selection(_EQUIPMENT_TYPE, 'Equipment type', required=True) risk = fields.Selection(_RISK, 'Type risk') - use = fields.Selection(_USE, 'Use') + use = fields.Selection(_USE, 'Use', required=True) biomedical_class = fields.Selection(_BIOMEDICAL_CLASS, - 'Biomedical Class') + 'Biomedical Class', required=True) main_tecnology = fields.Selection(_MAIN_TECNOLOGY, - 'Main tecnology') + 'Main tecnology', required=True) calibration = fields.Boolean("Apply calibration") observation = fields.Text('Observation') mark_category = fields.Many2One('product.category', 'Mark') @@ -54,14 +62,6 @@ class Template(metaclass=PoolMeta): origin_country = fields.Many2One('country.country',"Origin Country") software_version = fields.Char( "Software version", size=None) - useful_life = fields.Char( - "Useful life", size=None) - warranty = fields.Char( - "Warranty") - serial = fields.Char( - "Serial", size=None) - health_register = fields.Char( - "Health_Register", size=None) refurbish = fields.Boolean('Refurbish') #These are measurements required for the equipments, are in this place @@ -82,9 +82,13 @@ class Template(metaclass=PoolMeta): voltageDC = fields.Float("Voltage DC") voltageDC_uom = fields.Many2One('product.uom', "Voltage DC UOM", domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))]) + useful_life = fields.Integer("Useful life") + useful_life_uom = fields.Many2One('product.uom', 'Useful Life UOM', + domain=[('category', '=', Id('product', "uom_cat_time"))]) + warranty = fields.Integer("Warranty") + warranty_uom = fields.Many2One('product.uom', 'Useful Life UOM', + domain=[('category', '=', Id('product', "uom_cat_time"))]) - - @staticmethod def default_equipment(): return False diff --git a/purchase.py b/purchase.py index 775fd3f..6048dfc 100644 --- a/purchase.py +++ b/purchase.py @@ -35,13 +35,20 @@ class Purchase(metaclass=PoolMeta): if line.product.equipment: equipment = Equipment( company=line.company, + location=line.to_location, equipment_type=line.product.equipment_type, + propietary=line.company, propietary_address=line.address_equipment, product=line.product, + model_category=line.product.model_category, + mark_category=line.product.mark_category, + useful_life=line.product.useful_life, + calibration=line.product.calibration, + warranty=line.product.warranty, risk=line.product.risk, + origin_country=line.product.origin_country, use=line.product.use, biomedical_class=line.product.biomedical_class, - calibration=line.product.calibration, refurbish=line.refurbish, serial=line.serial_equipment, software_version=line.product.software_version) @@ -50,7 +57,6 @@ class Purchase(metaclass=PoolMeta): continue purchase.equipment_available = True cls.save(purchases) - #raise UserError(str(purchase.equipment_available)) else: raise InvalidNumberPurchases( gettext('purchase.msg_invalid_number_purchases')) @@ -59,11 +65,18 @@ class Purchase(metaclass=PoolMeta): class Line(metaclass=PoolMeta): __name__ = 'purchase.line' + origin_country = origin_country = fields.Many2One('country.country',"Origin Country") address_equipment = fields.Many2One('party.address', "Direccion", required=True) serial_equipment = fields.Char("Serial", size=None, required=True) refurbish = fields.Boolean("Refurbish") product_equipment = fields.Boolean("Product Equipment") + """ + def default_origin_country(self): + if self.product: + return self.product.origin_country + """ + def on_change_product(self): if not self.product: self.product_equipment = False @@ -102,7 +115,7 @@ class Line(metaclass=PoolMeta): if company: company = Company(company) return company.party.addresses[0].id - + @classmethod def view_attributes(cls): return super(Line, cls).view_attributes() + [ diff --git a/view/template_form.xml b/view/template_form.xml index 44eaa35..c5e7f2c 100644 --- a/view/template_form.xml +++ b/view/template_form.xml @@ -8,14 +8,12 @@ this repository contains the full copyright notices and license terms. --> + - + + - +