mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
51 lines
2.1 KiB
Python
51 lines
2.1 KiB
Python
# Copyright 2019 Eficent Business and IT Consulting Services, S.L.
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
import logging
|
|
from odoo import api, SUPERUSER_ID
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
__name__ = "Upgrade to 11.0.2.0.0"
|
|
|
|
|
|
def _migrate_product_to_product_mrp_area(env):
|
|
_logger.info("Migrating product parameters to Product MRP Areas")
|
|
env.cr.execute("""
|
|
SELECT DISTINCT mrp_area.id, pr.id, pr.mrp_applicable, pr.mrp_exclude,
|
|
pr.mrp_inspection_delay, pr.mrp_maximum_order_qty,
|
|
pr.mrp_minimum_order_qty, pr.mrp_minimum_stock, pr.mrp_nbr_days,
|
|
pr.mrp_qty_multiple, pr.mrp_transit_delay, pr.mrp_verified, pr.active
|
|
FROM product_product AS pr
|
|
CROSS JOIN mrp_area
|
|
LEFT JOIN product_template AS pt
|
|
ON pt.id = pr.product_tmpl_id
|
|
WHERE pr.mrp_exclude = False
|
|
AND pt.type = 'product'
|
|
""")
|
|
product_mrp_area_model = env['product.mrp.area']
|
|
for mrp_area_id, product_id, mrp_applicable, mrp_exclude,\
|
|
mrp_inspection_delay, mrp_maximum_order_qty, mrp_minimum_order_qty, \
|
|
mrp_minimum_stock, mrp_nbr_days, mrp_qty_multiple, mrp_transit_delay,\
|
|
mrp_verified, active in env.cr.fetchall():
|
|
product_mrp_area_model.create({
|
|
'mrp_area_id': mrp_area_id,
|
|
'product_id': product_id,
|
|
'mrp_applicable': mrp_applicable,
|
|
'mrp_exclude': mrp_exclude,
|
|
'mrp_inspection_delay': mrp_inspection_delay,
|
|
'mrp_maximum_order_qty': mrp_maximum_order_qty,
|
|
'mrp_minimum_order_qty': mrp_minimum_order_qty,
|
|
'mrp_minimum_stock': mrp_minimum_stock,
|
|
'mrp_nbr_days': mrp_nbr_days,
|
|
'mrp_qty_multiple': mrp_qty_multiple,
|
|
'mrp_transit_delay': mrp_transit_delay,
|
|
'mrp_verified': mrp_verified,
|
|
'active': active,
|
|
})
|
|
|
|
|
|
def migrate(cr, version):
|
|
with api.Environment.manage():
|
|
env = api.Environment(cr, SUPERUSER_ID, {})
|
|
_migrate_product_to_product_mrp_area(env)
|