From c4460f0a8f80be82a22b29cc04c2674297af6bce Mon Sep 17 00:00:00 2001 From: wilson gomez Date: Sat, 19 Jun 2021 10:01:49 -0500 Subject: [PATCH] add field allow discount --- sale.py | 14 ++++++++++++++ view/app_sale_order_form.xml | 2 ++ 2 files changed, 16 insertions(+) diff --git a/sale.py b/sale.py index 10b5bab..3ed4b95 100644 --- a/sale.py +++ b/sale.py @@ -43,6 +43,13 @@ class Sale(metaclass=PoolMeta): del v['unit_price_w_tax'] v['type'] = 'line' product = Product(v['product']) + + if v.get('discount') and v['discount'] != '': + v['discount'] = Decimal(v['discount'])/100 + unit_price = product.list_price - (product.list_price * Decimal(v['discount'])) + v['unit_price'] = Decimal(unit_price).quantize(Decimal(str(10.0 ** -4))) + elif v.get('discount'): + del v['discount'] v['unit'] = product.template.default_uom.id v['description'] = product.name taxes = list(product.account_category.customer_taxes_used) @@ -87,6 +94,11 @@ class Sale(metaclass=PoolMeta): 'lines': [('create', args['lines'])], } sale, = cls.create([to_create]) + for line in sale.lines: + if line.discount and line.discount > 0: + line.on_change_discount() + print(line.discount, line.unit_price, line.unit_price_w_tax, 'valores resultados') + cls.quote([sale]) record = args.copy() record.update({ @@ -288,7 +300,9 @@ class AppDelivery(ModelSQL, ModelView): class AppSaleOrder(ModelSQL, ModelView): 'App Sale Order' __name__ = 'dash.app.sale_order' + company = fields.Many2One('company.company', 'Company', required=True) + allow_discount = fields.Boolean('Allow Discount') @classmethod def __setup__(cls): diff --git a/view/app_sale_order_form.xml b/view/app_sale_order_form.xml index 9d7c79d..bfa7b9f 100644 --- a/view/app_sale_order_form.xml +++ b/view/app_sale_order_form.xml @@ -4,4 +4,6 @@ The COPYRIGHT file at the top level of this repository contains the full copyrig