From e47594fb10144bdddf2a240f53521db42f2e8aa1 Mon Sep 17 00:00:00 2001 From: sinergia Date: Wed, 5 Oct 2022 18:37:22 -0500 Subject: [PATCH] changes finished --- diary.py | 6 +++--- move.py | 21 +++++++++++++++++---- purchase.py | 2 +- sale.py | 10 ++++++++++ 4 files changed, 31 insertions(+), 8 deletions(-) diff --git a/diary.py b/diary.py index d143ecd..1ffd447 100644 --- a/diary.py +++ b/diary.py @@ -6,11 +6,11 @@ class Diary(ModelSQL, ModelView): __name__ = 'optical_equipment_maintenance.diary' code = fields.Char("Code", select=True,states={'readonly': True }) - date_expected = fields.DateTime("Expected Date") + date_expected = fields.DateTime("Expected Date", required=True) date_estimated = fields.DateTime("Estimated Date") date_end = fields.DateTime("Date End") - maintenance_service = fields.Many2One('optical_equipment_maintenance.service', 'Maintenance Service') - technical = fields.Many2One('company.employee', "Technical") + maintenance_service = fields.Many2One('optical_equipment_maintenance.service', 'Maintenance Service', required=True) + technical = fields.Many2One('company.employee', "Technical", required=True) state = fields.Selection([('draft', "Draft"), ('agended', "Agended"), diff --git a/move.py b/move.py index 86a07f7..6aa4a0b 100644 --- a/move.py +++ b/move.py @@ -11,7 +11,7 @@ class Move(metaclass=PoolMeta): "Stock Move" __name__ = "stock.move" - product_equipment = fields.Function(fields.Boolean("It Equipment"),'get_product_equipment') + equipment = fields.Many2One('optical_equipment.equipment', "Equipment", domain=[('state', '=', 'registred'), ('product','=', Eval('product')) @@ -24,8 +24,8 @@ class Move(metaclass=PoolMeta): 'invisible': If(~Eval('product_equipment'), True)}, depends=['product_equipment']), 'get_equipment_serial') - - + product_equipment = fields.Function(fields.Boolean("It Equipment"),'get_product_equipment') + @fields.depends('product') def get_product_equipment(self, product): if self.product.equipment: @@ -75,7 +75,14 @@ class ShipmentOut(metaclass=PoolMeta): moves.append(move.id) return moves - + @classmethod + def view_attributes(cls): + return super(ShipmentOut, cls).view_attributes() + [ + ('//page[@name="inventory_moves"]', 'states', { + 'invisible': False, + }),] + + @classmethod @ModelView.button @Workflow.transition('done') @@ -89,7 +96,9 @@ class ShipmentOut(metaclass=PoolMeta): for shipment in shipments: for move in shipment.inventory_moves: + count = 0 if move.equipment: + #raise UserError(str((move.origin))) equipment = move.equipment Id = equipment.id equipment = Equipments.search(['id', '=',Id])[0] @@ -97,8 +106,12 @@ class ShipmentOut(metaclass=PoolMeta): equipment.propietary_address= shipment.delivery_address.id equipment.state="uncontrated" equipment.shipment_destination = shipment + equipment.sale_destination = shipment.outgoing_moves[count].origin equipment.maintenance_frequency = "6" if shipment.customer.client_type == "ips" else "12" + count+=1 equipment.save() + else: + count+=1 Move.delete([ m for s in shipments for m in s.outgoing_moves diff --git a/purchase.py b/purchase.py index 54ae15f..3562507 100644 --- a/purchase.py +++ b/purchase.py @@ -61,7 +61,7 @@ class Purchase(metaclass=PoolMeta): refurbish=line.refurbish, serial=None if line.quantity > 1 else line.serial_equipment, health_register=line.health_register, - software_version=line.product.software_version, + software_version=line.product.software_version if line.product.software_required else "No Aplica", maintenance_frequency="none", purchase_origin=line, ) diff --git a/sale.py b/sale.py index 1da3e40..c0167c0 100644 --- a/sale.py +++ b/sale.py @@ -34,8 +34,12 @@ class Sale(metaclass=PoolMeta): 'invisible': (Eval('sale_type') != 'maintenance'), 'readonly': True}) + + @fields.depends('lines', 'sale_type', 'agended') def on_chage_sale_type(self): self.lines= [] + if self.sale_type != "maintenance": + self.agended = False @classmethod @ModelView.button @@ -95,7 +99,13 @@ class SaleLine(metaclass=PoolMeta): If(Eval('_parent_sale.sale_type') == 'maintenance', [('type', '=', 'service'), ('maintenance_activity', '=', True)], [])) + cls.product.domain.append(If(Eval('_parent_sale.sale_type') == 'equipments', + [('equipment', '=', True)], [])) + cls.product.domain.append(If(Eval('_parent_sale.sale_type') == 'replaces', + [('replacement', '=', True), + ('maintenance_activity', '=', True)], [])) cls.quantity.states['readonly'] = Eval('_parent_sale.sale_type') == 'equipments' + def on_change_with_unit_digits(self, name=None): if self.unit: