From d0ab0431937294c63921816b9498172555aa464b Mon Sep 17 00:00:00 2001 From: sinergia Date: Mon, 4 Jul 2022 11:20:40 -0500 Subject: [PATCH] values for default fields _uom --- product.py | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/product.py b/product.py index 7a1ab3a..35c5782 100644 --- a/product.py +++ b/product.py @@ -40,6 +40,8 @@ _EQUIPMENT_TYPE = [ ('medico', 'Medicion'), ('accesorios', 'Accesorios')] +NON_MEASURABLE = ['service'] + class Template(metaclass=PoolMeta): 'Template' @@ -85,22 +87,37 @@ class Template(metaclass=PoolMeta): #These are measurements required for the equipments, are in this place # for manage of class 'product.template' + temperature = fields.Float("Temperature") temperature_uom = fields.Many2One('product.uom', 'Temperature UOM', - domain=[('category', '=', Id('optical_equipment', "uom_cat_temperature"))]) + domain=[('category', '=', Id('optical_equipment', "uom_cat_temperature"))], + states={'invisible' : If(Eval('temperature') == None, True)}, + depends=['temperature'] + ) frequency = fields.Float("Frequency") frequency_uom = fields.Many2One('product.uom', "Frequency UOM", - domain=[('category', '=', Id('optical_equipment', 'uom_cat_frequency'))]) + domain=[('category', '=', Id('optical_equipment', 'uom_cat_frequency'))], + states={'invisible' : If(Eval('frequency') == None, True)}, + depends=['frequency'] + ) wet = fields.Float("Wet") wet_uom = fields.Many2One('product.uom', "Wet UOM", - domain=[('category', '=', Id('optical_equipment', 'uom_cat_relative_humedity'))]) + domain=[('category', '=', Id('optical_equipment', 'uom_cat_relative_humedity'))], + states={'invisible' : If(Eval('wet') == None, True)}, + depends=['wet'] + ) voltageAC = fields.Float("Voltage AC") voltageAC_uom = fields.Many2One('product.uom', "Voltage AC UOM", - domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))]) + domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))], + states={'invisible' : If(Eval('voltageAC') == None, True)}, + depends=['voltageAC'] + ) voltageDC = fields.Float("Voltage DC") voltageDC_uom = fields.Many2One('product.uom', "Voltage DC UOM", - domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))]) + domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))], + states={'invisible' : If(Eval('voltageDC') == None, True)}, + depends=['voltageDC']) useful_life = fields.Integer("Useful life") useful_life_uom = fields.Many2One('product.uom', 'Useful Life UOM', domain=[('category', '=', Id('product', "uom_cat_time"))]) @@ -108,19 +125,16 @@ class Template(metaclass=PoolMeta): warranty_uom = fields.Many2One('product.uom', 'Useful Life UOM', domain=[('category', '=', Id('product', "uom_cat_time"))]) + @classmethod @fields.depends('temperature') def default_temperature_uom(self): - #raise UserError(str(dir(self.temperature))) - if self.temperature != float: - return None - else: - pool = Pool() - Measurements = pool.get('product.uom') - measurement = Measurements.search(['name', '=', 'Celsius'])[0].id + pool = Pool() + Measurements = pool.get('product.uom') + measurement = Measurements.search(['name', '=', 'Celsius'])[0].id + + return measurement - return measurement - @staticmethod def default_frequency_uom(): pool = Pool()