You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.2 KiB
67 lines
2.2 KiB
# Copyright 2018 Eficent Business and IT Consulting Services, S.L.
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
from openupgradelib import openupgrade
|
|
from psycopg2.extensions import AsIs
|
|
|
|
|
|
def fill_res_partner_industry(cr):
|
|
cr.execute(
|
|
"""
|
|
INSERT INTO res_partner_industry (name, active, create_uid,
|
|
create_date, write_uid, write_date, %s)
|
|
SELECT name, TRUE as active, create_uid, create_date, write_uid,
|
|
write_date, id
|
|
FROM res_partner_sector
|
|
""", (AsIs(openupgrade.get_legacy_name('old_sector_id')), ),
|
|
)
|
|
# corrected parent_id here:
|
|
cr.execute(
|
|
"""
|
|
UPDATE res_partner_industry rpi
|
|
SET parent_id = rpi2.id
|
|
FROM res_partner_sector rps
|
|
INNER JOIN res_partner_industry rpi2 ON rps.parent_id = rpi2.%s
|
|
WHERE rpi.%s = rps.id
|
|
""", (
|
|
AsIs(openupgrade.get_legacy_name('old_sector_id')),
|
|
AsIs(openupgrade.get_legacy_name('old_sector_id')),
|
|
),
|
|
)
|
|
|
|
|
|
def update_res_partner_industry(cr):
|
|
cr.execute(
|
|
"""
|
|
UPDATE res_partner rp
|
|
SET industry_id = rpi.id
|
|
FROM res_partner_industry rpi
|
|
WHERE rp.%s IS NOT NULL AND rp.%s = rpi.%s
|
|
""", (
|
|
AsIs(openupgrade.get_legacy_name('sector_id')),
|
|
AsIs(openupgrade.get_legacy_name('sector_id')),
|
|
AsIs(openupgrade.get_legacy_name('old_sector_id')),
|
|
),
|
|
)
|
|
|
|
|
|
def fill_res_partner_industry_secondary(cr):
|
|
cr.execute(
|
|
"""
|
|
INSERT INTO res_partner_res_partner_industry_rel (res_partner_id,
|
|
res_partner_industry_id)
|
|
SELECT rel.res_partner_id, rpi.id
|
|
FROM res_partner_res_partner_sector_rel rel
|
|
LEFT JOIN res_partner_industry rpi
|
|
ON rel.res_partner_sector_id = rpi.%s
|
|
""", (AsIs(openupgrade.get_legacy_name('old_sector_id')), ),
|
|
)
|
|
|
|
|
|
@openupgrade.migrate(use_env=True)
|
|
def migrate(env, version):
|
|
cr = env.cr
|
|
if openupgrade.table_exists(cr, 'res_partner_sector'):
|
|
fill_res_partner_industry(cr)
|
|
env['res.partner.industry']._parent_store_compute()
|
|
update_res_partner_industry(cr)
|
|
fill_res_partner_industry_secondary(cr)
|