only one quantity for sale

This commit is contained in:
sinergia 2022-08-15 00:10:20 -05:00
parent 46ad43845f
commit 61473998d2

20
sale.py
View File

@ -49,16 +49,6 @@ class Sale(metaclass=PoolMeta):
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