Files
stock-logistics-warehouse/stock_location_product_restriction/hooks.py

35 lines
1.1 KiB
Python

# Copyright 2020 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
import logging
_logger = logging.getLogger(__name__)
def column_exists(cr, tablename, columnname):
"""Return whether the given column exists."""
query = """ SELECT 1 FROM information_schema.columns
WHERE table_name=%s AND column_name=%s """
cr.execute(query, (tablename, columnname))
return cr.rowcount
def pre_init_hook(cr):
_logger.info("Initialize product_restriction on table stock_location")
if not column_exists(cr, "stock_location", "product_restriction"):
cr.execute(
"""
ALTER TABLE stock_location
ADD COLUMN product_restriction character varying;
ALTER TABLE stock_location
ADD COLUMN parent_product_restriction character varying;
"""
)
cr.execute(
"""
UPDATE stock_location set product_restriction = 'any';
UPDATE stock_location set parent_product_restriction = 'any'
where location_id is not null;
"""
)