From e14fbaeb1ba9e8da40c4657b3f3d2d8358d54dcf Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 28 Jul 2026 15:31:42 +0200 Subject: [PATCH 01/40] [MIG] account_peppol --- docsource/modules180-190.rst | 2 +- .../account_peppol/19.0.1.2/post-migration.py | 22 +++++++++ .../account_peppol/19.0.1.2/pre-migration.py | 22 +++++++++ .../19.0.1.2/upgrade_analysis_work.txt | 47 +++++++++++++++++++ 4 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/account_peppol/19.0.1.2/post-migration.py create mode 100644 openupgrade_scripts/scripts/account_peppol/19.0.1.2/pre-migration.py create mode 100644 openupgrade_scripts/scripts/account_peppol/19.0.1.2/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 6066a474b822..c5fd9fbf3c67 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -24,7 +24,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | account_payment |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| account_peppol | | | +| account_peppol |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| account_peppol_advanced_fields | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/account_peppol/19.0.1.2/post-migration.py b/openupgrade_scripts/scripts/account_peppol/19.0.1.2/post-migration.py new file mode 100644 index 000000000000..3beff574f0f4 --- /dev/null +++ b/openupgrade_scripts/scripts/account_peppol/19.0.1.2/post-migration.py @@ -0,0 +1,22 @@ +# Copyright 2026 Hunki Enterprises BV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from markupsafe import Markup +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + admin_channel = env.ref("mail.channel_admin") + if admin_channel and any( + c.account_peppol_proxy_state == "sender" for c in env["res.company"].search([]) + ): + admin_channel.message_post( + body=Markup( + "

Openupgrade v18: account_peppol

" + "

" + "Cannot automatically determine res.company#peppol_external_provider." + "You should fill this field manually or rerun the peppol wizard." + "

" + ) + ) diff --git a/openupgrade_scripts/scripts/account_peppol/19.0.1.2/pre-migration.py b/openupgrade_scripts/scripts/account_peppol/19.0.1.2/pre-migration.py new file mode 100644 index 000000000000..033116c5e1c7 --- /dev/null +++ b/openupgrade_scripts/scripts/account_peppol/19.0.1.2/pre-migration.py @@ -0,0 +1,22 @@ +# Copyright 2026 Hunki Enterprises BV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +copy_columns = { + "res_company": [ + ("account_peppol_proxy_state", None, None), + ] +} + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.copy_columns(env.cr, copy_columns) + openupgrade.map_values( + env.cr, + openupgrade.get_legacy_name("account_peppol_proxy_state"), + "account_peppol_proxy_state", + [("in_verification", "not_registered")], + table="res_company", + ) diff --git a/openupgrade_scripts/scripts/account_peppol/19.0.1.2/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/account_peppol/19.0.1.2/upgrade_analysis_work.txt new file mode 100644 index 000000000000..5da6998baf9e --- /dev/null +++ b/openupgrade_scripts/scripts/account_peppol/19.0.1.2/upgrade_analysis_work.txt @@ -0,0 +1,47 @@ +---Models in module 'account_peppol'--- +obsolete model account_peppol.service.wizard (renamed to peppol.config.wizard) [transient] +new model peppol.config.wizard (renamed from account_peppol.service.wizard) [transient] +# NOTHING TO DO + +---Fields in module 'account_peppol'--- +account_peppol / account_edi_proxy_client.user / peppol_verification_code (char): DEL +# NOTHING TO DO + +account_peppol / res.company / account_peppol_proxy_state (selection): selection_keys removed: [in_verification] +# DONE: mapped 'in_verification' to 'not_registered' + +account_peppol / res.company / peppol_activate_self_billing_sending (boolean): NEW +# NOTHING TO DO + +account_peppol / res.company / peppol_external_provider (char): NEW +# NOTHING TO DO: we don't know this and don't want to (probably can't) query external resources during migration + +account_peppol / res.company / peppol_metadata (json) : NEW +account_peppol / res.company / peppol_metadata_updated_at (datetime): NEW +# NOTHING TO DO: fields seem unused in CE + +account_peppol / res.company / peppol_self_billing_reception_journal_id (many2one): NEW relation: account.journal, isfunction: function, stored +# NOTHING TO DO: rely on ORM computation + +account_peppol_selfbilling / account.journal / is_self_billing (boolean) : module is now 'account' ('account_peppol_selfbilling') +# NOTHING TO DO + +---XML records in module 'account_peppol'--- +NEW ir.actions.client: account_peppol.action_peppol_auth_callback +NEW ir.cron: account_peppol.ir_cron_peppol_webhook_keepalive +NEW ir.model.access: account_peppol.access_peppol_config_wizard +DEL ir.model.access: account_peppol.account_peppol_service_wizard_system +NEW ir.ui.view: account_peppol.peppol_config_wizard_form +NEW ir.ui.view: account_peppol.portal_my_details +DEL ir.ui.view: account_peppol.account_journal_dashboard_kanban_view +DEL ir.ui.view: account_peppol.peppol_service_configuration +DEL ir.ui.view: account_peppol.portal_my_details_fields +DEL ir.ui.view: account_peppol_selfbilling.account_move_form_inherit_self_billing +DEL ir.ui.view: account_peppol_selfbilling.report_invoice_document +DEL ir.ui.view: account_peppol_selfbilling.view_account_journal_form_inherited +NEW mail.template: account_peppol.mail_template_peppol_registration +# NOTHING TO DO + +DEL mail.template: account_peppol_selfbilling.email_template_edi_self_billing_credit_note [renamed to account module] (noupdate) +DEL mail.template: account_peppol_selfbilling.email_template_edi_self_billing_invoice [renamed to account module] (noupdate) +# NOTHING TO DO: handled in account migration From 13e506ad00cedff8b64055c3f87eba737a49d3de Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Tue, 28 Jul 2026 17:54:17 +0530 Subject: [PATCH 02/40] [OU-ADD] hr_skills_slides: Migration script --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/pre-migration.py | 16 ++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 30 +++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/pre-migration.py create mode 100644 openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 59fa34ebc686..b94b6aa5ba2e 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -212,7 +212,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| hr_skills_event | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_skills_slides | | | +| hr_skills_slides |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_skills_survey |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/pre-migration.py new file mode 100644 index 000000000000..56e105c2d35a --- /dev/null +++ b/openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/pre-migration.py @@ -0,0 +1,16 @@ +# Copyright 2026 Heliconia Solutions Pvt. Ltd. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.logged_query( + env.cr, + """ + UPDATE hr_resume_line + SET course_type = 'elearning' + WHERE channel_id IS NOT NULL + """, + ) diff --git a/openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..1e8db05d080b --- /dev/null +++ b/openupgrade_scripts/scripts/hr_skills_slides/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,30 @@ +---Models in module 'hr_skills_slides'--- + +---Fields in module 'hr_skills_slides'--- +hr_skills_slides / hr.resume.line / channel_id (many2one) : now a function +hr_skills_slides / hr.resume.line / course_type (False) : NEW selection_keys: ['elearning', 'external', 'onsite'], mode: modify + +# DONE: pre-migration update course_type='elearning' where channel_id is not null + +hr_skills_slides / hr.resume.line / course_url (char) : not a function anymore +hr_skills_slides / hr.resume.line / course_url (char) : now related +hr_skills_slides / hr.resume.line / display_type (False) : DEL selection_keys: ['certification', 'classic', 'course'], mode: modify +hr_skills_slides / hr.resume.line / duration (False) : NEW mode: modify, hasdefault: compute + +# NOTHING TO DO + +---XML records in module 'hr_skills_slides'--- +DEL hr.resume.line.type: hr_skills_slides.resume_type_training [renamed to hr_skills module] + +# NOTHING TO DO: handled in hr_skills migration + +NEW ir.actions.act_window: hr_skills_slides.slide_channel_training_elearning_action +NEW ir.ui.menu: hr_skills_slides.menu_learnings_training_attendances_elearning +NEW ir.ui.view: hr_skills_slides.hr_employee_public_resume_view_form_inherit +NEW ir.ui.view: hr_skills_slides.hr_employee_public_view_form +NEW ir.ui.view: hr_skills_slides.hr_employee_resume_view_form_inherit +NEW ir.ui.view: hr_skills_slides.resume_slides_line_view_kanban +NEW ir.ui.view: hr_skills_slides.resume_slides_line_view_list +NEW ir.ui.view: hr_skills_slides.slide_channel_view_list + +# NOTHING TO DO From 0f5233f860c4f234045912fc4076c20cec877b3a Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 30 Jul 2026 14:52:25 +0530 Subject: [PATCH 03/40] [OU-ADD] crm_mail_plugin: Nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 51e5e68a5ffb..28f91f9dece5 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -120,7 +120,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | crm_livechat |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| crm_mail_plugin | | | +| crm_mail_plugin |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | crm_sms | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 3a0ecf15fa8c25ad6fcfa7ad4cae9cc3b7d661c0 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 30 Jul 2026 16:54:01 +0530 Subject: [PATCH 04/40] [OU-ADD] mail_plugin: Nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 51e5e68a5ffb..43c40db2a7e5 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -710,7 +710,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | mail_group | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| mail_plugin | |No DB layout changes. | +| mail_plugin |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | maintenance |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ From ee58831e6fb409dd15be675f8eca562c45c0ccc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 16:03:48 +0200 Subject: [PATCH 05/40] [MIG] auth_passkey_portal: nothing to do --- docsource/modules180-190.rst | 2 +- .../auth_passkey_portal/19.0.1.0/upgrade_analysis_work.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/auth_passkey_portal/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 51e5e68a5ffb..9cd43a3c7c65 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -48,7 +48,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | auth_passkey |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| |new| auth_passkey_portal | | | +| |new| auth_passkey_portal |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | auth_password_policy |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/auth_passkey_portal/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/auth_passkey_portal/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..1fa301ee3ac6 --- /dev/null +++ b/openupgrade_scripts/scripts/auth_passkey_portal/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,5 @@ +---Models in module 'auth_passkey_portal'--- +---Fields in module 'auth_passkey_portal'--- +---XML records in module 'auth_passkey_portal'--- +NEW ir.ui.view: auth_passkey_portal.passkeys_portal_hook +# NOTHING TO DO From abe4a17aadbec874c4bad5aa2512a8a3a5e099b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 16:16:39 +0200 Subject: [PATCH 06/40] [MIG] project_hr_skills: nothing to do --- docsource/modules180-190.rst | 2 +- .../project_hr_skills/19.0.1.0/upgrade_analysis_work.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/project_hr_skills/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 51e5e68a5ffb..317ba7a9c770 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -928,7 +928,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | project_hr_expense |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| project_hr_skills | | | +| project_hr_skills |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | project_mail_plugin | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/project_hr_skills/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/project_hr_skills/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..af5c45bb431d --- /dev/null +++ b/openupgrade_scripts/scripts/project_hr_skills/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,6 @@ +---Models in module 'project_hr_skills'--- +---Fields in module 'project_hr_skills'--- +project_hr_skills / res.users / employee_skill_ids (one2many) : previously in module hr_skills +# NOTHING TO DO + +---XML records in module 'project_hr_skills'--- From f39da5c25e062eb0917e4ca1e58b5a4845ecc7f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 16:21:39 +0200 Subject: [PATCH 07/40] [MIG] hr_skills_event: nothing to do --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/upgrade_analysis_work.txt | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/hr_skills_event/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 51e5e68a5ffb..3669d72f02a0 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -210,7 +210,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_skills |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| |new| hr_skills_event | | | +| |new| hr_skills_event |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_skills_slides | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/hr_skills_event/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_skills_event/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..61f0d56d6e93 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_skills_event/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,13 @@ +---Models in module 'hr_skills_event'--- +---Fields in module 'hr_skills_event'--- +hr_skills_event / hr.resume.line / course_type (False) : NEW selection_keys: ['external', 'onsite'], mode: modify +hr_skills_event / hr.resume.line / event_id (many2one) : NEW relation: event.event, isfunction: function, stored +# NOTHING TO DO + +---XML records in module 'hr_skills_event'--- +NEW ir.actions.act_window: hr_skills_event.event_training_onsite_action +NEW ir.ui.menu: hr_skills_event.menu_learnings_training_attendances_onsite +NEW ir.ui.view: hr_skills_event.resume_slides_line_view_form +NEW ir.ui.view: hr_skills_event.resume_slides_line_view_kanban +NEW ir.ui.view: hr_skills_event.resume_slides_line_view_list +# NOTHING TO DO From e82190ed810ddcf51292705635ba4e5eb75e9622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 16:27:01 +0200 Subject: [PATCH 08/40] [MIG] website_slides_survey --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/post-migration.py | 16 ++++++++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 7 +++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/post-migration.py create mode 100644 openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 51e5e68a5ffb..c17debefc6f3 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1242,7 +1242,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_slides_forum | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_slides_survey | | | +| website_slides_survey |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sms | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/post-migration.py new file mode 100644 index 000000000000..6236ef7ecd44 --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/post-migration.py @@ -0,0 +1,16 @@ +# Copyright 2026 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.load_data(env, "website_slides_survey", "19.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "website_slides_survey", + [ + "mail_template_user_input_certification_failed", + ], + ) diff --git a/openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..d12571adbeac --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_survey/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,7 @@ +---Models in module 'website_slides_survey'--- +---Fields in module 'website_slides_survey'--- +---XML records in module 'website_slides_survey'--- +NEW ir.ui.view: website_slides_survey.courses_search_bar_inherit_survey +NEW ir.ui.view: website_slides_survey.courses_search_results_inherit_survey +DEL ir.ui.view: website_slides_survey.courses_home_inherit_survey +# NOTHING TO DO From 918eadbd23fc306e025d2590895e4af838fc92bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 17:00:51 +0200 Subject: [PATCH 09/40] [MIG] website_livechat --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/post-migration.py | 14 +++++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 20 +++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_livechat/19.0.1.0/post-migration.py create mode 100644 openupgrade_scripts/scripts/website_livechat/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 52f32df763f6..cf31e487bc2b 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1186,7 +1186,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_links |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_livechat | | | +| website_livechat |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_mail |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_livechat/19.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website_livechat/19.0.1.0/post-migration.py new file mode 100644 index 000000000000..5c27d4ddcf82 --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/19.0.1.0/post-migration.py @@ -0,0 +1,14 @@ +# Copyright 2026 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.delete_records_safely_by_xml_id( + env, + [ + "website_livechat.im_livechat_channel_rule_public", + ], + ) diff --git a/openupgrade_scripts/scripts/website_livechat/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_livechat/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..7e1f36cbd436 --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,20 @@ +---Models in module 'website_livechat'--- +---Fields in module 'website_livechat'--- +website_livechat / discuss.channel / is_pending_chat_request (boolean): NEW +# NOTHING TO DO + +website_livechat / im_livechat.channel / is_published (boolean) : DEL +website_livechat / im_livechat.channel / website_description (html) : DEL +# NOTHING TO DO + +---XML records in module 'website_livechat'--- +DEL ir.model.access: website_livechat.access_im_livechat_channel_public_employee +DEL ir.model.access: website_livechat.access_im_livechat_channel_public_portal +DEL ir.model.access: website_livechat.access_im_livechat_channel_public_public +DEL ir.ui.view: website_livechat.channel_list_page +DEL ir.ui.view: website_livechat.channel_page +DEL ir.ui.view: website_livechat.im_livechat_channel_form_view +# NOTHING TO DO + +DEL ir.rule: website_livechat.im_livechat_channel_rule_public (noupdate) +# DONE: post-migration: deleted noupdate rule From 7f583ce1f32f926a561e280d6d744aca0bc7fe1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 17:05:51 +0200 Subject: [PATCH 10/40] [MIG] website_sale_slides: nothing to do --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/upgrade_analysis_work.txt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_sale_slides/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 52f32df763f6..a3c63cad5a07 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1230,7 +1230,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_mrp | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_slides | | | +| website_sale_slides |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_stock | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_sale_slides/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_sale_slides/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..a655aeeb24cc --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_slides/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,9 @@ +---Models in module 'website_sale_slides'--- +---Fields in module 'website_sale_slides'--- +website_sale_slides / product.template / service_tracking (False) : selection_keys added: [partnership, repair] (most likely nothing to do) +# NOTHING TO DO + +---XML records in module 'website_sale_slides'--- +DEL ir.ui.view: website_sale_slides.snippet_options +DEL product.category: website_sale_slides.product_category_courses +# NOTHING TO DO From 044a5e086201f6aa416c5a0b6f281f88d8b14d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Thu, 30 Jul 2026 17:10:45 +0200 Subject: [PATCH 11/40] [MIG] website_sale_stock: nothing to do --- docsource/modules180-190.rst | 2 +- .../website_sale_stock/19.0.1.0/upgrade_analysis_work.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_sale_stock/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 52f32df763f6..3fc5d7d5971e 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1232,7 +1232,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_slides | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_stock | | | +| website_sale_stock |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_stock_wishlist | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_sale_stock/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_sale_stock/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..eb15743fb195 --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_stock/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,6 @@ +---Models in module 'website_sale_stock'--- +---Fields in module 'website_sale_stock'--- +website_sale_stock / product.ribbon / assign (False) : NEW selection_keys: ['manual', 'new', 'out_of_stock', 'sale'], mode: modify +# NOTHING TO DO + +---XML records in module 'website_sale_stock'--- From 4b0fa581224840703006cd9254cfde221322a2ea Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 30 Jul 2026 18:12:21 +0200 Subject: [PATCH 12/40] [OU-ADD] theme_default: Nothing to do TT63807 --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 7cf4a61e92f4..6313bae350e2 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1108,7 +1108,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| survey_crm | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| theme_default | | | +| theme_default |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | transifex | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 5510a54c8c947a17b32a5ff500264b4ca06f4625 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Fri, 31 Jul 2026 09:58:33 +0530 Subject: [PATCH 13/40] [OU-ADD] crm_sms: Nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 7cf4a61e92f4..6a24b863b75c 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -122,7 +122,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | crm_mail_plugin |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| crm_sms | | | +| crm_sms |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | data_recycle | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 0992e988fb4b425ed29c75464cfe3b9dd17a3ed6 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Fri, 31 Jul 2026 11:07:26 +0530 Subject: [PATCH 14/40] [OU-ADD] delivery_mondialrelay: Nothing to do --- docsource/modules180-190.rst | 2 +- .../19.0.0.1/upgrade_analysis_work.txt | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/delivery_mondialrelay/19.0.0.1/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 7cf4a61e92f4..fab078bc94c5 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -128,7 +128,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | delivery |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| delivery_mondialrelay | | | +| delivery_mondialrelay |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | delivery_stock_picking_batch | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/delivery_mondialrelay/19.0.0.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/delivery_mondialrelay/19.0.0.1/upgrade_analysis_work.txt new file mode 100644 index 000000000000..dfd01f65ddbb --- /dev/null +++ b/openupgrade_scripts/scripts/delivery_mondialrelay/19.0.0.1/upgrade_analysis_work.txt @@ -0,0 +1,8 @@ +---Models in module 'delivery_mondialrelay'--- + +---Fields in module 'delivery_mondialrelay'--- + +---XML records in module 'delivery_mondialrelay'--- +NEW ir.ui.view: delivery_mondialrelay.address_card + +# NOTHING TO DO: noupdate=0 ir stuff From daf8b27e0e0b19031246c51a6b13ed2490641ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Fri, 31 Jul 2026 11:36:16 +0200 Subject: [PATCH 15/40] [MIG] website_sale_wishlist: nothing to do --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/upgrade_analysis_work.txt | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_sale_wishlist/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 19b2b780a1ac..e761ec398d4f 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1236,7 +1236,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_stock_wishlist | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_wishlist | | | +| website_sale_wishlist |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_slides |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_sale_wishlist/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_sale_wishlist/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..4952be1ffcca --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_wishlist/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,12 @@ +---Models in module 'website_sale_wishlist'--- +---Fields in module 'website_sale_wishlist'--- +website_sale_wishlist / website / wishlist_gap (char) : NEW hasdefault: default +website_sale_wishlist / website / wishlist_grid_columns (integer): NEW hasdefault: default +website_sale_wishlist / website / wishlist_mobile_columns (integer): NEW hasdefault: default +website_sale_wishlist / website / wishlist_opt_products_design_classes (char): NEW hasdefault: default +# NOTHING TO DO: seem to be new features with default + +---XML records in module 'website_sale_wishlist'--- +NEW ir.ui.view: website_sale_wishlist.empty_wishlist_svg +DEL ir.ui.view: website_sale_wishlist.snippet_options +# NOTHING TO DO From 691bcebb0734735f67ee4f16b20ebeac484fab76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Fri, 31 Jul 2026 12:08:11 +0200 Subject: [PATCH 16/40] [MIG] website_sale_stock_wishlist: nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index e761ec398d4f..204a4595eb8e 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1234,7 +1234,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_stock |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_stock_wishlist | |No DB layout changes. | +| website_sale_stock_wishlist |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_wishlist |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 7324d5bc6147729454cbe0e373b5e290b61c84ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Fri, 31 Jul 2026 12:24:32 +0200 Subject: [PATCH 17/40] [MIG] website_sale_mrp: nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index e761ec398d4f..09a08ff1e686 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1228,7 +1228,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_mondialrelay | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_mrp | | | +| website_sale_mrp |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_slides |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 2fc421d15223fc1e0c9bfe3a85cf8bee91d92098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Fri, 31 Jul 2026 12:28:05 +0200 Subject: [PATCH 18/40] [MIG] website_sale_comparison: nothing to do --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/upgrade_analysis copy.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_sale_comparison/19.0.1.0/upgrade_analysis copy.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index e761ec398d4f..e58aada99043 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1216,7 +1216,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| website_sale_collect_wishlist | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_comparison | | | +| website_sale_comparison |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_comparison_wishlist | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_sale_comparison/19.0.1.0/upgrade_analysis copy.txt b/openupgrade_scripts/scripts/website_sale_comparison/19.0.1.0/upgrade_analysis copy.txt new file mode 100644 index 000000000000..47b639575569 --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_comparison/19.0.1.0/upgrade_analysis copy.txt @@ -0,0 +1,6 @@ +---Models in module 'website_sale_comparison'--- +---Fields in module 'website_sale_comparison'--- +---XML records in module 'website_sale_comparison'--- +DEL ir.ui.view: website_sale_comparison.product_product +DEL ir.ui.view: website_sale_comparison.snippet_options +# NOTHING TO DO From 88f167b5147e6fed75131a0f76b0a7329bbc0308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Fri, 31 Jul 2026 12:29:13 +0200 Subject: [PATCH 19/40] [MIG] website_sale_comparison_wishlist: nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index e58aada99043..0a920282760b 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1218,7 +1218,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_comparison |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_comparison_wishlist | | | +| website_sale_comparison_wishlist |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sale_gelato | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 1c15ebf6191650b5d9b73780d14a32b9ef086c18 Mon Sep 17 00:00:00 2001 From: MiquelRForgeFlow <25005517+MiquelRForgeFlow@users.noreply.github.com> Date: Mon, 3 Aug 2026 08:24:56 +0000 Subject: [PATCH 20/40] [IMP] Update analysis files --- .../scripts/base/19.0.1.3/upgrade_general_log.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt b/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt index b8f25d5b523a..40edb8c870fe 100644 --- a/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt +++ b/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt @@ -137,7 +137,7 @@ new model website.technical.page [module website] # Found with different type: 32 # In obsolete models: 207 # New columns: 1798 -# Not matched: 1002 +# Not matched: 1004 ---XML records in module 'general'--- ---Probably obsolete module l10n_in_ewaybill_port--- ---Models in module 'l10n_in_ewaybill_port'--- @@ -160,6 +160,13 @@ l10n_mx_hr / hr.employee / l10n_mx_curp (char) : DEL l10n_mx_hr / hr.employee / l10n_mx_rfc (char) : DEL ---XML records in module 'l10n_mx_hr'--- DEL ir.ui.view: l10n_mx_hr.hr_employee_form +---Probably obsolete module l10n_pl_edi_jst--- +---Models in module 'l10n_pl_edi_jst'--- +---Fields in module 'l10n_pl_edi_jst'--- +l10n_pl_edi_jst / res.partner / l10n_pl_parent_lgu (many2one) : DEL relation: res.partner +---XML records in module 'l10n_pl_edi_jst'--- +DEL ir.ui.view: l10n_pl_edi_jst.fa3_xml_template +DEL ir.ui.view: l10n_pl_edi_jst.res_partner_account_pl_form ---Probably obsolete module l10n_uy_website_sale--- ---Models in module 'l10n_uy_website_sale'--- ---Fields in module 'l10n_uy_website_sale'--- From db06a1e3134886e59e4a989fafd52c4063e486d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adasat=20Torres=20de=20Le=C3=B3n?= Date: Mon, 3 Aug 2026 13:29:03 +0100 Subject: [PATCH 21/40] [OU-ADD] certificate: Nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index f2846d67a336..58e1fd636cfa 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -102,7 +102,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | calendar_sms |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| certificate | |No DB layout changes. | +| certificate |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | cloud_storage | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ From 0e15335bc503e7bfe4b8c25e183be69a33eb2b45 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Tue, 4 Aug 2026 10:08:01 +0530 Subject: [PATCH 22/40] [OU-ADD] mrp_product_expiry: Nothing to do --- docsource/modules180-190.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index f2846d67a336..f1973a03e65f 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -754,7 +754,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | mrp_landed_costs | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| mrp_product_expiry | | | +| mrp_product_expiry |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ | mrp_repair | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ From fc14c32e406a90dd7e2e7d9da3854ed8bb62cfe8 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 28 Jul 2026 15:39:50 +0200 Subject: [PATCH 23/40] [MIG] account_edi_proxy_client --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/upgrade_analysis_work.txt | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/account_edi_proxy_client/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index c5fd9fbf3c67..869a08d1bb8c 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -14,7 +14,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | account_edi |Nothing to do |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| account_edi_proxy_client | | | +| account_edi_proxy_client |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | account_edi_ubl_cii |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/account_edi_proxy_client/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/account_edi_proxy_client/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..f62aa993f147 --- /dev/null +++ b/openupgrade_scripts/scripts/account_edi_proxy_client/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,7 @@ +---Models in module 'account_edi_proxy_client'--- +---Fields in module 'account_edi_proxy_client'--- +account_edi_proxy_client / account_edi_proxy_client.user / is_token_out_of_sync (boolean): NEW +account_edi_proxy_client / account_edi_proxy_client.user / token_sync_version (integer) : NEW +# NOTHING TO DO: empty values are fine for existing records + +---XML records in module 'account_edi_proxy_client'--- From 3739d73f4c065c57ccd8aa0c7b5630a917918b7e Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Tue, 4 Aug 2026 12:30:10 +0530 Subject: [PATCH 24/40] [FIX] hr_skills: rename resume_type_training XML ID from hr_skills_slides --- .../scripts/hr_skills/19.0.1.0/pre-migration.py | 4 ++++ .../scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt | 3 +++ 2 files changed, 7 insertions(+) diff --git a/openupgrade_scripts/scripts/hr_skills/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/hr_skills/19.0.1.0/pre-migration.py index 882527605941..76211119e540 100644 --- a/openupgrade_scripts/scripts/hr_skills/19.0.1.0/pre-migration.py +++ b/openupgrade_scripts/scripts/hr_skills/19.0.1.0/pre-migration.py @@ -6,8 +6,12 @@ _added_fields = [ ("valid_from", "hr.employee.skill", "hr_employee_skill", "date", None, "hr_skills"), ] +_renamed_xmlids = [ + ("hr_skills_slides.resume_type_training", "hr_skills.resume_type_training"), +] @openupgrade.migrate() def migrate(env, version): openupgrade.add_fields(env, _added_fields) + openupgrade.rename_xmlids(env.cr, _renamed_xmlids) diff --git a/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt index 27609c3c784c..f4bac218533b 100644 --- a/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt +++ b/openupgrade_scripts/scripts/hr_skills/19.0.1.0/upgrade_analysis_work.txt @@ -78,6 +78,9 @@ hr_skills_survey / hr.resume.line / department_id (many2one) : no ---XML records in module 'hr_skills'--- NEW hr.resume.line.type: hr_skills.resume_type_training [renamed from hr_skills_slides module] + +# DONE: renamed XML ID in pre-migration + DEL hr.resume.line.type: hr_skills.resume_type_social_media NEW ir.actions.act_window: hr_skills.action_hr_employee_skill_certification From 791bde98fff59765963042c88f140d4dbb0d70a1 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 28 Jul 2026 08:51:28 +0200 Subject: [PATCH 25/40] [MIG] hr_recruitment_skills --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/post-migration.py | 13 +++ .../19.0.1.0/pre-migration.py | 79 +++++++++++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 54 +++++++++++++ 4 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/post-migration.py create mode 100644 openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py create mode 100644 openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 6066a474b822..a83752a21434 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -202,7 +202,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_recruitment_skills | | | +| hr_recruitment_skills |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment_sms |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/post-migration.py b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/post-migration.py new file mode 100644 index 000000000000..297974b76338 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/post-migration.py @@ -0,0 +1,13 @@ +# Copyright 2026 Hunki Enterprises BV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.load_data( + env, + "hr_recruitment_skills", + "19.0.1.0/noupdate_changes.xml", + ) diff --git a/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py new file mode 100644 index 000000000000..5df7ee3dd2a8 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/pre-migration.py @@ -0,0 +1,79 @@ +# Copyright 2026 Hunki Enterprises BV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade, openupgrade_tools + +copy_columns = { + "hr_candidate_skill": [ + ("candidate_id", None, None), + ("create_date", "valid_from", "date"), + ], +} + +renamed_fields = [ + ("hr.applicant.skill", "hr_applicant_skill", "candidate_id", "applicant_id") +] + +renamed_models = [ + ("hr.candidate.skill", "hr.applicant.skill"), +] + +renamed_tables = [ + ("hr_candidate_skill", "hr_applicant_skill"), +] + + +def hr_applicant_skill(env): + """ + Set hr.applicant.skill#applicant_id (renamed candidate_id) from hr_applicant + """ + openupgrade.lift_constraints(env.cr, "hr_applicant_skill", "applicant_id") + openupgrade.logged_query( + env.cr, + """ + UPDATE hr_applicant_skill + SET applicant_id=hr_applicant.id + FROM hr_applicant + WHERE hr_applicant.candidate_id=hr_applicant_skill.applicant_id + """, + ) + + +def hr_applicant_skill_ids(env): + """ + Pre-create and fill hr.applicant#skill_ids + """ + openupgrade.logged_query( + env.cr, + """ + CREATE TABLE hr_applicant_hr_skill_rel ( + hr_applicant_id INTEGER NOT NULL, + hr_skill_id INTEGER NOT NULL, + PRIMARY KEY(hr_applicant_id, hr_skill_id) + ); + COMMENT ON TABLE hr_applicant_hr_skill_rel IS + 'RELATION BETWEEN hr_applicant AND hr_skill'; + CREATE INDEX ON hr_applicant_hr_skill_rel + (hr_skill_id, hr_applicant_id); + """, + ) + openupgrade.logged_query( + env.cr, + """ + INSERT INTO hr_applicant_hr_skill_rel (hr_applicant_id, hr_skill_id) + SELECT applicant_id, skill_id FROM hr_applicant_skill + """, + ) + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.copy_columns(env.cr, copy_columns) + openupgrade.rename_models(env.cr, renamed_models) + if openupgrade_tools.table_exists(env.cr, "hr_applicant_skill"): + # if the database has been migrated from v17, this table can exist already + renamed_tables[0:0] = [("hr_applicant_skill", None)] + openupgrade.rename_tables(env.cr, renamed_tables) + openupgrade.rename_fields(env, renamed_fields) + hr_applicant_skill(env) + hr_applicant_skill_ids(env) diff --git a/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..11739120ac57 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_skills/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,54 @@ +---Models in module 'hr_recruitment_skills'--- +obsolete model hr.candidate.skill (renamed to hr.applicant.skill) +new model hr.applicant.skill (renamed from hr.candidate.skill) +# DONE: renamed in pre-migration + +---Fields in module 'hr_recruitment_skills'--- +hr_recruitment_skills / hr.applicant / applicant_skill_ids (one2many): NEW relation: hr.applicant.skill +# DONE: inverse of hr.applicant.skill#applicant_id + +hr_recruitment_skills / hr.applicant / current_applicant_skill_ids (one2many): NEW relation: hr.applicant.skill, hasdefault: compute, stored: False +# NOTHING TO DO: not stored + +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : is now stored +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : not related anymore +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : now a function +hr_recruitment_skills / hr.applicant / skill_ids (many2many) : table is now 'hr_applicant_hr_skill_rel' ('False') +# DONE: created and filled table in pre-migration + +hr_recruitment_skills / hr.applicant.skill / applicant_id (many2one) : NEW relation: hr.applicant, required +# DONE: renamed and adjusted in pre-migration + +hr_recruitment_skills / hr.applicant.skill / display_warning_message (boolean): NEW +# NOTHING TO DO: UI field, probably shouldn't be stored in the first palce + +hr_recruitment_skills / hr.applicant.skill / valid_from (date) : NEW hasdefault: default +# DONE: set to create_date as v18 doesn't have a concept of apllicant skill validity + +hr_recruitment_skills / hr.applicant.skill / valid_to (date) : NEW +# NOTHING TO DO + +hr_recruitment_skills / hr.candidate / candidate_skill_ids (one2many): DEL relation: hr.candidate.skill +hr_recruitment_skills / hr.candidate / skill_ids (many2many) : DEL relation: hr.skill +hr_recruitment_skills / hr.candidate.skill / _order : _order is now 'skill_type_id, skill_level_id desc' ('skill_level_id') +hr_recruitment_skills / hr.candidate.skill / candidate_id (many2one) : DEL relation: hr.candidate, required +# NOTHING TO DO: obsolete models + +hr_recruitment_skills / hr.job / skill_ids (many2many) : module is now 'hr_skills' ('hr_recruitment_skills') +# NOTHING TO DO: handled in hr_skills + +---XML records in module 'hr_recruitment_skills'--- +NEW ir.actions.act_window: hr_recruitment_skills.action_find_matching_job +NEW ir.model.access: hr_recruitment_skills.access_hr_applicant_skill_interviewer +NEW ir.model.access: hr_recruitment_skills.access_hr_job_skill_recruitment_user +DEL ir.model.access: hr_recruitment_skills.access_hr_candidate_skill_interviewer +DEL ir.model.constraint: hr_recruitment_skills.constraint_hr_candidate_skill__unique_skill +NEW ir.ui.view: hr_recruitment_skills.crm_case_tree_view_inherit_hr_recruitment_skills +NEW ir.ui.view: hr_recruitment_skills.crm_case_tree_view_job +NEW ir.ui.view: hr_recruitment_skills.hr_job_list_inherit_hr_recruitment_skills +NEW ir.ui.view: hr_recruitment_skills.view_hr_job_form +DEL ir.ui.view: hr_recruitment_skills.hr_candidate_view_form +DEL ir.ui.view: hr_recruitment_skills.hr_candidate_view_search +DEL ir.ui.view: hr_recruitment_skills.hr_candidate_view_tree +DEL ir.ui.view: hr_recruitment_skills.hr_job_form_inherit_hr_recruitment_skills +# NOTHING TO DO From 84ba8c2f6c5b29596519a74d89839ce39d9805e0 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Tue, 4 Aug 2026 10:01:39 +0530 Subject: [PATCH 26/40] [OU-ADD] product_expiry: Migration scripts --- docsource/modules180-190.rst | 2 +- .../product_expiry/19.0.1.0/post-migration.py | 46 +++++++++++++++++++ .../product_expiry/19.0.1.0/pre-migration.py | 26 +++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 11 +++++ 4 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/product_expiry/19.0.1.0/post-migration.py create mode 100644 openupgrade_scripts/scripts/product_expiry/19.0.1.0/pre-migration.py create mode 100644 openupgrade_scripts/scripts/product_expiry/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index f2846d67a336..ecd17c38a412 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -914,7 +914,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | product_email_template | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| product_expiry | | | +| product_expiry |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| product_images | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/product_expiry/19.0.1.0/post-migration.py b/openupgrade_scripts/scripts/product_expiry/19.0.1.0/post-migration.py new file mode 100644 index 000000000000..e0a06dcb5591 --- /dev/null +++ b/openupgrade_scripts/scripts/product_expiry/19.0.1.0/post-migration.py @@ -0,0 +1,46 @@ +# Copyright 2026 Heliconia Solutions Pvt. Ltd. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + backfill_stock_move_line_removal_date(env) + + +def backfill_stock_move_line_removal_date(env): + """Backfill removal_date on existing move lines - core only creates the + column empty to avoid a MemoryError on large tables. Mirrors + _compute_removal_date (lot priority, use_create_lots / use_expiration_date + gating, picking_id -> move_id fallback for picking type).""" + env.cr.execute( + """ + UPDATE stock_move_line sml + SET removal_date = CASE + WHEN lot.removal_date IS NOT NULL + THEN lot.removal_date + ELSE sml2.expiration_date + - (COALESCE(pt.removal_time, 0) || ' days')::interval + END + FROM stock_move_line sml2 + JOIN product_product pp ON sml2.product_id = pp.id + JOIN product_template pt ON pp.product_tmpl_id = pt.id + LEFT JOIN stock_lot lot ON sml2.lot_id = lot.id + LEFT JOIN stock_picking sp ON sml2.picking_id = sp.id + LEFT JOIN stock_move sm ON sml2.move_id = sm.id + LEFT JOIN stock_picking_type spt ON spt.id = COALESCE( + sp.picking_type_id, sm.picking_type_id + ) + WHERE sml.id = sml2.id + AND sml.removal_date IS NULL + AND ( + lot.removal_date IS NOT NULL + OR ( + COALESCE(spt.use_create_lots, FALSE) IS TRUE + AND COALESCE(pt.use_expiration_date, FALSE) IS TRUE + AND sml2.expiration_date IS NOT NULL + ) + ) + """ + ) diff --git a/openupgrade_scripts/scripts/product_expiry/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/product_expiry/19.0.1.0/pre-migration.py new file mode 100644 index 000000000000..c61869b2219b --- /dev/null +++ b/openupgrade_scripts/scripts/product_expiry/19.0.1.0/pre-migration.py @@ -0,0 +1,26 @@ +# Copyright 2026 Heliconia Solutions Pvt. Ltd. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + reassign_alert_date_activities(env) + + +def reassign_alert_date_activities(env): + """Reassign alert-date activities to the standard To-do type + before the old activity type record is removed by the data sync.""" + old_type = env.ref("product_expiry.mail_activity_type_alert_date_reached", False) + new_type = env.ref("mail.mail_activity_data_todo", False) + if old_type and new_type: + env.cr.execute( + """ + UPDATE mail_activity + SET activity_type_id = %s, + summary = COALESCE(summary, 'Alert Date Reached') + WHERE activity_type_id = %s + """, + (new_type.id, old_type.id), + ) diff --git a/openupgrade_scripts/scripts/product_expiry/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/product_expiry/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..878327984d98 --- /dev/null +++ b/openupgrade_scripts/scripts/product_expiry/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,11 @@ +---Models in module 'product_expiry'--- + +---Fields in module 'product_expiry'--- +product_expiry / stock.move.line / removal_date (datetime) : NEW hasdefault: compute + +# DONE: backfilled in post-migration, mirrors _compute_removal_date + +---XML records in module 'product_expiry'--- +DEL mail.activity.type: product_expiry.mail_activity_type_alert_date_reached + +# DONE: reassigned existing activities to mail.mail_activity_data_todo in pre-migration From eb8d907ce52aa76ce1782da57fd2166bec8b1533 Mon Sep 17 00:00:00 2001 From: Quoc - Pham Ngoc Date: Wed, 5 Aug 2026 15:33:41 +0700 Subject: [PATCH 27/40] [FIX] stock_account: avoid creating blank account.account records update_from_coa_generic() decided whether to include a record in company_data based on the raw chart template data (outer `any()` check), but the actual values loaded were filtered separately based on whether the existing account already had the field set. When an account already had account_stock_expense_id/account_stock_variation_id set, the per-record dict ended up empty while the record was still included in company_data. _load_data() then created a brand new account.account from that empty vals dict (since the xmlid did not resolve to an existing record yet), producing a row with only ORM defaults and no name, which violates the NOT NULL constraint on account_account.name. Only include a record in company_data when it actually has filtered values to load. --- .../scripts/stock_account/19.0.1.1/end-migration.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py b/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py index 4a5b37c7248c..d6106959d1fc 100644 --- a/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py +++ b/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py @@ -45,15 +45,16 @@ def ref_or_id(ref_or_id, model_name, AccountChartTemplate=AccountChartTemplate): company_data = {} for model_name, field_names in spec.items(): - company_data[model_name] = { - record_id: { + filtered_records = {} + for record_id, record_data in template_data[model_name].items(): + filtered = { key: value for key, value in record_data.items() if key in field_names and not ref_or_id(record_id, model_name)[key] } - for record_id, record_data in template_data[model_name].items() - if any(record_data.get(key) for key in field_names) - } + if filtered: + filtered_records[record_id] = filtered + company_data[model_name] = filtered_records AccountChartTemplate._load_data(company_data) From f1c17f6fcf2e641bd33f85e72338e154f7aa5a9d Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Wed, 5 Aug 2026 12:05:35 +0530 Subject: [PATCH 28/40] [OU-ADD] partnership: Migration scripts --- docsource/modules180-190.rst | 2 +- .../partnership/19.0.1.0/pre-migration.py | 40 +++++++++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 45 +++++++++++++++++++ 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/partnership/19.0.1.0/pre-migration.py create mode 100644 openupgrade_scripts/scripts/partnership/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index cd7fae2a6984..0a934e4a45e9 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -774,7 +774,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | partner_autocomplete |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| |new| partnership | | | +| |new| partnership |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | payment |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/partnership/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/partnership/19.0.1.0/pre-migration.py new file mode 100644 index 000000000000..6b803b1f8d8c --- /dev/null +++ b/openupgrade_scripts/scripts/partnership/19.0.1.0/pre-migration.py @@ -0,0 +1,40 @@ +# Copyright 2026 Heliconia Solutions Pvt. Ltd. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +xmlid_renames = [ + ( + "website_crm_partner_assign.res_partner_grade_action", + "partnership.res_partner_grade_action", + ), + ( + "website_crm_partner_assign.access_res_partner_grade", + "partnership.access_res_partner_grade", + ), + ( + "website_crm_partner_assign.access_res_partner_grade_manager", + "partnership.access_res_partner_grade_manager", + ), + ( + "website_crm_partner_assign.menu_res_partner_grade_action", + "partnership.menu_res_partner_grade_action", + ), + ( + "website_crm_partner_assign.res_partner_grade_data_bronze", + "partnership.res_partner_grade_data_bronze", + ), + ( + "website_crm_partner_assign.res_partner_grade_data_gold", + "partnership.res_partner_grade_data_gold", + ), + ( + "website_crm_partner_assign.res_partner_grade_data_silver", + "partnership.res_partner_grade_data_silver", + ), +] + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_xmlids(env.cr, xmlid_renames) diff --git a/openupgrade_scripts/scripts/partnership/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/partnership/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..2e73758d3fe5 --- /dev/null +++ b/openupgrade_scripts/scripts/partnership/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,45 @@ +---Models in module 'partnership'--- +model res.partner.grade (moved from website_crm_partner_assign) + +# NOTHING TO DO + +---Fields in module 'partnership'--- +partnership / product.template / grade_id (many2one) : NEW relation: res.partner.grade +partnership / product.template / service_tracking (False) : NEW selection_keys: ['event', 'no', 'partnership'], mode: modify +partnership / res.company / partnership_label (char) : NEW hasdefault: default, translate +partnership / res.partner / grade_id (many2one) : previously in module website_crm_partner_assign +partnership / res.partner.grade / _order : previously in module website_crm_partner_assign +partnership / res.partner.grade / active (boolean) : previously in module website_crm_partner_assign +partnership / res.partner.grade / company_id (many2one) : NEW relation: res.company, hasdefault: default +partnership / res.partner.grade / default_pricelist_id (many2one): NEW relation: product.pricelist +partnership / res.partner.grade / display_name (char) : previously in module website_crm_partner_assign +partnership / res.partner.grade / name (char) : previously in module website_crm_partner_assign +partnership / res.partner.grade / sequence (integer) : previously in module website_crm_partner_assign +partnership / res.users / grade_id (many2one) : previously in module website_crm_partner_assign + +# NOTHING TO DO + +---XML records in module 'partnership'--- +NEW ir.actions.act_window: partnership.action_grade_partners +NEW ir.actions.act_window: partnership.action_pricelist_partners +NEW ir.actions.act_window: partnership.res_partner_grade_action [renamed from website_crm_partner_assign module] +NEW ir.model.access: partnership.access_res_partner_grade [renamed from website_crm_partner_assign module] +NEW ir.model.access: partnership.access_res_partner_grade_admin +NEW ir.model.access: partnership.access_res_partner_grade_manager [renamed from website_crm_partner_assign module] +NEW ir.model.access: partnership.access_res_partner_grade_user +NEW ir.ui.menu: partnership.crm_menu_partners +NEW ir.ui.menu: partnership.menu_res_partner_grade_action [renamed from website_crm_partner_assign module] +NEW ir.ui.view: partnership.product_template_form_view +NEW ir.ui.view: partnership.res_config_settings_view_form +NEW ir.ui.view: partnership.res_partner_grade_view_search +NEW ir.ui.view: partnership.view_partner_grade_form +NEW ir.ui.view: partnership.view_partner_grade_tree +NEW ir.ui.view: partnership.view_partner_pricelist_form +NEW ir.ui.view: partnership.view_res_partner_filter_assign +NEW ir.ui.view: partnership.view_res_partner_form +NEW ir.ui.view: partnership.view_res_partner_grade_tree +NEW res.partner.grade: partnership.res_partner_grade_data_bronze [renamed from website_crm_partner_assign module] +NEW res.partner.grade: partnership.res_partner_grade_data_gold [renamed from website_crm_partner_assign module] +NEW res.partner.grade: partnership.res_partner_grade_data_silver [renamed from website_crm_partner_assign module] + +# DONE: xmlids renamed from website_crm_partner_assign in pre-migration From 97728ada38bfdde685cb03d9e13574b4b975e193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Wed, 5 Aug 2026 17:03:59 +0200 Subject: [PATCH 29/40] [FIX] stock_account: fixes https://github.com/OCA/OpenUpgrade/commit/eb8d907ce52aa76ce1782da57fd2166bec8b1533 --- .../scripts/stock_account/19.0.1.1/end-migration.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py b/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py index d6106959d1fc..52f1ce0de916 100644 --- a/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py +++ b/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py @@ -47,6 +47,8 @@ def ref_or_id(ref_or_id, model_name, AccountChartTemplate=AccountChartTemplate): for model_name, field_names in spec.items(): filtered_records = {} for record_id, record_data in template_data[model_name].items(): + if not any(record_data.get(key) for key in field_names): + continue filtered = { key: value for key, value in record_data.items() From cae8d3824955e7f08365d237e52ca46110ad32c1 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 6 Aug 2026 09:28:05 +0530 Subject: [PATCH 30/40] [OU-ADD] event_booth: Nothing to do --- docsource/modules180-190.rst | 2 +- .../event_booth/19.0.1.1/upgrade_analysis_work.txt | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/event_booth/19.0.1.1/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 0a934e4a45e9..5e11d5341306 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -136,7 +136,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | event |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| event_booth | | | +| event_booth |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_booth_sale | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/event_booth/19.0.1.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/event_booth/19.0.1.1/upgrade_analysis_work.txt new file mode 100644 index 000000000000..5bcfb40a07e6 --- /dev/null +++ b/openupgrade_scripts/scripts/event_booth/19.0.1.1/upgrade_analysis_work.txt @@ -0,0 +1,8 @@ +---Models in module 'event_booth'--- + +---Fields in module 'event_booth'--- + +---XML records in module 'event_booth'--- +NEW ir.model.access: event_booth.access_event_booth_desk + +# NOTHING TO DO From 26548d808e5376d7fccb2148de624d74ff82b805 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 6 Aug 2026 09:36:08 +0530 Subject: [PATCH 31/40] [OU-ADD] event_booth_sale: Nothing to do --- docsource/modules180-190.rst | 2 +- .../event_booth_sale/19.0.1.2/upgrade_analysis_work.txt | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/event_booth_sale/19.0.1.2/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 0a934e4a45e9..98b8812fa60e 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -138,7 +138,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_booth | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| event_booth_sale | | | +| event_booth_sale |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_crm |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/event_booth_sale/19.0.1.2/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/event_booth_sale/19.0.1.2/upgrade_analysis_work.txt new file mode 100644 index 000000000000..6291a90b16ec --- /dev/null +++ b/openupgrade_scripts/scripts/event_booth_sale/19.0.1.2/upgrade_analysis_work.txt @@ -0,0 +1,8 @@ +---Models in module 'event_booth_sale'--- + +---Fields in module 'event_booth_sale'--- +event_booth_sale / product.template / service_tracking (False) : selection_keys added: [partnership, repair] (most likely nothing to do) + +# NOTHING TO DO: selection values added by external modules + +---XML records in module 'event_booth_sale'--- From 66cb9f2f84d2eaf350ab4c3d9ae59d9ce98179e7 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 6 Aug 2026 14:16:18 +0200 Subject: [PATCH 32/40] [OU-ADD] event_sale: Migration script The module actually needed to pre-create the column for avoiding a possible costly computation, but also to avoid checking the constraints for each sale.order.line. TT63227 --- docsource/modules180-190.rst | 2 +- .../scripts/event_sale/19.0.1.3/pre-migration.py | 11 +++++++++++ .../event_sale/19.0.1.3/upgrade_analysis_work.txt | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 openupgrade_scripts/scripts/event_sale/19.0.1.3/pre-migration.py diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 0a934e4a45e9..f3f83afd1948 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -146,7 +146,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_product |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| event_sale |Nothing to do | | +| event_sale |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_sms | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/event_sale/19.0.1.3/pre-migration.py b/openupgrade_scripts/scripts/event_sale/19.0.1.3/pre-migration.py new file mode 100644 index 000000000000..79b9e61b3b0b --- /dev/null +++ b/openupgrade_scripts/scripts/event_sale/19.0.1.3/pre-migration.py @@ -0,0 +1,11 @@ +# Copyright 2026 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.add_columns( + env, [("sale.order.line", "event_slot_id", "many2one", None, "sale_order_line")] + ) diff --git a/openupgrade_scripts/scripts/event_sale/19.0.1.3/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/event_sale/19.0.1.3/upgrade_analysis_work.txt index 764d052c8f43..c38bf9f0dc4d 100644 --- a/openupgrade_scripts/scripts/event_sale/19.0.1.3/upgrade_analysis_work.txt +++ b/openupgrade_scripts/scripts/event_sale/19.0.1.3/upgrade_analysis_work.txt @@ -3,9 +3,11 @@ ---Fields in module 'event_sale'--- event_sale / event.registration / sale_status (selection) : module is now 'event_product' ('event_sale') -event_sale / sale.order.line / event_slot_id (many2one) : NEW relation: event.slot, hasdefault: compute # NOTHING TO DO: field definition changes only, no migration of existing data is required. +event_sale / sale.order.line / event_slot_id (many2one) : NEW relation: event.slot, hasdefault: compute +# DONE: pre-migration: Pre-create column and nothing to field, as it's a new feature. + ---XML records in module 'event_sale'--- DEL ir.model.access: event_sale.access_product_product_event_manager DEL ir.model.access: event_sale.access_product_template_event_manager From 45aaae247e38a5ac290d971bb29c97639faf2711 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 6 Aug 2026 18:15:55 +0200 Subject: [PATCH 33/40] [OU-ADD] payment_redsys: Migration scripts --- docsource/modules180-190.rst | 2 +- .../payment_redsys/19.0.1.0/post-migration.py | 37 +++++++++++++++++++ .../payment_redsys/19.0.1.0/pre-migration.py | 27 ++++++++++++++ .../19.0.1.0/upgrade_analysis_work.txt | 16 ++++++++ 4 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py create mode 100644 openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py create mode 100644 openupgrade_scripts/scripts/payment_redsys/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 75cff9999460..ee0decd86626 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -812,7 +812,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| payment_razorpay_oauth | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| |new| payment_redsys | | | +| |new| payment_redsys |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | payment_stripe |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py new file mode 100644 index 000000000000..1d704d2ed785 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py @@ -0,0 +1,37 @@ +# Copyright 2026 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +from odoo import Command + +PAY_METHOD_MAPPING = { + "T": "payment.payment_method_card", + "z": " payment.payment_method_bizum", +} + + +def _adjust_payment_methods(env): + """On the OCA module, done before the payment refactoring, the payment method of + Redsys was defined through a specific field, instead of using payment_method_ids + field. + + We need to convert existing payment providers to this new way, as the Odoo module + handles it through it. + """ + if not openupgrade.column_exists(env.cr, "payment_provider", "redsys_pay_method"): + return # No previous OCA module installed + env.cr.execute( + "SELECT id, redsys_pay_method FROM payment_provider " + "WHERE code='redsys' AND redsys_pay_method IS NOT NULL" + ) + for provider_id, redsys_pay_method in env.cr.fetchall(): + provider = env["payment.provider"].browse(provider_id) + provider.payment_method_ids = [ + Command.set(env.ref(PAY_METHOD_MAPPING[redsys_pay_method]).ids) + ] + + +@openupgrade.migrate() +def migrate(env, version): + _adjust_payment_methods(env) diff --git a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py new file mode 100644 index 000000000000..0fbb1682f16d --- /dev/null +++ b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py @@ -0,0 +1,27 @@ +# Copyright 2026 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_fields( + env, + ( + "payment.provider", + "payment_provider", + "redsys_terminal", + "redsys_merchant_terminal", + ), + ) + openupgrade.rename_xmlids( + env.cr, + [ + ( + "payment_redsys.provider_form_redsys", + "payment_redsys.payment_provider_form", + ), + ("payment_redsys.redsys_form", "payment_redsys.redirect_form"), + ], + ) diff --git a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..9db457d82edb --- /dev/null +++ b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,16 @@ +---Models in module 'payment_redsys'--- +---Fields in module 'payment_redsys'--- +payment_redsys / payment.provider / code (False) : NEW selection_keys: ['adyen', 'aps', 'asiapay', 'authorize', 'buckaroo', 'custom', 'demo', 'dpo', 'ecpay', 'flutterwave', 'iyzico', 'mercado_pago', 'mollie', 'none', 'nuvei', 'paymob', 'paypal', 'payu', 'razorpay', 'redsys'], mode: modify +# NOTHING TO DO: the value is the same for the OCA and this one + +payment_redsys / payment.provider / redsys_merchant_code (char) : NEW +payment_redsys / payment.provider / redsys_secret_key (char) : NEW +# NOTHING TO DO: Same field name + +payment_redsys / payment.provider / redsys_merchant_terminal (char): NEW +# DONE: pre-migration: Rename field + +---XML records in module 'payment_redsys'--- +NEW ir.ui.view: payment_redsys.payment_provider_form +NEW ir.ui.view: payment_redsys.redirect_form +# DONE: pre-migration: Rename OCA XML-IDs From 2c83043c739f3547b8a6336346049d0878a075ee Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 7 Aug 2026 09:34:09 +0200 Subject: [PATCH 34/40] [OU-FIX] payment_redsys: Incorrect syntax --- .../payment_redsys/19.0.1.0/pre-migration.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py index 0fbb1682f16d..ad633fdc2f2b 100644 --- a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py +++ b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/pre-migration.py @@ -8,12 +8,14 @@ def migrate(env, version): openupgrade.rename_fields( env, - ( - "payment.provider", - "payment_provider", - "redsys_terminal", - "redsys_merchant_terminal", - ), + [ + ( + "payment.provider", + "payment_provider", + "redsys_terminal", + "redsys_merchant_terminal", + ), + ], ) openupgrade.rename_xmlids( env.cr, From 640ef82bd9d67ffdebf8732bbbea8d95b95ee150 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 7 Aug 2026 09:46:39 +0200 Subject: [PATCH 35/40] [OU-FIX] payment_redsys: Incorrect space --- .../scripts/payment_redsys/19.0.1.0/post-migration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py index 1d704d2ed785..abbaefcff589 100644 --- a/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py +++ b/openupgrade_scripts/scripts/payment_redsys/19.0.1.0/post-migration.py @@ -7,7 +7,7 @@ PAY_METHOD_MAPPING = { "T": "payment.payment_method_card", - "z": " payment.payment_method_bizum", + "z": "payment.payment_method_bizum", } From 8b7ea19bdf8f22378ba1aa94d19484c7bdac6c78 Mon Sep 17 00:00:00 2001 From: MiquelRForgeFlow <25005517+MiquelRForgeFlow@users.noreply.github.com> Date: Mon, 10 Aug 2026 06:28:47 +0000 Subject: [PATCH 36/40] [IMP] Update analysis files --- .../scripts/base/19.0.1.3/upgrade_general_log.txt | 13 +++---------- .../scripts/l10n_cl/19.0.3.1/upgrade_analysis.txt | 7 +++++++ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt b/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt index 40edb8c870fe..3bbe22e2839c 100644 --- a/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt +++ b/openupgrade_scripts/scripts/base/19.0.1.3/upgrade_general_log.txt @@ -130,14 +130,14 @@ new model website.page_options.mixin [module website] new model website.page_visibility_options.mixin [module website] new model website.technical.page [module website] ---Fields in module 'general'--- -# 14550 fields matched, -# Direct match: 14375 +# 14552 fields matched, +# Direct match: 14377 # Found in other module with different type: 0 # Found in other module: 143 # Found with different type: 32 # In obsolete models: 207 # New columns: 1798 -# Not matched: 1004 +# Not matched: 1002 ---XML records in module 'general'--- ---Probably obsolete module l10n_in_ewaybill_port--- ---Models in module 'l10n_in_ewaybill_port'--- @@ -160,13 +160,6 @@ l10n_mx_hr / hr.employee / l10n_mx_curp (char) : DEL l10n_mx_hr / hr.employee / l10n_mx_rfc (char) : DEL ---XML records in module 'l10n_mx_hr'--- DEL ir.ui.view: l10n_mx_hr.hr_employee_form ----Probably obsolete module l10n_pl_edi_jst--- ----Models in module 'l10n_pl_edi_jst'--- ----Fields in module 'l10n_pl_edi_jst'--- -l10n_pl_edi_jst / res.partner / l10n_pl_parent_lgu (many2one) : DEL relation: res.partner ----XML records in module 'l10n_pl_edi_jst'--- -DEL ir.ui.view: l10n_pl_edi_jst.fa3_xml_template -DEL ir.ui.view: l10n_pl_edi_jst.res_partner_account_pl_form ---Probably obsolete module l10n_uy_website_sale--- ---Models in module 'l10n_uy_website_sale'--- ---Fields in module 'l10n_uy_website_sale'--- diff --git a/openupgrade_scripts/scripts/l10n_cl/19.0.3.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/l10n_cl/19.0.3.1/upgrade_analysis.txt index c64c00464fd0..ad9647a19f2d 100644 --- a/openupgrade_scripts/scripts/l10n_cl/19.0.3.1/upgrade_analysis.txt +++ b/openupgrade_scripts/scripts/l10n_cl/19.0.3.1/upgrade_analysis.txt @@ -1,6 +1,13 @@ ---Models in module 'l10n_cl'--- ---Fields in module 'l10n_cl'--- ---XML records in module 'l10n_cl'--- +NEW account.account.tag: l10n_cl.account_tag_f29_020 +NEW account.account.tag: l10n_cl.account_tag_f29_048 +NEW account.account.tag: l10n_cl.account_tag_f29_062 +NEW account.account.tag: l10n_cl.account_tag_f29_077 +NEW account.account.tag: l10n_cl.account_tag_f29_142 +NEW account.account.tag: l10n_cl.account_tag_f29_755 +NEW product.product: l10n_cl.product_product_fees (noupdate) DEL uom.category: l10n_cl.uom_categ_energy (noupdate) DEL uom.category: l10n_cl.uom_categ_others (noupdate) DEL uom.uom: l10n_cl.product_uom_bar (noupdate) From 43ca5fd78bd175e395ea54c4dcb14cc322edfa3e Mon Sep 17 00:00:00 2001 From: Pilar Vargas Date: Mon, 10 Aug 2026 14:55:05 +0200 Subject: [PATCH 37/40] [OU-ADD] website_slides_forum: Nothing to do TT64038 --- docsource/modules180-190.rst | 2 +- .../19.0.1.0/upgrade_analysis_work.txt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/website_slides_forum/19.0.1.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index 12da4e5fbaea..e67b011ec397 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -1240,7 +1240,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_slides |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_slides_forum | | | +| website_slides_forum |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_slides_survey |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/website_slides_forum/19.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_slides_forum/19.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..418379e8f9d3 --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_forum/19.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,9 @@ +---Models in module 'website_slides_forum'--- +# NOTHING TO DO + +---Fields in module 'website_slides_forum'--- +# NOTHING TO DO + +---XML records in module 'website_slides_forum'--- +DEL ir.ui.view: website_slides_forum.snippet_options +# NOTHING TO DO: replaced by a website builder option From 4f38399e7684a60c1b9cd47789d2bc271bc1e861 Mon Sep 17 00:00:00 2001 From: zbynekdrlik Date: Mon, 10 Aug 2026 20:29:13 +0000 Subject: [PATCH 38/40] [FIX] stock_account: fix syntax error in stock_move_value() post-migration on PostgreSQL 13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stock_move_value() in stock_account/19.0.1.1/post-migration.py builds an UPDATE ... FROM (SELECT ... sum(value) value ...) aggregate subquery with a bare-word column alias (no AS) immediately after the aggregate call. PostgreSQL 13 rejects this as a syntax error: ERROR: syntax error at or near "value" LINE 5: move_id, sum(value) value ^ PostgreSQL 16 accepts the same statement, which is why this is easy to miss when re-testing on a newer engine — it is PostgreSQL-version dependent, not data-dependent. Any 18.0 -> 19.0 migration of a database with stock_account installed, run against a PostgreSQL 13 backend, hits this unconditionally partway through the post-migration step. Fix: alias the aggregate column explicitly (agg_value) and reference the aliased name in the outer UPDATE ... SET, instead of relying on the bare column name colliding with the outer table's own value column. Found and reproduced during a real 15.0 -> 19.0 OpenUpgrade migration (PostgreSQL 13 source engine). Confirmed the exact failing statement against a live PostgreSQL 13.23 database inside a BEGIN;...ROLLBACK; and confirmed the patched statement runs clean against the same database. --- .../scripts/stock_account/19.0.1.1/post-migration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openupgrade_scripts/scripts/stock_account/19.0.1.1/post-migration.py b/openupgrade_scripts/scripts/stock_account/19.0.1.1/post-migration.py index c90e05afd159..8f30980f82ba 100644 --- a/openupgrade_scripts/scripts/stock_account/19.0.1.1/post-migration.py +++ b/openupgrade_scripts/scripts/stock_account/19.0.1.1/post-migration.py @@ -81,10 +81,10 @@ def stock_move_value(env): env.cr.execute( """ UPDATE stock_move - SET value=aggregated_values.value + SET value=aggregated_values.agg_value FROM ( SELECT - move_id, sum(value) value + move_id, sum(value) AS agg_value FROM product_value GROUP BY move_id From 2e4917e15360aabf9ac4e841c53bc2480536a6a3 Mon Sep 17 00:00:00 2001 From: Carlos Lopez Date: Wed, 12 Aug 2026 09:00:44 -0500 Subject: [PATCH 39/40] [OU-ADD] payment_paypal: Nothing to do --- docsource/modules180-190.rst | 2 +- .../payment_paypal/19.0.2.0/upgrade_analysis_work.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/payment_paypal/19.0.2.0/upgrade_analysis_work.txt diff --git a/docsource/modules180-190.rst b/docsource/modules180-190.rst index e67b011ec397..60bbc5fdb093 100644 --- a/docsource/modules180-190.rst +++ b/docsource/modules180-190.rst @@ -806,7 +806,7 @@ Module coverage 18.0 -> 19.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| payment_paymob | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_paypal | | | +| payment_paypal |Nothing to do | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | payment_razorpay | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/payment_paypal/19.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_paypal/19.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 000000000000..d74d81a068a7 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_paypal/19.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,6 @@ +---Models in module 'payment_paypal'--- +---Fields in module 'payment_paypal'--- +payment_paypal / payment.provider / code (False) : selection_keys added: [dpo, ecpay, iyzico, paymob] (most likely nothing to do) +# NOTHING TO DO: New payment providers added. + +---XML records in module 'payment_paypal'--- From e9e3c88fae416432acc79a80699da2c197381b20 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 14 Aug 2026 10:33:02 +0200 Subject: [PATCH 40/40] [OU-FIX] account: Remove error logs - OpenUpgrade sample DB contains companies for a lot of localization CoAs, but they may not be yet loaded because the migration scripts are not done. And anyway, that message is better passed to channel adming for being aware of the problem. - WIP: locate the origin of the "Error while loading the localization..." --- .../scripts/account/19.0.1.4/end-migration.py | 16 +++++++++++----- .../stock_account/19.0.1.1/end-migration.py | 18 +++++++++++------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/openupgrade_scripts/scripts/account/19.0.1.4/end-migration.py b/openupgrade_scripts/scripts/account/19.0.1.4/end-migration.py index 2c1b2f518d2d..61b22d11ebc8 100644 --- a/openupgrade_scripts/scripts/account/19.0.1.4/end-migration.py +++ b/openupgrade_scripts/scripts/account/19.0.1.4/end-migration.py @@ -1,3 +1,4 @@ +from markupsafe import Markup from openupgradelib import openupgrade @@ -16,6 +17,7 @@ def res_company(env): Set fields expense_account_id, income_account_id, price_difference_account_id from localization if not set elsewhere and the localization sets it """ + admin_channel = env.ref("mail.channel_admin", False) for company in env["res.company"].search([]): AccountChartTemplate = env["account.chart.template"].with_context( default_company_id=company.id, @@ -26,10 +28,14 @@ def res_company(env): chart_template_load=True, ) if company.chart_template not in AccountChartTemplate._template_register: - openupgrade.logger.error( - "chart template %s unknown (not yet migrated?)", - company.chart_template, - ) + if admin_channel: + admin_channel.message_post( + body=Markup( + "

Openupgrade v18: account

" + f"

Chart template {company.chart_template} unknown " + "(not yet migrated?)

" + ) + ) continue template_data = AccountChartTemplate._get_chart_template_data( company.chart_template @@ -54,4 +60,4 @@ def res_company(env): @openupgrade.migrate() def migrate(env, version): account_move_line_is_storno(env) - res_company(env) + # res_company(env) diff --git a/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py b/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py index 52f1ce0de916..750e9402902e 100644 --- a/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py +++ b/openupgrade_scripts/scripts/stock_account/19.0.1.1/end-migration.py @@ -1,6 +1,7 @@ # Copyright 2026 Hunki Enterprises BV # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from markupsafe import Markup from openupgradelib import openupgrade from odoo import fields @@ -14,7 +15,7 @@ def update_from_coa_generic(env, spec): TODO: Move this to openupgradelib if needed for more migrations than account, stock_account """ - + admin_channel = env.ref("mail.channel_admin", False) for company in env["res.company"].search([]): AccountChartTemplate = env["account.chart.template"].with_context( default_company_id=company.id, @@ -24,12 +25,15 @@ def update_from_coa_generic(env, spec): lang="en_US", chart_template_load=True, ) - if company.chart_template not in AccountChartTemplate._template_register: - openupgrade.logger.error( - "chart template %s unknown (not yet migrated?)", - company.chart_template, - ) + if admin_channel: + admin_channel.message_post( + body=Markup( + "

Openupgrade v18: account

" + f"

Chart template {company.chart_template} unknown " + "(not yet migrated?)

" + ) + ) continue def ref_or_id(ref_or_id, model_name, AccountChartTemplate=AccountChartTemplate): @@ -112,6 +116,6 @@ def stock_move_is_fields(env): @openupgrade.migrate() def migrate(env, version): - update_from_coa(env) + # update_from_coa(env) stock_lot_avg_cost(env) stock_move_is_fields(env)