Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
27
sale_global_discount/models/account_tax.py
Executable file
27
sale_global_discount/models/account_tax.py
Executable file
@@ -0,0 +1,27 @@
|
||||
# Copyright 2023 Studio73 - Ferran Mora
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class AccountTax(models.Model):
|
||||
_inherit = "account.tax"
|
||||
|
||||
def _prepare_base_line_for_taxes_computation(self, record, **kwargs):
|
||||
if (
|
||||
not isinstance(record, models.Model)
|
||||
or record._name != "sale.order.line"
|
||||
or not record.order_id.global_discount_ids
|
||||
or not self.env.context.get("from_tax_calculation", False)
|
||||
):
|
||||
return super()._prepare_base_line_for_taxes_computation(record, **kwargs)
|
||||
|
||||
price_unit = kwargs.get("price_unit", 0.0)
|
||||
discounted_price_unit = price_unit
|
||||
if not record.product_id.bypass_global_discount:
|
||||
discounts = record.order_id.global_discount_ids.mapped("discount")
|
||||
discounted_price_unit = record.order_id.get_discounted_global(
|
||||
price_unit, discounts.copy()
|
||||
)
|
||||
kwargs.update({"price_unit": discounted_price_unit})
|
||||
return super()._prepare_base_line_for_taxes_computation(record, **kwargs)
|
||||
Reference in New Issue
Block a user