El método _get_price() del addon OCA ya maneja correctamente los impuestos según la configuración de Odoo. El cálculo adicional con compute_all() estaba duplicando los impuestos cuando price_include estaba activado. Cambios: - Eliminado método _compute_price_with_taxes() - Revertido eskaera_shop() para usar directamente _get_price() - Revertido add_to_eskaera_cart() para usar directamente _get_price() El precio mostrado ahora respeta la configuración de impuestos de Odoo sin duplicación.
34 lines
1,021 B
Python
34 lines
1,021 B
Python
# Copyright 2024-Today - Sylvain Le GAL (GRAP)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
import logging
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
def pre_init_hook(env):
|
|
_logger.info("Initializing column main_seller_id on table product_template")
|
|
cr = env.cr
|
|
cr.execute("""
|
|
ALTER TABLE product_template
|
|
ADD COLUMN IF NOT EXISTS main_seller_id integer;
|
|
""")
|
|
cr.execute("""
|
|
WITH numbered_supplierinfos as (
|
|
SELECT *, ROW_number() over (
|
|
partition BY product_tmpl_id
|
|
ORDER BY sequence, min_qty desc, price
|
|
) as row_number
|
|
FROM product_supplierinfo
|
|
),
|
|
|
|
first_supplierinfos as (
|
|
SELECT * from numbered_supplierinfos
|
|
WHERE row_number = 1
|
|
)
|
|
|
|
UPDATE product_template pt
|
|
SET main_seller_id = first_supplierinfos.partner_id
|
|
FROM first_supplierinfos
|
|
WHERE pt.id = first_supplierinfos.product_tmpl_id;
|
|
""")
|