From 61473998d201d789da07bae89cf9648f1fb6303a Mon Sep 17 00:00:00 2001 From: sinergia Date: Mon, 15 Aug 2022 00:10:20 -0500 Subject: [PATCH] only one quantity for sale --- sale.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/sale.py b/sale.py index d4f24f5..7921749 100644 --- a/sale.py +++ b/sale.py @@ -43,22 +43,12 @@ class Sale(metaclass=PoolMeta): equipment.sale_destination = line equipment.maintenance_frequency = "6" if sale.party.client_type == "ips" else "12" equipment.save() - + with Transaction().set_context( queue_name='sale', queue_scheduled_at=config.sale_process_after): cls.__queue__.process(sales) - # @classmethod - # def get_equipments_in_lines(self, sales, equipments): - # #raise UserError(str(equipments)) - # equipments = [] - # for line in sales[0].lines: - # if line.product_equipment: - # equipments.append(line.equipment.id) - - # return equipments - class SaleLine(metaclass=PoolMeta): 'SaleLine' __name__ = 'sale.line' @@ -75,6 +65,12 @@ class SaleLine(metaclass=PoolMeta): unit_digits = fields.Function(fields.Integer('Unit Digits'), 'on_change_with_unit_digits') + + @classmethod + def __setup__(cls): + super(SaleLine, cls).__setup__() + cls.quantity.states['readonly'] = If(Eval('product_equipment') == True, True) + @fields.depends('product_equipment','equipment') def get_serial_equipment(self): if self.product_equipment: @@ -106,11 +102,13 @@ class SaleLine(metaclass=PoolMeta): self.equipment_serial = None self.on_change_product() - @fields.depends('product_equipment', methods=['on_change_equipment']) + @fields.depends('product_equipment', 'quantity', methods=['on_change_equipment']) def on_change_product_equipment(self): if self.product_equipment == False: self.equipment = None self.on_change_equipment() + else: + self.quantity = 1