forked from tvtma/OpenUpgrade
-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* [MIG] website: migrate 15 to 16 * [FIX] website: fix migrate * [OU-ADD] website: BS4 to BS5 migration * [FIX] website: Load the noupdate_changes * [FIX] website: fix by comment * Update openupgrade_scripts/scripts/website/16.0.1.0/pre-migration.py * Update openupgrade_scripts/scripts/website/16.0.1.0/pre-migration.py --------- Co-authored-by: nguyenvietlam0640 <[email protected]> Co-authored-by: duongnguyen <[email protected]> Co-authored-by: Roy Le <[email protected]>
- Loading branch information
1 parent
45a2859
commit 389047e
Showing
5 changed files
with
231 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
openupgrade_scripts/scripts/website/16.0.1.0/post-migration.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
from openupgradelib import openupgrade | ||
|
||
|
||
@openupgrade.migrate() | ||
def migrate(env, version): | ||
openupgrade.load_data(env.cr, "website", "16.0.1.0/noupdate_changes.xml") |
106 changes: 106 additions & 0 deletions
106
openupgrade_scripts/scripts/website/16.0.1.0/pre-migration.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
from itertools import chain | ||
|
||
from openupgradelib import openupgrade | ||
from openupgradelib.openupgrade_160 import convert_string_bootstrap_4to5 | ||
|
||
_xmlids_renames = [ | ||
( | ||
"website.group_website_publisher", | ||
"website.group_website_restricted_editor", | ||
), | ||
( | ||
"website_sale.menu_reporting", | ||
"website.menu_reporting", | ||
), | ||
] | ||
|
||
# delete xml xpath for odoo add it again | ||
_xmlids_delete = [ | ||
"website.website_configurator", | ||
"website.website_menu", | ||
] | ||
|
||
|
||
def delete_constraint_website_visitor_partner_uniq(env): | ||
openupgrade.delete_sql_constraint_safely( | ||
env, | ||
"website", | ||
"website_visitor", | ||
"partner_uniq", | ||
) | ||
|
||
|
||
def _fill_partner_id_if_null(env): | ||
openupgrade.logged_query( | ||
env.cr, | ||
""" | ||
UPDATE website_visitor v | ||
SET partner_id = p.id | ||
FROM res_partner p | ||
WHERE v.partner_id IS NULL | ||
AND length(v.access_token) != 32 | ||
AND p.id = CAST(v.access_token AS integer); | ||
""", | ||
) | ||
|
||
|
||
def _fill_language_ids_if_null(env): | ||
openupgrade.logged_query( | ||
env.cr, | ||
""" | ||
INSERT INTO website_lang_rel (website_id, lang_id) | ||
SELECT w.id, w.default_lang_id | ||
FROM website w | ||
WHERE NOT EXISTS ( | ||
SELECT 1 | ||
FROM website_lang_rel wlr | ||
WHERE wlr.website_id = w.id | ||
); | ||
""", | ||
) | ||
|
||
|
||
def _fill_homepage_url(env): | ||
openupgrade.logged_query( | ||
env.cr, | ||
""" | ||
ALTER TABLE website | ||
ADD COLUMN IF NOT EXISTS homepage_url CHARACTER VARYING | ||
""", | ||
) | ||
openupgrade.logged_query( | ||
env.cr, | ||
""" | ||
UPDATE website | ||
SET homepage_url = website_page.url | ||
FROM website_page | ||
WHERE website_page.id = website.homepage_id | ||
""", | ||
) | ||
|
||
|
||
def boostrap_5_migration(env): | ||
"""Convert customized website views to Bootstrap 5.""" | ||
# Find views to convert | ||
env.cr.execute( | ||
""" | ||
SELECT iuv.id FROM ir_ui_view iuv JOIN website w on w.id = iuv.website_id | ||
WHERE iuv.type = 'qweb' AND iuv.website_id IS NOT NULL | ||
""" | ||
) | ||
view_ids = list(chain.from_iterable(env.cr.fetchall())) | ||
all_view_need_bs5_migration = env["ir.ui.view"].browse(view_ids) | ||
for view in all_view_need_bs5_migration: | ||
new_arch = convert_string_bootstrap_4to5(view.arch_db) | ||
view.arch_db = new_arch | ||
|
||
|
||
@openupgrade.migrate() | ||
def migrate(env, version): | ||
_fill_partner_id_if_null(env) | ||
_fill_language_ids_if_null(env) | ||
openupgrade.rename_xmlids(env.cr, _xmlids_renames) | ||
openupgrade.delete_records_safely_by_xml_id(env, _xmlids_delete) | ||
delete_constraint_website_visitor_partner_uniq(env) | ||
boostrap_5_migration(env) | ||
_fill_homepage_url(env) |
117 changes: 117 additions & 0 deletions
117
openupgrade_scripts/scripts/website/16.0.1.0/upgrade_analysis_work.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
---Models in module 'website'--- | ||
---Fields in module 'website'--- | ||
website / theme.website.menu / mega_menu_classes (char) : NEW | ||
website / theme.website.menu / mega_menu_content (html) : NEW | ||
website / theme.website.menu / use_main_menu_as_parent (boolean): NEW hasdefault: default | ||
website / theme.website.page / footer_visible (boolean) : NEW hasdefault: default | ||
website / theme.website.page / header_color (char) : NEW | ||
website / theme.website.page / header_overlay (boolean) : NEW | ||
website / theme.website.page / header_visible (boolean) : NEW hasdefault: default | ||
website / theme.website.page / is_published (boolean) : NEW | ||
|
||
# NOTHING TO DO | ||
|
||
website / website / country_group_ids (many2many) : DEL relation: res.country.group | ||
website / website / google_management_client_id (char): DEL | ||
website / website / google_management_client_secret (char): DEL | ||
website / website / homepage_id (many2one) : DEL relation: website.page | ||
website / website / homepage_url (char) : NEW | ||
|
||
# NOTHING TO DO | ||
|
||
website / website / language_ids (many2many) : now required | ||
|
||
# DONE: Fill language_ids if null | ||
|
||
website / website / plausible_shared_key (char) : NEW | ||
website / website / plausible_site (char) : NEW | ||
website / website.menu / group_ids (many2many) : DEL relation: res.groups | ||
website / website.page / cache_key_expr (char) : DEL | ||
website / website.page / cache_time (integer) : DEL | ||
website / website.visitor / _order : _order is now 'id DESC' ('last_connection_datetime DESC') | ||
website / website.visitor / active (boolean) : DEL | ||
website / website.visitor / name (char) : not stored anymore | ||
website / website.visitor / name (char) : now related | ||
|
||
# NOTHING TO DO | ||
|
||
website / website.visitor / partner_id (many2one) : now a function | ||
|
||
# DONE: Fill partner id if null | ||
|
||
---XML records in module 'website'--- | ||
DEL ir.actions.act_url: website.start_configurator_act_url | ||
NEW ir.actions.client: website.action_open_website_configurator | ||
NEW ir.actions.client: website.website_configurator | ||
NEW ir.actions.client: website.website_preview | ||
NEW ir.actions.server: website.ir_actions_server_website_analytics | ||
DEL ir.actions.server: website.ir_actions_server_website_google_analytics | ||
NEW ir.asset: website.s_countdown_000_xml | ||
NEW ir.asset: website.s_dynamic_snippet_000_xml | ||
NEW ir.asset: website.s_dynamic_snippet_carousel_000_xml | ||
NEW ir.asset: website.s_image_gallery_000_xml | ||
NEW ir.asset: website.s_map_000_js | ||
NEW ir.asset: website.s_process_steps_001_scss | ||
NEW ir.asset: website.s_searchbar_000_xml | ||
NEW ir.asset: website.s_social_media_000_scss | ||
NEW ir.asset: website.s_website_form_xml | ||
NEW ir.model.access: website.access_website_ir_ui_view_restricted_editor | ||
DEL ir.model.access: website.access_website_ir_ui_view_publisher | ||
|
||
# NOTHING TO DO | ||
|
||
NEW ir.model.constraint: website.constraint_website_domain_unique | ||
DEL ir.model.constraint: website.constraint_website_visitor_partner_uniq | ||
|
||
# DONE: safely delete pre-migration | ||
|
||
DEL ir.rule: website.website_menu (noupdate) | ||
|
||
# DONE: safely delete in pre-migration | ||
|
||
NEW ir.ui.menu: website.custom_menu_edit_menu | ||
NEW ir.ui.menu: website.menu_ace_editor | ||
NEW ir.ui.menu: website.menu_content | ||
NEW ir.ui.menu: website.menu_current_page | ||
NEW ir.ui.menu: website.menu_edit_menu | ||
NEW ir.ui.menu: website.menu_optimize_seo | ||
NEW ir.ui.menu: website.menu_page_properties | ||
|
||
# NOTHING TO DO | ||
|
||
NEW ir.ui.menu: website.menu_reporting [renamed from website_sale module] | ||
|
||
# DONE: rename in pre-migration | ||
|
||
NEW ir.ui.menu: website.menu_site | ||
NEW ir.ui.menu: website.menu_website_analytics | ||
NEW ir.ui.menu: website.menu_website_preview | ||
DEL ir.ui.menu: website.menu_dashboard | ||
DEL ir.ui.menu: website.menu_visitor_sub_menu | ||
DEL ir.ui.menu: website.menu_website_google_analytics | ||
NEW ir.ui.view: website.404_plausible | ||
NEW ir.ui.view: website.iframefallback | ||
NEW ir.ui.view: website.neutralize_ribbon | ||
NEW ir.ui.view: website.res_config_settings_view_form_inherit_auth_signup | ||
NEW ir.ui.view: website.s_process_steps_options | ||
NEW ir.ui.view: website.s_social_media | ||
NEW ir.ui.view: website.s_social_media_options | ||
NEW ir.ui.view: website.website_page_properties_view_form | ||
NEW ir.ui.view: website.website_pages_kanban_view | ||
DEL ir.ui.view: website.compiled_assets_wysiwyg | ||
DEL ir.ui.view: website.index_management | ||
DEL ir.ui.view: website.list_website_pages | ||
DEL ir.ui.view: website.one_page_line | ||
DEL ir.ui.view: website.publish_short | ||
DEL ir.ui.view: website.s_share_options | ||
DEL ir.ui.view: website.snippet_options_header_brand | ||
DEL ir.ui.view: website.user_navbar | ||
DEL ir.ui.view: website.website_configurator | ||
DEL ir.ui.view: website.website_publisher | ||
|
||
# NOTHING TO DO | ||
|
||
NEW res.groups: website.group_website_restricted_editor | ||
DEL res.groups: website.group_website_publisher | ||
|
||
# DONE: rename group in pre-migration |