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