addons-cm/product_main_seller/hooks.py
snt 6f593c6240 [ADD] product_main_seller: Restore OCA addon from original version
- Restored product_main_seller addon to fix dependency chain
- Addon required by product_origin_char and website_sale_aplicoop

[IMP] website_sale_aplicoop: Add demo data configuration to manifest

- Updated __manifest__.py to include demo data files
- Demo data includes partners, suppliers, products, group orders, and sale orders
- Demo data successfully loads during module installation
2026-02-27 14:07:41 +01:00

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;
""")