diff --git a/configuration_equipment.py b/configuration_equipment.py index 1b3534f..4d49314 100644 --- a/configuration_equipment.py +++ b/configuration_equipment.py @@ -8,4 +8,9 @@ class Configuration(ModelSingleton, ModelSQL, ModelView): equipment_sequence = fields.Many2One('ir.sequence', "Equipment Sequence", domain=[('sequence_type', '=', Id('optical_equipment', 'sequence_type_equipment')) - ]) + ] + ) + serial_draft_sequence = fields.Many2One('ir.sequence', "Serial Draft", + domain=[('sequence_type', '=', Id('optical_equipment', 'sequence_type_equipment'))] + ) + diff --git a/equipment.xml b/equipment.xml index 0e2edd7..8d5da42 100644 --- a/equipment.xml +++ b/equipment.xml @@ -110,5 +110,11 @@ Equipment + + Draft Serial + SMRTS- + 6 + + diff --git a/es.po b/es.po deleted file mode 100644 index c0bb6c1..0000000 --- a/es.po +++ /dev/null @@ -1,16 +0,0 @@ -# -msgid "" -msgstr "Content-Type: text/plain; charset=utf-8\n" - -msgctxt "field:product.template,equipment:" -msgid "It is equipment" -msgstr "Es equipo - -# -msgid "" -msgstr "Content-Type: text/plain; charset=utf-8\n" - -msgctxt "field:product.template,type_coffee:" -msgid "Type Coffee" -msgstr "Tipo Café" - diff --git a/product.py b/product.py index a6559b5..fbe6848 100644 --- a/product.py +++ b/product.py @@ -1,8 +1,5 @@ #This file is part of Tryton. The COPYRIGHT file at the top level of #txhis repository contains the full copyright notices and license terms -from sql import Literal -from sql.operators import Equal - from trytond.pool import Pool, PoolMeta from trytond.model import ( ModelView, ModelSQL, fields, Exclude) @@ -207,6 +204,11 @@ class Template(metaclass=PoolMeta): def default_refurbish(): return False + @fields.depends('equipment', 'replacement') + def on_change_equipment(self): + if self.equipment: + self.replacement=False + self.maintenance_activity=False @fields.depends('mark_category', 'model_category', 'reference_category') def on_change_mark_category(self): diff --git a/purchase.py b/purchase.py index 2355ac2..40e142b 100644 --- a/purchase.py +++ b/purchase.py @@ -32,32 +32,36 @@ class Purchase(metaclass=PoolMeta): if len(purchases) == 1: pool = Pool() Equipment = pool.get('optical_equipment.equipment') + Config = pool.get('optical_equipment.configuration') + config = Config(1) + purchase = purchases[0] for line in purchase.lines: if line.product.equipment: - equipment = Equipment( - company=line.company, - location=line.to_location, - equipment_type=line.product.equipment_type, - propietary=line.company.party, - propietary_address=line.address_equipment, - product=line.product, - model_category=line.product.model_category, - mark_category=line.product.mark_category, - reference_category=line.product.reference_category, - useful_life=line.product.useful_life if line.product.useful_life else 0, - calibration=True if line.product.calibration else False, - warranty=line.product.warranty if line.product.warranty else 0, - risk=line.product.risk, - origin_country=line.product.origin_country, - use=line.product.use, - biomedical_class=line.product.biomedical_class, - refurbish=line.refurbish, - serial=line.serial_equipment, - health_register=line.health_register, - software_version=line.software_version) - equipment.save() + for i in range(0,int(line.quantity)): + equipment = Equipment( + company=line.company, + location=line.to_location, + equipment_type=line.product.equipment_type, + propietary=line.company.party, + propietary_address=line.address_equipment, + product=line.product, + model_category=line.product.model_category, + mark_category=line.product.mark_category, + reference_category=line.product.reference_category, + useful_life=line.product.useful_life if line.product.useful_life else 0, + calibration=True if line.product.calibration else False, + warranty=line.product.warranty if line.product.warranty else 0, + risk=line.product.risk, + origin_country=line.product.origin_country, + use=line.product.use, + biomedical_class=line.product.biomedical_class, + refurbish=line.refurbish, + serial=config.serial_draft_sequence.get() if line.quantity > 1 else line.serial_equipment, + health_register=line.health_register, + software_version=line.software_version) + equipment.save() else: continue purchase.equipment_create = True @@ -72,7 +76,9 @@ class Line(metaclass=PoolMeta): 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) + serial_equipment = fields.Char("Serial", size=None, + states={'invisible': If(Eval('quantity') > 1, True), + },depends=['quantity']) refurbish = fields.Boolean("Refurbish") product_equipment = fields.Boolean("Product Equipment", states={'readonly': True}) diff --git a/view/optical_equipment_configuration_form.xml b/view/optical_equipment_configuration_form.xml index 60cb1ef..a84153b 100644 --- a/view/optical_equipment_configuration_form.xml +++ b/view/optical_equipment_configuration_form.xml @@ -6,5 +6,7 @@ this repository contains the full copyright notices and license terms. -->