From 92f1f5b76de0403840dc3e0740df5080cb37ef37 Mon Sep 17 00:00:00 2001 From: Wilson Gomez Date: Thu, 28 Sep 2023 16:06:37 -0500 Subject: [PATCH] minor fix --- sale.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sale.py b/sale.py index 4be4d81..84cd729 100644 --- a/sale.py +++ b/sale.py @@ -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()