minor fix

This commit is contained in:
Wilson Gomez 2023-09-28 16:06:37 -05:00
parent cad6f5f3ce
commit 92f1f5b76d
1 changed files with 17 additions and 10 deletions

27
sale.py
View File

@ -31,12 +31,15 @@ class Sale(metaclass=PoolMeta):
@classmethod
def send_order(cls, args, ctx=None):
Product = Pool().get('product.product')
Product = Pool().get('product.product')
print(' ARGS => ', args)
if args['id'] <= 0:
res = cls.create_sale(args, ctx)
return res
else:
Line = Pool().get('sale.line')
field_status_order = 'status_order' in Line._fields
records = cls.browse([args['id']])
lines_action = args.get('lines')
for action, lines in lines_action:
@ -44,7 +47,7 @@ class Sale(metaclass=PoolMeta):
if action == 'create' and len(lines) > 0:
for line in lines:
product = Product(line['product'])
cls._add_values(product.template, line)
cls._add_values(product.template, line, field_status_order)
cls.write(records, args)
res = {
'record': {'id': args['id']},
@ -54,8 +57,9 @@ class Sale(metaclass=PoolMeta):
return res
@classmethod
def _add_values(cls, template, line):
line['status_order'] = 'requested'
def _add_values(cls, template, line, field_status_order):
if field_status_order:
line['status_order'] = 'requested'
line['unit'] = template.default_uom.id
line['description'] = template.name
taxes = list(template.account_category.customer_taxes_used)
@ -64,10 +68,12 @@ class Sale(metaclass=PoolMeta):
@classmethod
def create_sale(cls, args, ctx=None):
Shop = Pool().get('sale.shop')
Product = Pool().get('product.product')
Party = Pool().get('party.party')
User = Pool().get('res.user')
pool = Pool()
Shop = pool.get('sale.shop')
Product = pool.get('product.product')
Party = pool.get('party.party')
User = pool.get('res.user')
Line = pool.get('sale.line')
ctx = Transaction().context
if ctx.get('shop'):
shop = Shop(ctx['shop'])
@ -78,6 +84,8 @@ class Sale(metaclass=PoolMeta):
user = User(user_id)
shop = user.shop
field_status_order = 'status_order' in Line._fields
lines = args['lines']
nested_values = None
for line in lines:
@ -95,7 +103,6 @@ class Sale(metaclass=PoolMeta):
if v.get('total_amount'):
del v['total_amount']
v['type'] = 'line'
v['status_order'] = 'requested'
v['unit_price'] = round(Decimal(v['unit_price']), 4)
product = Product(v['product'])
@ -105,7 +112,7 @@ class Sale(metaclass=PoolMeta):
del v['discount']
template = product.template
cls._add_values(template, v)
cls._add_values(template, v, field_status_order)
try:
price_list = args['price_list']['id']
@ -175,7 +182,7 @@ class Sale(metaclass=PoolMeta):
if hasattr(sale, 'order_status'):
cls.write([sale], {'order_status': 'requested'})
# cls.write([sale], {'state': 'quotation'})
cls.write([sale], {'state': 'quotation'})
cls.set_number([sale])
sale.save()
record = args.copy()