diff --git a/docsource/modules190-200.rst b/docsource/modules190-200.rst index 8da46d62bbc..ad5882a0682 100644 --- a/docsource/modules190-200.rst +++ b/docsource/modules190-200.rst @@ -18,7 +18,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | account_edi_proxy_client | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| account_edi_ubl_cii | | | +| account_edi_ubl_cii |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | account_fleet | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -40,7 +40,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | account_update_tax_tags | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| analytic | | | +| analytic |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | api_doc | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -60,11 +60,11 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | auth_password_policy_signup | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| auth_signup | | | +| auth_signup |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | auth_totp | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| auth_totp_mail | | | +| auth_totp_mail |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | auth_totp_portal | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -100,7 +100,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | bus | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| calendar | | | +| calendar |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | calendar_sms | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -120,7 +120,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | crm_iap_enrich | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| crm_iap_mine | | | +| crm_iap_mine |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | crm_livechat | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -132,15 +132,15 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | data_recycle | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| delivery | | | +| delivery |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| delivery_mondialrelay | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| delivery_stock_picking_batch | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| digest | | | +| digest |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| event | | | +| event |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_booth | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -154,13 +154,13 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_sale | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| event_sms | | | +| event_sms |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | fleet | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| fleet_maintenance | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| gamification | | | +| gamification |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | gamification_sale_crm | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -182,11 +182,11 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| hr_calendar_google | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_expense | | | +| hr_expense |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_fleet | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_gamification | | | +| hr_gamification |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_holidays | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -208,13 +208,13 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_presence | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_recruitment | | | +| hr_recruitment |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment_skills | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_recruitment_sms | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_recruitment_survey | | | +| hr_recruitment_survey |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_skills | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -224,11 +224,11 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_skills_survey | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_timesheet | | | +| hr_timesheet |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | hr_timesheet_attendance | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| hr_work_entry | | | +| hr_work_entry |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| hr_work_entry_holidays | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -244,7 +244,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | iap_mail | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| im_livechat | | | +| im_livechat |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| iot_base | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -260,7 +260,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_anz_ubl_pint | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| l10n_ar | | | +| l10n_ar |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_ar_pos | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -576,11 +576,11 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_pe | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| l10n_pe_pos | | | +| l10n_pe_pos |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_ph | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| l10n_pk | | | +| l10n_pk |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_pl | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -638,7 +638,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_tg | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| l10n_th | | | +| l10n_th |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | l10n_tn | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -698,13 +698,13 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | lunch | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| mail | | | +| mail |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | mail_bot | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | mail_bot_hr | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| mail_group | | | +| mail_group |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | mail_plugin | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -778,43 +778,43 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | payment | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_adyen | | | +| payment_adyen |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_aps | | | +| payment_aps |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_asiapay | | | +| payment_asiapay |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | payment_authorize | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_buckaroo | | | +| payment_buckaroo |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_custom | | | +| payment_custom |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_demo | | | +| payment_demo |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_flutterwave | | | +| payment_flutterwave |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_mercado_pago | | | +| payment_mercado_pago |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_mollie | | | +| payment_mollie |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_nuvei | | | +| payment_nuvei |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_paypal | | | +| payment_paypal |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_razorpay | | | +| payment_razorpay |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_stripe | | | +| payment_stripe |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_worldline | | | +| payment_worldline |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| payment_xendit | | | +| payment_xendit |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | phone_validation | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | point_of_sale | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| portal | | | +| portal |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| portal_discuss | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -854,7 +854,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | pos_repair | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| pos_restaurant | | | +| pos_restaurant |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| pos_restaurant_adyen | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -872,7 +872,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| pos_sale_stock | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| pos_self_order | | | +| pos_self_order |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| pos_self_order_adyen | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -908,7 +908,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | product_matrix | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| project | | | +| project |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | project_account | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -942,7 +942,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | project_timesheet_holidays | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| project_todo | | | +| project_todo |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | purchase | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -982,7 +982,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | sale_expense_margin | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| sale_gelato | | | +| sale_gelato |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | sale_gelato_stock | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1026,7 +1026,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | sale_stock_product_expiry | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| sale_timesheet | | | +| sale_timesheet |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | sale_timesheet_margin | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1088,7 +1088,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| stock_picking_batch | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| stock_sms | | | +| stock_sms |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | survey | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1098,9 +1098,9 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| transifex | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| uom | | | +| uom |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| utm | | | +| utm |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | web | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1110,11 +1110,11 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | web_unsplash | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website | | | +| website |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |new| website_address_autocomplete | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_blog | | | +| website_blog |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_cf_turnstile | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1146,7 +1146,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_event_sale | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_event_track | | | +| website_event_track |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_event_track_live | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1154,7 +1154,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_event_track_quiz | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_forum | | | +| website_forum |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_google_map | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1162,7 +1162,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_links | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_livechat | | | +| website_livechat |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_mail | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1180,7 +1180,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_payment | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_profile | | | +| website_profile |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_project | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1188,7 +1188,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| website_sale_autocomplete | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_sale_collect | | | +| website_sale_collect |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | |del| website_sale_collect_wishlist | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ @@ -1220,7 +1220,7 @@ Module coverage 19.0 -> 20.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_slides_forum | | | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| website_slides_survey | | | +| website_slides_survey |Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | website_sms | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..6bc583a3b88 --- /dev/null +++ b/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,93 @@ + + + + CMT + + + FTQ + + + INQ + + + MTQ + + + DAY + + + DZN + + + OZA + + + FOT + + + GLL + + + GRM + + + HUR + + + INH + + + KGM + + + KMT + + + KWH + + + LBR + + + LTR + + + MTR + + + SMI + + + MLT + + + MMT + + + MIN + + + ONZ + + + P6 + + + QTL + + + FTK + + + MTK + + + TNE + + + C62 + + + YRD + + diff --git a/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..f03d3ffa05c --- /dev/null +++ b/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "account_edi_ubl_cii", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..8695969be7d --- /dev/null +++ b/openupgrade_scripts/scripts/account_edi_ubl_cii/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,13 @@ +---Models in module 'account_edi_ubl_cii'--- +---Fields in module 'account_edi_ubl_cii'--- +account_edi_ubl_cii / account.move / has_grouped_lines (boolean) : NEW +account_edi_ubl_cii / account.tax / ubl_cii_tax_exemption_reason (char): NEW +account_edi_ubl_cii / res.partner / peppol_eas (selection) : DEL selection_keys: ['0002', '0007', '0009', '0037', '0060', '0088', '0096', '0097', '0106', '0130', '0135', '0142', '0151', '0183', '0184', '0188', '0190', '0191', '0192', '0193', '0195', '0196', '0198', '0199', '0200', '0201', '0202', '0204', '0208', '0209', '0210', '0211', '0213', '0216', '0218', '0221', '0225', '0230', '0235', '0240', '0244', '0245', '0246', '9910', '9913', '9914', '9915', '9918', '9919', '9920', '9922', '9923', '9924', '9925', '9926', '9927', '9928', '9929', '9930', '9931', '9932', '9933', '9934', '9935', '9936', '9937', '9938', '9939', '9940', '9941', '9942', '9943', '9944', '9945', '9946', '9947', '9948', '9949', '9950', '9951', '9952', '9953', '9955', '9957', '9959', 'AN', 'AQ', 'AS', 'AU', 'EM'] +account_edi_ubl_cii / res.partner / peppol_endpoint (char) : DEL +account_edi_ubl_cii / res.partner / routing_endpoint (char) : NEW hasdefault: compute +account_edi_ubl_cii / res.partner / routing_scheme (selection) : NEW selection_keys: ['0002', '0007', '0009', '0037', '0060', '0088', '0096', '0097', '0106', '0130', '0135', '0142', '0151', '0183', '0184', '0188', '0190', '0191', '0192', '0193', '0195', '0196', '0198', '0199', '0200', '0201', '0202', '0204', '0208', '0209', '0210', '0211', '0213', '0216', '0218', '0221', '0225', '0230', '0235', '0240', '0244', '0245', '0246', '9910', '9913', '9914', '9915', '9918', '9919', '9920', '9922', '9923', '9924', '9925', '9926', '9927', '9928', '9929', '9930', '9931', '9932', '9933', '9934', '9935', '9936', '9937', '9938', '9939', '9940', '9941', '9942', '9943', '9944', '9945', '9946', '9947', '9948', '9949', '9950', '9951', '9952', '9953', '9955', '9957', '9959', 'AN', 'AQ', 'AS', 'AU', 'EM'], hasdefault: compute +account_edi_ubl_cii / uom.uom / unece_code (char) : NEW +---XML records in module 'account_edi_ubl_cii'--- +ir.config_parameter: account_edi_ubl_cii.disable_pdf_in_xml (noupdate switched) +NEW ir.model.constraint: account_edi_ubl_cii.constraint_uom_uom_unece_code_unique +NEW ir.ui.view: account_edi_ubl_cii.uom_uom_view_form_inherit diff --git a/openupgrade_scripts/scripts/analytic/20.0.1.2/noupdate_changes.xml b/openupgrade_scripts/scripts/analytic/20.0.1.2/noupdate_changes.xml new file mode 100644 index 00000000000..6e1465e5c4a --- /dev/null +++ b/openupgrade_scripts/scripts/analytic/20.0.1.2/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + Project Plan + + diff --git a/openupgrade_scripts/scripts/analytic/20.0.1.2/post-migration.py b/openupgrade_scripts/scripts/analytic/20.0.1.2/post-migration.py new file mode 100644 index 00000000000..ce381d3b1ff --- /dev/null +++ b/openupgrade_scripts/scripts/analytic/20.0.1.2/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "analytic", "20.0.1.2/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/analytic/20.0.1.2/upgrade_analysis.txt b/openupgrade_scripts/scripts/analytic/20.0.1.2/upgrade_analysis.txt new file mode 100644 index 00000000000..56daf3b0460 --- /dev/null +++ b/openupgrade_scripts/scripts/analytic/20.0.1.2/upgrade_analysis.txt @@ -0,0 +1,27 @@ +---Models in module 'analytic'--- +---Fields in module 'analytic'--- +analytic / account.analytic.distribution.model / analytic_distribution (json) : now required +analytic / account.analytic.line / x_plan1_id (many2one) : NEW relation: account.analytic.account +---XML records in module 'analytic'--- +account.analytic.plan: analytic.analytic_plan_projects (noupdate switched) +decimal.precision: analytic.decimal_percentage_analytic (noupdate switched) +NEW ir.access: analytic.access_account_analytic_account +NEW ir.access: analytic.access_account_analytic_applicability +NEW ir.access: analytic.access_account_analytic_distribution_model +NEW ir.access: analytic.access_account_analytic_plan +NEW ir.access: analytic.analytic_applicability_comp_rule +NEW ir.access: analytic.analytic_comp_rule +NEW ir.access: analytic.analytic_distribution_model_comp_rule +NEW ir.access: analytic.analytic_line_analytic +NEW ir.access: analytic.analytic_line_comp_rule +ir.actions.act_window: analytic.account_analytic_line_action (deleted domain) +ir.actions.act_window: analytic.account_analytic_plan_action (deleted domain) +DEL ir.model.access: analytic.access_account_analytic_account +DEL ir.model.access: analytic.access_account_analytic_applicability +DEL ir.model.access: analytic.access_account_analytic_distribution_model +DEL ir.model.access: analytic.access_account_analytic_line +DEL ir.model.access: analytic.access_account_analytic_plan +DEL ir.rule: analytic.analytic_applicability_comp_rule (noupdate) +DEL ir.rule: analytic.analytic_comp_rule (noupdate) +DEL ir.rule: analytic.analytic_distribution_model_comp_rule (noupdate) +DEL ir.rule: analytic.analytic_line_comp_rule (noupdate) diff --git a/openupgrade_scripts/scripts/auth_signup/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..54929c00a47 --- /dev/null +++ b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,74 @@ + + + + + +Dear Mitchell Admin,

+You added the following user(s) to your database but they haven't registered yet: +
  • demo@example.com
+Follow up with them so they can access your database and start working with you. +

+Have a nice day!
+--
The YourCompany Team +
+
+ + + mail.mail_notification_layout +
+ + + + Dear Marc Demo,

+ Your account has been successfully created!
+ Your login is mark.brown23@example.com
+ To gain access to your account, you can use the following link: +
+ Go to My Account +
+ Thanks,
+
--
Mitchell Admin
+
+
+ + + mail.mail_notification_layout +
+ + + + Dear Marc Demo,

+ Welcome to YourCompany's Portal!

+ An account has been created for you with the following login: demo

+ Click on the button below to pick a password and activate your account. +
Activate Account
+ Welcome to our company's portal. +
+
+ + + mail.mail_notification_layout +
+ + + +Hi Marc Demo,

+This link is valid for link_validity_days days
+ uses Odoo +to run its business. You have been invited by OdooBot to connect. +

+Once accepted, you can reconnect through:
+ +
+ +
+Enjoy Odoo!

+--
The Team +
+ + + mail.mail_notification_layout +
+
diff --git a/openupgrade_scripts/scripts/auth_signup/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..a809e817eb5 --- /dev/null +++ b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/post-migration.py @@ -0,0 +1,20 @@ +# Copyright 2026 Don Kendall +# 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, "auth_signup", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "auth_signup", + [ + "mail_template_data_unregistered_users", + "mail_template_user_signup_account_created", + "portal_set_password_email", + "set_password_email", + ], + ["body_html"], + ) diff --git a/openupgrade_scripts/scripts/auth_signup/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..a4ac0e107df --- /dev/null +++ b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,8 @@ +---Models in module 'auth_signup'--- +---Fields in module 'auth_signup'--- +auth_signup / res.users / state (selection) : selection_keys added: [inactive] (most likely nothing to do) +---XML records in module 'auth_signup'--- +mail.template: auth_signup.mail_template_data_unregistered_users (noupdate switched) +mail.template: auth_signup.mail_template_user_signup_account_created (noupdate switched) +mail.template: auth_signup.portal_set_password_email (noupdate switched) +mail.template: auth_signup.set_password_email (noupdate switched) diff --git a/openupgrade_scripts/scripts/auth_signup/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..f1378e9c633 --- /dev/null +++ b/openupgrade_scripts/scripts/auth_signup/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,10 @@ +---Models in module 'auth_signup'--- +---Fields in module 'auth_signup'--- +auth_signup / res.users / state (selection) : selection_keys added: [inactive] (most likely nothing to do) +# NOTHING TO DO: keys were added, the existing values stay valid +---XML records in module 'auth_signup'--- +mail.template: auth_signup.mail_template_data_unregistered_users (noupdate switched) +mail.template: auth_signup.mail_template_user_signup_account_created (noupdate switched) +mail.template: auth_signup.portal_set_password_email (noupdate switched) +mail.template: auth_signup.set_password_email (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..7f78027468e --- /dev/null +++ b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,34 @@ + + + + mail.mail_notification_light + + + +
+Dear

+

Someone is trying to log in into your account with a new device.

+
    N/A
  • Location:
  • Device:
  • Browser:
  • IP address:
+

If this is you, please enter the following code to complete the login:

+ + + +

Expires in .

+ +

+ If you did NOT initiate this log-in, + you should immediately change your password to ensure account security. +

+ +

+ We also strongly recommend enabling the two-factor authentication using an authenticator app to help secure your account. +

+ +

+ Activate my two-factor authentication +

+
+
+ mail.mail_notification_light +
+
diff --git a/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..caa51ece62f --- /dev/null +++ b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "auth_totp_mail", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "auth_totp_mail", + ["mail_template_totp_mail_code"], + ["body_html"], + ) diff --git a/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..cbc145d59f3 --- /dev/null +++ b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,5 @@ +---Models in module 'auth_totp_mail'--- +---Fields in module 'auth_totp_mail'--- +---XML records in module 'auth_totp_mail'--- +mail.template: auth_totp_mail.mail_template_totp_invite (noupdate switched) +mail.template: auth_totp_mail.mail_template_totp_mail_code (noupdate switched) diff --git a/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..de750b8b6de --- /dev/null +++ b/openupgrade_scripts/scripts/auth_totp_mail/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,6 @@ +---Models in module 'auth_totp_mail'--- +---Fields in module 'auth_totp_mail'--- +---XML records in module 'auth_totp_mail'--- +mail.template: auth_totp_mail.mail_template_totp_invite (noupdate switched) +mail.template: auth_totp_mail.mail_template_totp_mail_code (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/calendar/20.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/calendar/20.0.1.1/noupdate_changes.xml new file mode 100644 index 00000000000..bc94ffadcf9 --- /dev/null +++ b/openupgrade_scripts/scripts/calendar/20.0.1.1/noupdate_changes.xml @@ -0,0 +1,562 @@ + + + + +
+ + + +

+ Event canceled + +

+

+ Hello,
+ + This is to inform you that the event Follow-up for Project proposal organized by Colleen Diaz has been canceled and removed from your calendar. + +

+
+

Details

+ + + + + + + + + + + + + +
Date & Time + Tuesday + 4 + May 2021 + + 11:00 AM + + + (Europe/Brussels) + + + +
Duration + 0H30 +
Location + Bruxelles +
+
+

+ If you have any questions or concerns, please feel free to contact us.
+ Best regards, + The Calendar Team +

+
+
+ Calendar: Event Canceled + Canceled event: {{ object.name }} + mail.mail_notification_light +
+ + +
+ + + + + + +

+ Date Updated + +

+

+ Hello Ready Mat, + + Your appointment with Jesse Brown has been updated: + + Your appointment has been updated: + Schedule a Demo is now scheduled for + 05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels). + + + Your appointment Schedule a Demo with Colleen Diaz + is now scheduled for 05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels). + + + The date of the meeting Follow-up for Project proposal created by Colleen Diaz is now scheduled for + 05/04/2021 at (11:00:00 To 11:30:00) (Europe/Brussels). + +

+
+ + View +
+
+

Details

+ + + + + + + + + + + + + + + + + + + + + +
Date & Time + Tuesday + 4 + May 2021 + + 11:00 AM + + + (Europe/Brussels) + + + +
When + Every 1 Weeks, for 3 events +
Duration + 0H30 +
Location + Bruxelles + View Map +
+ Join with + Join + + + Odoo Discuss + Video meeting + +
+
+
+ +

Attendees

+
+ + + Mitchell Admin + + + You + +
+
+ ... and 2 more +
+
+
+

Description of the event

+ Internal meeting for discussion for new pricing for product and services. +
+
+ Add to calendar + + + + + + +
+ + iCal + + + + Outlook + + + + Google + +
+

+ Thank you! + Mitchell Admin +

+
+
+ mail.mail_notification_light +
+ + +
+ + + + +

+ Invitation +

+

+ Hello Wood Corner, + + + You have been invited by Customer to the Follow-up for Project proposal meeting. + + Colleen Diaz invited you for the Follow-up for Project proposal meeting. + + + + Your meeting Follow-up for Project proposal has been booked. + +

+
+ + View +
+
+

Details

+ + + + + + + + + + + + + + + + + + + + + +
Date & Time + Tuesday + 4 + May 2021 + + 11:00 AM + + + (Europe/Brussels) + + + +
When + Every 1 Weeks, for 3 events +
Duration + 0H30 +
Location + Bruxelles + View Map +
+ Join with + Join + + + Odoo Discuss + Video meeting + +
+
+
+ +

Attendees

+
+ + + Mitchell Admin + + + You + +
+
+ ... and 2 more +
+
+
+

Description of the event

+ Internal meeting for discussion for new pricing for product and services. +
+
+ Add to calendar + + + + + + +
+ + iCal + + + + Outlook + + + + Google + +
+

+ Thank you! + Mitchell Admin +

+
+
+ mail.mail_notification_light +
+ + +
+ + +

+ Reminder + +

+

+ Hello Gemini Furniture,
+ This is a reminder for the event below. +

+
+ + View +
+
+

Details

+ + + + + + + + + + + + + + + + + + + + + +
Date & Time + Tuesday + 4 + May 2021 + + 11:00 AM + + + (Europe/Brussels) + + + +
When + Every 1 Weeks, for 3 events +
Duration + 0H30 +
Location + Bruxelles + View Map +
+ Join with + Join + + + Odoo Discuss + Video meeting + +
+
+
+ +

Attendees

+
+ + + Mitchell Admin + + + You + +
+
+ ... and 2 more +
+
+
+

Description of the event

+ Internal meeting for discussion for new pricing for product and services. +
+
+ Add to calendar + + + + + + +
+ + iCal + + + + Outlook + + + + Google + +
+

+ Thank you! + Mitchell Admin +

+
+
+ mail.mail_notification_light +
+ + +
+ + + +

+ Event updated + +

+

Hello, + This meeting has been updated. +

+
+

Details

+ + + + + + + + + + + + + + + + + + + + + +
Date & Time + Tuesday + 4 + May 2021 + + 11:00 AM + + + (Europe/Brussels) + + + +
When + Every 1 Weeks, for 3 events +
Duration + 0H30 +
Location + Bruxelles + View Map +
+ Join with + Join + + + Odoo Discuss + Video meeting + +
+
+
+ +

Attendees

+
+ + + Mitchell Admin + + + You + +
+
+ ... and 2 more +
+
+
+

Description of the event

+ Internal meeting for discussion for new pricing for product and services. +
+
+ Add to calendar + + + + + + +
+ + iCal + + + + Outlook + + + + Google + +
+

+ Thank you! + Mitchell Admin +

+
+
+ mail.mail_notification_light +
+ + Invitation Status + +
diff --git a/openupgrade_scripts/scripts/calendar/20.0.1.1/post-migration.py b/openupgrade_scripts/scripts/calendar/20.0.1.1/post-migration.py new file mode 100644 index 00000000000..b8c6fa2c991 --- /dev/null +++ b/openupgrade_scripts/scripts/calendar/20.0.1.1/post-migration.py @@ -0,0 +1,32 @@ +# Copyright 2026 Don Kendall +# 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, "calendar", "20.0.1.1/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "calendar", + [ + "calendar_template_meeting_changedate", + "calendar_template_meeting_invitation", + "calendar_template_meeting_reminder", + "calendar_template_meeting_update", + ], + ["body_html"], + ) + openupgrade.delete_record_translations( + env.cr, + "calendar", + ["calendar_template_delete_event"], + ["body_html", "name", "subject"], + ) + openupgrade.delete_record_translations( + env.cr, + "calendar", + ["subtype_invitation"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/calendar/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/calendar/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..828502726d0 --- /dev/null +++ b/openupgrade_scripts/scripts/calendar/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,115 @@ +---Models in module 'calendar'--- +obsolete model calendar.popover.delete.wizard [transient] +obsolete model calendar.provider.config [transient] +new model calendar.calendar +new model calendar.event.archive.or.unlink.wizard [transient] +new model calendar.event.multi.archive.or.unlink.wizard [transient] +new model calendar.user +---Fields in module 'calendar'--- +calendar / calendar.calendar / calendar_default_privacy (selection): NEW required, selection_keys: ['confidential', 'members_only', 'private', 'public'], hasdefault: default +calendar / calendar.calendar / calendar_user_ids (one2many) : NEW relation: calendar.user, hasdefault: default +calendar / calendar.calendar / event_ids (one2many) : NEW relation: calendar.event +calendar / calendar.calendar / name (char) : NEW +calendar / calendar.calendar / recurrence_ids (one2many) : NEW relation: calendar.recurrence +calendar / calendar.event / calendar_id (many2one) : NEW relation: calendar.calendar, hasdefault: compute +calendar / calendar.event / effective_privacy (selection) : selection_keys added: [members_only] (most likely nothing to do) +calendar / calendar.event / is_draft (boolean) : NEW +calendar / calendar.event / meeting_activity_ids (one2many): NEW relation: mail.activity +calendar / calendar.event / privacy (selection) : selection_keys added: [members_only] (most likely nothing to do) +calendar / calendar.filters / partner_checked (boolean) : DEL +calendar / calendar.user / access_role (selection) : NEW required, selection_keys: ['owner', 'writer'] +calendar / calendar.user / calendar_id (many2one) : NEW relation: calendar.calendar, required +calendar / calendar.user / filter_color (integer) : NEW hasdefault: default +calendar / calendar.user / is_filter_active (boolean) : NEW hasdefault: default +calendar / calendar.user / is_filter_checked (boolean) : NEW hasdefault: default +calendar / calendar.user / is_primary (boolean) : NEW +calendar / calendar.user / name (char) : NEW +calendar / calendar.user / user_id (many2one) : NEW relation: res.users, required +calendar / res.users / activity_calendar_event_id (many2one): not related anymore +calendar / res.users / activity_calendar_event_id (many2one): now a function +calendar / res.users / calendar_ids (one2many) : NEW relation: calendar.calendar, hasdefault: compute, stored: False +calendar / res.users / calendar_user_ids (one2many) : NEW relation: calendar.user +calendar / res.users / primary_calendar_id (many2one): NEW relation: calendar.calendar, isfunction: function, stored +calendar / res.users.settings / calendar_default_privacy (selection): DEL required, selection_keys: ['confidential', 'private', 'public'] +calendar / res.users.settings / calendar_show_activities (boolean): NEW hasdefault: default +---XML records in module 'calendar'--- +calendar.alarm: calendar.alarm_mail_1 (noupdate switched) +NEW calendar.alarm: calendar.alarm_mail_1_day +calendar.alarm: calendar.alarm_mail_2 (noupdate switched) +calendar.alarm: calendar.alarm_notif_1 (noupdate switched) +calendar.alarm: calendar.alarm_notif_2 (noupdate switched) +calendar.alarm: calendar.alarm_notif_3 (noupdate switched) +calendar.alarm: calendar.alarm_notif_4 (noupdate switched) +calendar.alarm: calendar.alarm_notif_5 (noupdate switched) +NEW ir.access: calendar.access_calendar_alarm +NEW ir.access: calendar.access_calendar_alarm_manager +NEW ir.access: calendar.access_calendar_attendee_employee +NEW ir.access: calendar.access_calendar_attendee_employee_archive_or_unlink_wizard +NEW ir.access: calendar.access_calendar_attendee_employee_multi_archive_or_unlink_wizard +NEW ir.access: calendar.access_calendar_event_type_all +NEW ir.access: calendar.access_calendar_event_type_manager +NEW ir.access: calendar.access_calendar_filters_all +NEW ir.access: calendar.access_calendar_recurrence +NEW ir.access: calendar.calendar_calendar_rule_system +NEW ir.access: calendar.calendar_calendar_rule_users_create_and_read +NEW ir.access: calendar.calendar_calendar_rule_users_update +NEW ir.access: calendar.calendar_event_rule_employee +NEW ir.access: calendar.calendar_event_rule_my +NEW ir.access: calendar.calendar_event_rule_private +NEW ir.access: calendar.calendar_user_rule_create +NEW ir.access: calendar.calendar_user_rule_own_or_owner +NEW ir.access: calendar.calendar_user_rule_read +NEW ir.actions.act_window: calendar.action_calendar_calendar +DEL ir.actions.act_window: calendar.action_event_delete_wizard +ir.config_parameter: calendar.default_privacy (noupdate switched) +ir.cron: calendar.ir_cron_scheduler_alarm (noupdate switched) +DEL ir.model.access: calendar.access_calendar_alarm +DEL ir.model.access: calendar.access_calendar_alarm_manager +DEL ir.model.access: calendar.access_calendar_attendee_employee +DEL ir.model.access: calendar.access_calendar_attendee_employee_delete_wizard +DEL ir.model.access: calendar.access_calendar_attendee_portal +DEL ir.model.access: calendar.access_calendar_event_all_employee +DEL ir.model.access: calendar.access_calendar_event_all_user +DEL ir.model.access: calendar.access_calendar_event_partner_manager +DEL ir.model.access: calendar.access_calendar_event_type_all +DEL ir.model.access: calendar.access_calendar_event_type_manager +DEL ir.model.access: calendar.access_calendar_filters +DEL ir.model.access: calendar.access_calendar_filters_all +DEL ir.model.access: calendar.access_calendar_provider_config_all +DEL ir.model.access: calendar.access_calendar_provider_config_manager +DEL ir.model.access: calendar.access_calendar_recurrence +NEW ir.model.constraint: calendar.constraint_calendar_event_access_token_unique +NEW ir.model.constraint: calendar.constraint_calendar_event_check_no_recurrent_draft +ir.model.constraint: calendar.constraint_calendar_event_type_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: calendar.constraint_calendar_filters_user_id_partner_id_unique (changed definition: is now 'False' ('UNIQUE(user_id, partner_id)')) +ir.model.constraint: calendar.constraint_calendar_recurrence_month_day (changed definition: is now 'False' ('CHECK ( rrule_type != 'monthly' OR month_by != 'day' OR day >= 1 AND day <= 31 OR weekday IN ('MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN') AND byday IN ('1', '2', '3', '4', '-1'))')) +NEW ir.model.constraint: calendar.constraint_calendar_user_single_primary_calendar_per_user +NEW ir.model.constraint: calendar.constraint_calendar_user_unique_user_per_calendar +DEL ir.rule: calendar.calendar_attendee_rule_my (noupdate) +DEL ir.rule: calendar.calendar_event_rule_employee (noupdate) +DEL ir.rule: calendar.calendar_event_rule_my (noupdate) +DEL ir.rule: calendar.calendar_event_rule_private (noupdate) +NEW ir.ui.menu: calendar.calendar_submenu_event_type +NEW ir.ui.menu: calendar.menu_calendar_calendars +NEW ir.ui.view: calendar.calendar_alarm_view_kanban +NEW ir.ui.view: calendar.calendar_alarm_view_search +NEW ir.ui.view: calendar.calendar_calendar_view_form +NEW ir.ui.view: calendar.calendar_calendar_view_list +NEW ir.ui.view: calendar.calendar_event_archive_or_unlink_wizard_view_form +NEW ir.ui.view: calendar.calendar_event_multi_archive_or_unlink_wizard_view_form +NEW ir.ui.view: calendar.calendar_user_view_form +NEW ir.ui.view: calendar.message_meeting_activity_done +NEW ir.ui.view: calendar.res_partner_view_form_simplified +NEW ir.ui.view: calendar.res_users_form_view_calendars +DEL ir.ui.view: calendar.calendar_popover_delete_view +DEL ir.ui.view: calendar.calendar_provider_config_view_form +DEL ir.ui.view: calendar.res_users_form_view_calendar_default_privacy +DEL ir.ui.view: calendar.view_event_delete_wizard_form +mail.activity.type: mail.mail_activity_data_meeting (noupdate switched) +NEW mail.message.subtype: calendar.mt_calendar_event_updated +mail.message.subtype: calendar.subtype_invitation (noupdate switched) +mail.template: calendar.calendar_template_delete_event (noupdate switched) +mail.template: calendar.calendar_template_meeting_changedate (noupdate switched) +mail.template: calendar.calendar_template_meeting_invitation (noupdate switched) +mail.template: calendar.calendar_template_meeting_reminder (noupdate switched) +mail.template: calendar.calendar_template_meeting_update (noupdate switched) diff --git a/openupgrade_scripts/scripts/crm_iap_mine/20.0.1.2/pre-migration.py b/openupgrade_scripts/scripts/crm_iap_mine/20.0.1.2/pre-migration.py new file mode 100644 index 00000000000..428c4d38500 --- /dev/null +++ b/openupgrade_scripts/scripts/crm_iap_mine/20.0.1.2/pre-migration.py @@ -0,0 +1,22 @@ +# Copyright 2026 Don Kendall +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +# 20.0 replaces the industry list wholesale -- 23 entries become 83 and the +# external ids are renumbered. Matching the two csv files by name, "Real +# Estate" is the only one carried over, and it is the only one that collides: +# crm_iap_lead_industry_name_uniq rejects the new row while the old one is +# still there under its old id. The other 22 are left to the usual removal of +# data records a module no longer declares. +_renamed_xmlids = [ + ( + "crm_iap_mine.crm_iap_mine_industry_114", + "crm_iap_mine.crm_iap_mine_industry_65", + ), +] + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_xmlids(env.cr, _renamed_xmlids) diff --git a/openupgrade_scripts/scripts/crm_iap_mine/20.0.1.2/upgrade_analysis.txt b/openupgrade_scripts/scripts/crm_iap_mine/20.0.1.2/upgrade_analysis.txt new file mode 100644 index 00000000000..ec4d89133ff --- /dev/null +++ b/openupgrade_scripts/scripts/crm_iap_mine/20.0.1.2/upgrade_analysis.txt @@ -0,0 +1,151 @@ +---Models in module 'crm_iap_mine'--- +new model crm.iap.lead.industry.division +---Fields in module 'crm_iap_mine'--- +crm_iap_mine / crm.iap.lead.industry / _order : _order is now 'sequence,division_id,name' ('sequence,id') +crm_iap_mine / crm.iap.lead.industry / division_id (many2one) : NEW relation: crm.iap.lead.industry.division, required +crm_iap_mine / crm.iap.lead.industry / reveal_ids (char) : DEL required +crm_iap_mine / crm.iap.lead.industry / sic_group (integer) : NEW required +crm_iap_mine / crm.iap.lead.industry.division / code (char) : NEW required +crm_iap_mine / crm.iap.lead.industry.division / name (char) : NEW required, translate +crm_iap_mine / crm.iap.lead.industry.division / sequence (integer) : NEW +crm_iap_mine / crm.iap.lead.mining.request / contact_filter_type (selection): DEL selection_keys: ['role', 'seniority'] +crm_iap_mine / crm.iap.lead.mining.request / contact_number (integer) : DEL +crm_iap_mine / crm.iap.lead.mining.request / preferred_role_id (many2one) : DEL relation: crm.iap.lead.role +crm_iap_mine / crm.iap.lead.mining.request / role_ids (many2many) : DEL relation: crm.iap.lead.role +crm_iap_mine / crm.iap.lead.mining.request / search_type (selection) : DEL required, selection_keys: ['companies', 'people'] +crm_iap_mine / crm.iap.lead.mining.request / seniority_id (many2one) : DEL relation: crm.iap.lead.seniority +---XML records in module 'crm_iap_mine'--- +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_01 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_02 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_07 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_08 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_09 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_10 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_12 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_13 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_14 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_15 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_16 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_17 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_20 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_21 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_22 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_23 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_24 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_25 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_26 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_27 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_28 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_29 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_30 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_31 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_32 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_34 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_35 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_36 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_37 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_38 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_39 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_40 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_41 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_42 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_43 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_44 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_45 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_46 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_47 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_48 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_49 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_50 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_51 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_52 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_53 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_54 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_55 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_56 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_57 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_58 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_59 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_60 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_61 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_62 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_63 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_64 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_65 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_67 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_70 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_72 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_73 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_75 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_76 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_78 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_79 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_80 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_81 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_82 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_83 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_84 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_87 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_88 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_89 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_91 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_92 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_93 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_94 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_95 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_96 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_97 +NEW crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_99 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_114 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_136 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_138_156 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_148 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_149 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_150_151 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_152 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_153_154 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_158_159 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_160 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_161 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_162 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_163 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_165 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_166 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_167 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_168 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_238 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_239 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_30_155 +DEL crm.iap.lead.industry: crm_iap_mine.crm_iap_mine_industry_69_157 +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_a +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_b +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_c +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_d +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_e +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_f +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_g +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_h +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_i +NEW crm.iap.lead.industry.division: crm_iap_mine.crm_iap_mine_division_j +NEW ir.access: crm_iap_mine.access_crm_iap_lead_industry +NEW ir.access: crm_iap_mine.access_crm_iap_lead_industry_division +NEW ir.access: crm_iap_mine.access_crm_iap_lead_mining_request +NEW ir.access: crm_iap_mine.access_crm_iap_lead_role +NEW ir.access: crm_iap_mine.access_crm_iap_lead_seniority +DEL ir.model.access: crm_iap_mine.access_crm_iap_lead_helpers +DEL ir.model.access: crm_iap_mine.access_crm_iap_lead_industry +DEL ir.model.access: crm_iap_mine.access_crm_iap_lead_mining_request +DEL ir.model.access: crm_iap_mine.access_crm_iap_lead_role +DEL ir.model.access: crm_iap_mine.access_crm_iap_lead_seniority +NEW ir.model.constraint: crm_iap_mine.constraint_crm_iap_lead_industry_division_name_uniq +ir.model.constraint: crm_iap_mine.constraint_crm_iap_lead_industry_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: crm_iap_mine.constraint_crm_iap_lead_role_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: crm_iap_mine.constraint_crm_iap_lead_seniority_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.sequence: crm_iap_mine.ir_sequence_crm_iap_mine (noupdate switched) +NEW ir.ui.view: crm_iap_mine.crm_iap_lead_industry_view_search +NEW ir.ui.view: crm_iap_mine.crm_iap_lead_industry_view_tree +DEL ir.ui.view: crm_iap_mine.crm_case_kanban_view_leads +DEL ir.ui.view: crm_iap_mine.crm_lead_view_tree_lead +DEL ir.ui.view: crm_iap_mine.crm_lead_view_tree_opportunity +DEL ir.ui.view: crm_iap_mine.view_crm_lead_kanban +mail.template: crm_iap_mine.lead_generation_no_credits (noupdate switched) diff --git a/openupgrade_scripts/scripts/delivery/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/delivery/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..eb7fcd438cd --- /dev/null +++ b/openupgrade_scripts/scripts/delivery/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,13 @@ + + + + + + + + + + True + 30 + + diff --git a/openupgrade_scripts/scripts/delivery/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/delivery/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..db9457422b7 --- /dev/null +++ b/openupgrade_scripts/scripts/delivery/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "delivery", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/delivery/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/delivery/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..2ac854479e2 --- /dev/null +++ b/openupgrade_scripts/scripts/delivery/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,46 @@ +---Models in module 'delivery'--- +new model delivery.note.wizard [transient] +new model delivery.note.wizard.line [transient] +---Fields in module 'delivery'--- +delivery / payment.provider / custom_mode (False) : selection_keys added: [pay_on_invoice] (most likely nothing to do) +delivery / res.partner / is_pickup_location (boolean) : DEL +delivery / sale.order / pickup_location_data (json) : DEL +---XML records in module 'delivery'--- +delivery.carrier: delivery.free_delivery_carrier (noupdate switched) +NEW ir.access: delivery.access_choose_delivery_carrier +NEW ir.access: delivery.access_delivery_carrier +NEW ir.access: delivery.access_delivery_carrier_manager +NEW ir.access: delivery.access_delivery_carrier_partner_manager +NEW ir.access: delivery.access_delivery_note_line_user +NEW ir.access: delivery.access_delivery_note_user +NEW ir.access: delivery.access_delivery_price_rule +NEW ir.access: delivery.access_delivery_price_rule_manager +NEW ir.access: delivery.access_delivery_zip_prefix +NEW ir.access: delivery.access_delivery_zip_prefix_sale_manager +NEW ir.access: delivery.delivery_carrier_comp_rule +NEW ir.actions.report: delivery.action_report_delivery_note +DEL ir.model.access: delivery.access_choose_delivery_carrier +DEL ir.model.access: delivery.access_delivery_carrier +DEL ir.model.access: delivery.access_delivery_carrier_manager +DEL ir.model.access: delivery.access_delivery_carrier_partner_manager +DEL ir.model.access: delivery.access_delivery_carrier_system +DEL ir.model.access: delivery.access_delivery_price_rule +DEL ir.model.access: delivery.access_delivery_price_rule_manager +DEL ir.model.access: delivery.access_delivery_price_rule_sale_manager +DEL ir.model.access: delivery.access_delivery_zip_prefix +DEL ir.model.access: delivery.access_delivery_zip_prefix_sale_manager +ir.model.constraint: delivery.constraint_delivery_carrier_margin_not_under_100_percent (changed definition: is now 'False' ('CHECK (margin >= -1)')) +ir.model.constraint: delivery.constraint_delivery_carrier_shipping_insurance_is_percentage (changed definition: is now 'False' ('CHECK(shipping_insurance >= 0 AND shipping_insurance <= 100)')) +ir.model.constraint: delivery.constraint_delivery_zip_prefix_name_uniq (changed definition: is now 'False' ('unique (name)')) +DEL ir.rule: delivery.delivery_carrier_comp_rule (noupdate) +NEW ir.sequence: delivery.seq_delivery_note +NEW ir.ui.view: delivery.delivery_note_form_view +NEW ir.ui.view: delivery.delivery_note_list_view +NEW ir.ui.view: delivery.report_delivery_note +NEW ir.ui.view: delivery.state_header +NEW ir.ui.view: delivery.view_delivery_carrier_so_list +NEW mail.template: delivery.mail_template_data_delivery_note +payment.method: delivery.payment_method_cash_on_delivery (noupdate switched) +payment.provider: delivery.payment_provider_cod (noupdate switched) +product.category: delivery.product_category_deliveries (noupdate switched) +product.product: delivery.product_product_delivery (noupdate switched) diff --git a/openupgrade_scripts/scripts/delivery/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/delivery/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..604cc7a65c8 --- /dev/null +++ b/openupgrade_scripts/scripts/delivery/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,58 @@ +---Models in module 'delivery'--- +new model delivery.note.wizard [transient] +new model delivery.note.wizard.line [transient] +# NOTHING TO DO: a transient model holds no persistent data +---Fields in module 'delivery'--- +delivery / payment.provider / custom_mode (False) : selection_keys added: [pay_on_invoice] (most likely nothing to do) +# NOTHING TO DO: keys were added, the existing values stay valid +delivery / res.partner / is_pickup_location (boolean) : DEL +delivery / sale.order / pickup_location_data (json) : DEL +# NOTHING TO DO: the column is left in place for database_cleanup +---XML records in module 'delivery'--- +delivery.carrier: delivery.free_delivery_carrier (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW ir.access: delivery.access_choose_delivery_carrier +NEW ir.access: delivery.access_delivery_carrier +NEW ir.access: delivery.access_delivery_carrier_manager +NEW ir.access: delivery.access_delivery_carrier_partner_manager +NEW ir.access: delivery.access_delivery_note_line_user +NEW ir.access: delivery.access_delivery_note_user +NEW ir.access: delivery.access_delivery_price_rule +NEW ir.access: delivery.access_delivery_price_rule_manager +NEW ir.access: delivery.access_delivery_zip_prefix +NEW ir.access: delivery.access_delivery_zip_prefix_sale_manager +NEW ir.access: delivery.delivery_carrier_comp_rule +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +NEW ir.actions.report: delivery.action_report_delivery_note +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL ir.model.access: delivery.access_choose_delivery_carrier +DEL ir.model.access: delivery.access_delivery_carrier +DEL ir.model.access: delivery.access_delivery_carrier_manager +DEL ir.model.access: delivery.access_delivery_carrier_partner_manager +DEL ir.model.access: delivery.access_delivery_carrier_system +DEL ir.model.access: delivery.access_delivery_price_rule +DEL ir.model.access: delivery.access_delivery_price_rule_manager +DEL ir.model.access: delivery.access_delivery_price_rule_sale_manager +DEL ir.model.access: delivery.access_delivery_zip_prefix +DEL ir.model.access: delivery.access_delivery_zip_prefix_sale_manager +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.model.constraint: delivery.constraint_delivery_carrier_margin_not_under_100_percent (changed definition: is now 'False' ('CHECK (margin >= -1)')) +ir.model.constraint: delivery.constraint_delivery_carrier_shipping_insurance_is_percentage (changed definition: is now 'False' ('CHECK(shipping_insurance >= 0 AND shipping_insurance <= 100)')) +ir.model.constraint: delivery.constraint_delivery_zip_prefix_name_uniq (changed definition: is now 'False' ('unique (name)')) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites it +DEL ir.rule: delivery.delivery_carrier_comp_rule (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +NEW ir.sequence: delivery.seq_delivery_note +NEW ir.ui.view: delivery.delivery_note_form_view +NEW ir.ui.view: delivery.delivery_note_list_view +NEW ir.ui.view: delivery.report_delivery_note +NEW ir.ui.view: delivery.state_header +NEW ir.ui.view: delivery.view_delivery_carrier_so_list +NEW mail.template: delivery.mail_template_data_delivery_note +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.method: delivery.payment_method_cash_on_delivery (noupdate switched) +payment.provider: delivery.payment_provider_cod (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml +product.category: delivery.product_category_deliveries (noupdate switched) +product.product: delivery.product_product_delivery (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/digest/20.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/digest/20.0.1.1/noupdate_changes.xml new file mode 100644 index 00000000000..4c1ffa49a18 --- /dev/null +++ b/openupgrade_scripts/scripts/digest/20.0.1.1/noupdate_changes.xml @@ -0,0 +1,480 @@ + + + + + + + diff --git a/openupgrade_scripts/scripts/digest/20.0.1.1/post-migration.py b/openupgrade_scripts/scripts/digest/20.0.1.1/post-migration.py new file mode 100644 index 00000000000..21d329e7853 --- /dev/null +++ b/openupgrade_scripts/scripts/digest/20.0.1.1/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "digest", "20.0.1.1/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/digest/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/digest/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..020b06a1eb2 --- /dev/null +++ b/openupgrade_scripts/scripts/digest/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,22 @@ +---Models in module 'digest'--- +new model digest.test [transient] +---Fields in module 'digest'--- +digest / res.users / digest_ids (many2many) : NEW relation: digest.digest +---XML records in module 'digest'--- +digest.digest: digest.digest_digest_default (noupdate switched) +NEW ir.access: digest.access_digest_digest_system +NEW ir.access: digest.access_digest_digest_user +NEW ir.access: digest.access_digest_test +NEW ir.access: digest.access_digest_tip_system +NEW ir.access: digest.access_digest_tip_user +ir.config_parameter: digest.default_digest (noupdate switched) +ir.config_parameter: digest.default_emails_digest (noupdate switched) +DEL ir.model.access: digest.access_digest_digest_system +DEL ir.model.access: digest.access_digest_digest_user +DEL ir.model.access: digest.access_digest_tip_system +DEL ir.model.access: digest.access_digest_tip_user +ir.ui.view: digest.digest_mail_layout (noupdate switched) +ir.ui.view: digest.digest_mail_main (noupdate switched) +ir.ui.view: digest.digest_section_mobile (noupdate switched) +NEW ir.ui.view: digest.digest_test_view_form +ir.ui.view: digest.digest_tool_kpi (noupdate switched) diff --git a/openupgrade_scripts/scripts/digest/20.0.1.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/digest/20.0.1.1/upgrade_analysis_work.txt new file mode 100644 index 00000000000..f151a48245c --- /dev/null +++ b/openupgrade_scripts/scripts/digest/20.0.1.1/upgrade_analysis_work.txt @@ -0,0 +1,31 @@ +---Models in module 'digest'--- +new model digest.test [transient] +# NOTHING TO DO: a transient model holds no persistent data +---Fields in module 'digest'--- +digest / res.users / digest_ids (many2many) : NEW relation: digest.digest +# NOTHING TO DO: empty is the right value for existing records +---XML records in module 'digest'--- +digest.digest: digest.digest_digest_default (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW ir.access: digest.access_digest_digest_system +NEW ir.access: digest.access_digest_digest_user +NEW ir.access: digest.access_digest_test +NEW ir.access: digest.access_digest_tip_system +NEW ir.access: digest.access_digest_tip_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.config_parameter: digest.default_digest (noupdate switched) +ir.config_parameter: digest.default_emails_digest (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +DEL ir.model.access: digest.access_digest_digest_system +DEL ir.model.access: digest.access_digest_digest_user +DEL ir.model.access: digest.access_digest_tip_system +DEL ir.model.access: digest.access_digest_tip_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.ui.view: digest.digest_mail_layout (noupdate switched) +ir.ui.view: digest.digest_mail_main (noupdate switched) +ir.ui.view: digest.digest_section_mobile (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml +NEW ir.ui.view: digest.digest_test_view_form +# NOTHING TO DO: the record is not noupdate, so the module update creates it +ir.ui.view: digest.digest_tool_kpi (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/event/20.0.1.9/noupdate_changes.xml b/openupgrade_scripts/scripts/event/20.0.1.9/noupdate_changes.xml new file mode 100644 index 00000000000..baa37dc3eb2 --- /dev/null +++ b/openupgrade_scripts/scripts/event/20.0.1.9/noupdate_changes.xml @@ -0,0 +1,9 @@ + + + + True + + + mail.mail_notification_light + + diff --git a/openupgrade_scripts/scripts/event/20.0.1.9/post-migration.py b/openupgrade_scripts/scripts/event/20.0.1.9/post-migration.py new file mode 100644 index 00000000000..3c023a1e564 --- /dev/null +++ b/openupgrade_scripts/scripts/event/20.0.1.9/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "event", "20.0.1.9/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/event/20.0.1.9/upgrade_analysis.txt b/openupgrade_scripts/scripts/event/20.0.1.9/upgrade_analysis.txt new file mode 100644 index 00000000000..118dc705dcb --- /dev/null +++ b/openupgrade_scripts/scripts/event/20.0.1.9/upgrade_analysis.txt @@ -0,0 +1,110 @@ +---Models in module 'event'--- +---Fields in module 'event'--- +event / digest.digest / kpi_nbr_of_registrations (boolean): NEW +event / event.event / website_message_ids (one2many): DEL relation: mail.message +event / event.event.ticket / entry_limit (integer) : NEW hasdefault: default +event / event.registration / event_begin_date (datetime) : is now stored +event / event.registration / main_registration_id (many2one): NEW relation: event.registration +event / event.registration / website_message_ids (one2many): DEL relation: mail.message +---XML records in module 'event'--- +event.question: event.event_question_email (noupdate switched) +event.question: event.event_question_name (noupdate switched) +event.question: event.event_question_phone (noupdate switched) +event.stage: event.event_stage_announced (noupdate switched) +event.stage: event.event_stage_booked (noupdate switched) +event.stage: event.event_stage_done (noupdate switched) +event.stage: event.event_stage_new (noupdate switched) +NEW ir.access: event.access_event_event_manager +NEW ir.access: event.access_event_event_registration +NEW ir.access: event.access_event_event_ticket_registration +NEW ir.access: event.access_event_event_ticket_user +NEW ir.access: event.access_event_event_user +NEW ir.access: event.access_event_mail_registration +NEW ir.access: event.access_event_mail_registration_manager +NEW ir.access: event.access_event_mail_registration_registration +NEW ir.access: event.access_event_mail_slot_manager +NEW ir.access: event.access_event_mail_slot_registration +NEW ir.access: event.access_event_mail_user +NEW ir.access: event.access_event_question_answer_employee +NEW ir.access: event.access_event_question_answer_registration +NEW ir.access: event.access_event_question_user +NEW ir.access: event.access_event_registration_answer +NEW ir.access: event.access_event_registration_manager +NEW ir.access: event.access_event_registration_registration +NEW ir.access: event.access_event_slot_registration +NEW ir.access: event.access_event_slot_user +NEW ir.access: event.access_event_stage_manager +NEW ir.access: event.access_event_stage_registration +NEW ir.access: event.access_event_tag_category_registration +NEW ir.access: event.access_event_tag_category_user +NEW ir.access: event.access_event_tag_manager +NEW ir.access: event.access_event_tag_registration +NEW ir.access: event.access_event_tag_user +NEW ir.access: event.access_event_type_mail_manager +NEW ir.access: event.access_event_type_mail_registration +NEW ir.access: event.access_event_type_manager +NEW ir.access: event.access_event_type_registration +NEW ir.access: event.access_event_type_ticket_manager +NEW ir.access: event.access_event_type_ticket_registration +NEW ir.access: event.event_event_company_rule +NEW ir.access: event.event_question_answer_registration_desk_rule +NEW ir.access: event.event_question_user_rule +NEW ir.access: event.event_registration_company_rule +NEW ir.access: event.event_registration_portal_rule +NEW ir.access: event.event_registration_user_portal_rule +NEW ir.access: event.ir_rule_event_event_ticket_company +ir.actions.act_window: event.act_event_registration_from_event (deleted domain) +ir.actions.act_window: event.action_registration (deleted domain) +ir.actions.act_window: event.event_registration_action_kanban (deleted domain) +ir.actions.act_window: event.event_registration_action_stats_from_event (deleted domain) +ir.actions.act_window: event.event_slot_action_from_event (deleted domain) +ir.cron: event.event_mail_scheduler (noupdate switched) +DEL ir.model.access: event.access_event_event_manager +DEL ir.model.access: event.access_event_event_registration +DEL ir.model.access: event.access_event_event_ticket +DEL ir.model.access: event.access_event_event_ticket_registration +DEL ir.model.access: event.access_event_event_ticket_user +DEL ir.model.access: event.access_event_event_user +DEL ir.model.access: event.access_event_mail_registration +DEL ir.model.access: event.access_event_mail_registration_manager +DEL ir.model.access: event.access_event_mail_registration_registration +DEL ir.model.access: event.access_event_mail_slot_manager +DEL ir.model.access: event.access_event_mail_slot_registration +DEL ir.model.access: event.access_event_mail_user +DEL ir.model.access: event.access_event_question_answer_employee +DEL ir.model.access: event.access_event_question_answer_registration +DEL ir.model.access: event.access_event_question_answer_user +DEL ir.model.access: event.access_event_question_manager +DEL ir.model.access: event.access_event_question_user +DEL ir.model.access: event.access_event_registration +DEL ir.model.access: event.access_event_registration_answer +DEL ir.model.access: event.access_event_registration_manager +DEL ir.model.access: event.access_event_registration_registration +DEL ir.model.access: event.access_event_slot_registration +DEL ir.model.access: event.access_event_slot_user +DEL ir.model.access: event.access_event_stage_manager +DEL ir.model.access: event.access_event_stage_registration +DEL ir.model.access: event.access_event_tag +DEL ir.model.access: event.access_event_tag_category_registration +DEL ir.model.access: event.access_event_tag_category_user +DEL ir.model.access: event.access_event_tag_manager +DEL ir.model.access: event.access_event_tag_registration +DEL ir.model.access: event.access_event_tag_user +DEL ir.model.access: event.access_event_type_mail_manager +DEL ir.model.access: event.access_event_type_mail_registration +DEL ir.model.access: event.access_event_type_manager +DEL ir.model.access: event.access_event_type_registration +DEL ir.model.access: event.access_event_type_ticket_manager +DEL ir.model.access: event.access_event_type_ticket_registration +ir.model.constraint: event.constraint_event_question_check_default_question_is_reusable (changed definition: is now 'False' ('CHECK(is_default IS DISTINCT FROM TRUE OR is_reusable IS TRUE)')) +ir.model.constraint: event.constraint_event_registration_answer_value_check (changed definition: is now 'False' ('CHECK(value_answer_id IS NOT NULL OR COALESCE(value_text_box, '') <> '')')) +ir.model.constraint: event.constraint_event_registration_barcode_event_uniq (changed definition: is now 'False' ('unique(barcode)')) +DEL ir.rule: event.event_event_company_rule (noupdate) +DEL ir.rule: event.event_registration_company_rule (noupdate) +DEL ir.rule: event.ir_rule_event_event_ticket_company (noupdate) +NEW ir.ui.view: event.digest_digest_view_form +NEW ir.ui.view: event.portal_my_events +mail.template: event.event_registration_mail_template_badge (noupdate switched) +mail.template: event.event_reminder (noupdate switched) +mail.template: event.event_subscription (noupdate switched) +NEW portal.entry: event.portal_events_client diff --git a/openupgrade_scripts/scripts/event_sms/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/event_sms/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..327917e8548 --- /dev/null +++ b/openupgrade_scripts/scripts/event_sms/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,7 @@ + + + + Ready for "{{ object.event_id.name }}" {{ object.event_date_range }}? +{{ 'It starts at %s' % format_time(time=object.event_begin_date, tz=object.event_id.date_tz, time_format='short', lang_code=object.partner_id.lang) + (', at %s' % object.event_id.contact_address_inline if object.event_id.contact_address_inline else '') + '.\nSee you there!' if object.event_id.contact_address_inline or 'website_published' not in object.event_id._fields else 'Join us on %s/event/%i!' % (object.get_base_url(), object.event_id.id) }} + + diff --git a/openupgrade_scripts/scripts/event_sms/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/event_sms/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..fd0fb4d1cc6 --- /dev/null +++ b/openupgrade_scripts/scripts/event_sms/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "event_sms", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "event_sms", + ["sms_template_data_event_reminder"], + ["body"], + ) diff --git a/openupgrade_scripts/scripts/event_sms/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/event_sms/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..a9557b14d4c --- /dev/null +++ b/openupgrade_scripts/scripts/event_sms/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,9 @@ +---Models in module 'event_sms'--- +---Fields in module 'event_sms'--- +---XML records in module 'event_sms'--- +NEW ir.access: event_sms.access_sms_template_event_manager +NEW ir.access: event_sms.ir_rule_sms_template_event_manager +DEL ir.model.access: event_sms.access_sms_template_event_manager +DEL ir.rule: event_sms.ir_rule_sms_template_event_manager (noupdate) +sms.template: event_sms.sms_template_data_event_registration (noupdate switched) +sms.template: event_sms.sms_template_data_event_reminder (noupdate switched) diff --git a/openupgrade_scripts/scripts/event_sms/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/event_sms/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..690c136a813 --- /dev/null +++ b/openupgrade_scripts/scripts/event_sms/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,12 @@ +---Models in module 'event_sms'--- +---Fields in module 'event_sms'--- +---XML records in module 'event_sms'--- +NEW ir.access: event_sms.access_sms_template_event_manager +NEW ir.access: event_sms.ir_rule_sms_template_event_manager +DEL ir.model.access: event_sms.access_sms_template_event_manager +DEL ir.rule: event_sms.ir_rule_sms_template_event_manager (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +sms.template: event_sms.sms_template_data_event_registration (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +sms.template: event_sms.sms_template_data_event_reminder (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/gamification/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/gamification/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..f8b1251de47 --- /dev/null +++ b/openupgrade_scripts/scripts/gamification/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,49 @@ + + + + + +
Hi ,
+
+
You've just been awarded the badge + by . +
+ + + + + + + +
+ + + +
+ +
+ 💬 says: +
+ "" +
+
+
+
+ Thank you for your contributions, and keep shining! +
+
+
+ + + mail.mail_notification_layout +
+ + mail.mail_notification_light + + + mail.mail_notification_light + + + mail.mail_notification_light + +
diff --git a/openupgrade_scripts/scripts/gamification/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/gamification/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..7bf3cd44778 --- /dev/null +++ b/openupgrade_scripts/scripts/gamification/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "gamification", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "gamification", + ["email_template_badge_received"], + ["body_html"], + ) diff --git a/openupgrade_scripts/scripts/gamification/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/gamification/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..026ef9f9b44 --- /dev/null +++ b/openupgrade_scripts/scripts/gamification/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,82 @@ +---Models in module 'gamification'--- +---Fields in module 'gamification'--- +---XML records in module 'gamification'--- +gamification.badge: gamification.badge_good_job (noupdate switched) +gamification.badge: gamification.badge_hidden (noupdate switched) +gamification.badge: gamification.badge_idea (noupdate switched) +gamification.badge: gamification.badge_problem_solver (noupdate switched) +gamification.challenge: gamification.challenge_base_configure (noupdate switched) +gamification.challenge: gamification.challenge_base_discover (noupdate switched) +gamification.challenge.line: gamification.line_base_admin1 (noupdate switched) +gamification.challenge.line: gamification.line_base_admin2 (noupdate switched) +gamification.challenge.line: gamification.line_base_admin3 (noupdate switched) +gamification.challenge.line: gamification.line_base_discover1 (noupdate switched) +gamification.goal.definition: gamification.definition_base_company_data (noupdate switched) +gamification.goal.definition: gamification.definition_base_company_logo (noupdate switched) +gamification.goal.definition: gamification.definition_base_invite (noupdate switched) +gamification.goal.definition: gamification.definition_base_timezone (noupdate switched) +gamification.karma.rank: gamification.rank_bachelor (noupdate switched) +gamification.karma.rank: gamification.rank_doctor (noupdate switched) +gamification.karma.rank: gamification.rank_master (noupdate switched) +gamification.karma.rank: gamification.rank_newbie (noupdate switched) +gamification.karma.rank: gamification.rank_student (noupdate switched) +gamification.karma.tracking: gamification.karma_tracking_user_admin (noupdate switched) +gamification.karma.tracking: gamification.karma_tracking_user_root (noupdate switched) +NEW ir.access: gamification.access_gamification_badge_user_wizard +NEW ir.access: gamification.access_gamification_goal_wizard +NEW ir.access: gamification.badge_employee +NEW ir.access: gamification.badge_manager +NEW ir.access: gamification.challenge_employee +NEW ir.access: gamification.challenge_line_employee +NEW ir.access: gamification.challenge_line_manager +NEW ir.access: gamification.challenge_manager +NEW ir.access: gamification.gamification_badge_user_access +NEW ir.access: gamification.gamification_badge_user_access_1 +NEW ir.access: gamification.gamification_karma_rank_access_employee +NEW ir.access: gamification.gamification_karma_rank_access_user_manager +NEW ir.access: gamification.gamification_karma_tracking_access_user_manager +NEW ir.access: gamification.goal_definition_employee +NEW ir.access: gamification.goal_definition_manager +NEW ir.access: gamification.goal_gamification_manager_visibility +NEW ir.access: gamification.goal_global_multicompany +NEW ir.access: gamification.goal_manager +NEW ir.access: gamification.goal_user_visibility +ir.actions.act_window: gamification.action_current_rank_users (deleted domain) +ir.cron: gamification.ir_cron_check_challenge (noupdate switched) +ir.cron: gamification.ir_cron_consolidate (noupdate switched) +DEL ir.model.access: gamification.access_gamification_badge_user_wizard +DEL ir.model.access: gamification.access_gamification_goal_wizard +DEL ir.model.access: gamification.badge_employee +DEL ir.model.access: gamification.badge_manager +DEL ir.model.access: gamification.badge_portal +DEL ir.model.access: gamification.badge_public +DEL ir.model.access: gamification.badge_user_employee +DEL ir.model.access: gamification.badge_user_manager +DEL ir.model.access: gamification.badge_user_portal +DEL ir.model.access: gamification.badge_user_public +DEL ir.model.access: gamification.challenge_employee +DEL ir.model.access: gamification.challenge_line_employee +DEL ir.model.access: gamification.challenge_line_manager +DEL ir.model.access: gamification.challenge_line_portal +DEL ir.model.access: gamification.challenge_manager +DEL ir.model.access: gamification.challenge_portal +DEL ir.model.access: gamification.gamification_karma_rank_access_employee +DEL ir.model.access: gamification.gamification_karma_rank_access_portal +DEL ir.model.access: gamification.gamification_karma_rank_access_public +DEL ir.model.access: gamification.gamification_karma_rank_access_user_manager +DEL ir.model.access: gamification.gamification_karma_tracking_access_all +DEL ir.model.access: gamification.gamification_karma_tracking_access_user_manager +DEL ir.model.access: gamification.goal_definition_employee +DEL ir.model.access: gamification.goal_definition_manager +DEL ir.model.access: gamification.goal_definition_portal +DEL ir.model.access: gamification.goal_employee +DEL ir.model.access: gamification.goal_manager +DEL ir.model.access: gamification.goal_portal +ir.model.constraint: gamification.constraint_gamification_karma_rank_karma_min_check (changed definition: is now 'False' ('CHECK( karma_min > 0 )')) +DEL ir.rule: gamification.goal_gamification_manager_visibility (noupdate) +DEL ir.rule: gamification.goal_global_multicompany (noupdate) +DEL ir.rule: gamification.goal_user_visibility (noupdate) +mail.template: gamification.email_template_badge_received (noupdate switched) +mail.template: gamification.email_template_goal_reminder (noupdate switched) +mail.template: gamification.mail_template_data_new_rank_reached (noupdate switched) +mail.template: gamification.simple_report_template (noupdate switched) diff --git a/openupgrade_scripts/scripts/gamification/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/gamification/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..992fa2530a2 --- /dev/null +++ b/openupgrade_scripts/scripts/gamification/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,90 @@ +---Models in module 'gamification'--- +---Fields in module 'gamification'--- +---XML records in module 'gamification'--- +gamification.badge: gamification.badge_good_job (noupdate switched) +gamification.badge: gamification.badge_hidden (noupdate switched) +gamification.badge: gamification.badge_idea (noupdate switched) +gamification.badge: gamification.badge_problem_solver (noupdate switched) +gamification.challenge: gamification.challenge_base_configure (noupdate switched) +gamification.challenge: gamification.challenge_base_discover (noupdate switched) +gamification.challenge.line: gamification.line_base_admin1 (noupdate switched) +gamification.challenge.line: gamification.line_base_admin2 (noupdate switched) +gamification.challenge.line: gamification.line_base_admin3 (noupdate switched) +gamification.challenge.line: gamification.line_base_discover1 (noupdate switched) +gamification.goal.definition: gamification.definition_base_company_data (noupdate switched) +gamification.goal.definition: gamification.definition_base_company_logo (noupdate switched) +gamification.goal.definition: gamification.definition_base_invite (noupdate switched) +gamification.goal.definition: gamification.definition_base_timezone (noupdate switched) +gamification.karma.rank: gamification.rank_bachelor (noupdate switched) +gamification.karma.rank: gamification.rank_doctor (noupdate switched) +gamification.karma.rank: gamification.rank_master (noupdate switched) +gamification.karma.rank: gamification.rank_newbie (noupdate switched) +gamification.karma.rank: gamification.rank_student (noupdate switched) +gamification.karma.tracking: gamification.karma_tracking_user_admin (noupdate switched) +gamification.karma.tracking: gamification.karma_tracking_user_root (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW ir.access: gamification.access_gamification_badge_user_wizard +NEW ir.access: gamification.access_gamification_goal_wizard +NEW ir.access: gamification.badge_employee +NEW ir.access: gamification.badge_manager +NEW ir.access: gamification.challenge_employee +NEW ir.access: gamification.challenge_line_employee +NEW ir.access: gamification.challenge_line_manager +NEW ir.access: gamification.challenge_manager +NEW ir.access: gamification.gamification_badge_user_access +NEW ir.access: gamification.gamification_badge_user_access_1 +NEW ir.access: gamification.gamification_karma_rank_access_employee +NEW ir.access: gamification.gamification_karma_rank_access_user_manager +NEW ir.access: gamification.gamification_karma_tracking_access_user_manager +NEW ir.access: gamification.goal_definition_employee +NEW ir.access: gamification.goal_definition_manager +NEW ir.access: gamification.goal_gamification_manager_visibility +NEW ir.access: gamification.goal_global_multicompany +NEW ir.access: gamification.goal_manager +NEW ir.access: gamification.goal_user_visibility +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.actions.act_window: gamification.action_current_rank_users (deleted domain) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites the domain +ir.cron: gamification.ir_cron_check_challenge (noupdate switched) +ir.cron: gamification.ir_cron_consolidate (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +DEL ir.model.access: gamification.access_gamification_badge_user_wizard +DEL ir.model.access: gamification.access_gamification_goal_wizard +DEL ir.model.access: gamification.badge_employee +DEL ir.model.access: gamification.badge_manager +DEL ir.model.access: gamification.badge_portal +DEL ir.model.access: gamification.badge_public +DEL ir.model.access: gamification.badge_user_employee +DEL ir.model.access: gamification.badge_user_manager +DEL ir.model.access: gamification.badge_user_portal +DEL ir.model.access: gamification.badge_user_public +DEL ir.model.access: gamification.challenge_employee +DEL ir.model.access: gamification.challenge_line_employee +DEL ir.model.access: gamification.challenge_line_manager +DEL ir.model.access: gamification.challenge_line_portal +DEL ir.model.access: gamification.challenge_manager +DEL ir.model.access: gamification.challenge_portal +DEL ir.model.access: gamification.gamification_karma_rank_access_employee +DEL ir.model.access: gamification.gamification_karma_rank_access_portal +DEL ir.model.access: gamification.gamification_karma_rank_access_public +DEL ir.model.access: gamification.gamification_karma_rank_access_user_manager +DEL ir.model.access: gamification.gamification_karma_tracking_access_all +DEL ir.model.access: gamification.gamification_karma_tracking_access_user_manager +DEL ir.model.access: gamification.goal_definition_employee +DEL ir.model.access: gamification.goal_definition_manager +DEL ir.model.access: gamification.goal_definition_portal +DEL ir.model.access: gamification.goal_employee +DEL ir.model.access: gamification.goal_manager +DEL ir.model.access: gamification.goal_portal +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.model.constraint: gamification.constraint_gamification_karma_rank_karma_min_check (changed definition: is now 'False' ('CHECK( karma_min > 0 )')) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites it +DEL ir.rule: gamification.goal_gamification_manager_visibility (noupdate) +DEL ir.rule: gamification.goal_global_multicompany (noupdate) +DEL ir.rule: gamification.goal_user_visibility (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +mail.template: gamification.email_template_badge_received (noupdate switched) +mail.template: gamification.email_template_goal_reminder (noupdate switched) +mail.template: gamification.mail_template_data_new_rank_reached (noupdate switched) +mail.template: gamification.simple_report_template (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/hr_expense/20.0.2.1/noupdate_changes.xml b/openupgrade_scripts/scripts/hr_expense/20.0.2.1/noupdate_changes.xml new file mode 100644 index 00000000000..d681cedd4c9 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_expense/20.0.2.1/noupdate_changes.xml @@ -0,0 +1,91 @@ + + + + + + + attach_money + + diff --git a/openupgrade_scripts/scripts/hr_expense/20.0.2.1/post-migration.py b/openupgrade_scripts/scripts/hr_expense/20.0.2.1/post-migration.py new file mode 100644 index 00000000000..ef52590205e --- /dev/null +++ b/openupgrade_scripts/scripts/hr_expense/20.0.2.1/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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_expense", "20.0.2.1/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/hr_expense/20.0.2.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_expense/20.0.2.1/upgrade_analysis.txt new file mode 100644 index 00000000000..b2149ffbb11 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_expense/20.0.2.1/upgrade_analysis.txt @@ -0,0 +1,96 @@ +---Models in module 'hr_expense'--- +obsolete model hr.expense.post.wizard [transient] +new model hr.expense.product.job.position.limit +---Fields in module 'hr_expense'--- +hr_expense / account.move / existing_expense_ids (one2many): NEW relation: hr.expense +hr_expense / hr.expense / existing_bill_id (many2one) : NEW relation: account.move +hr_expense / hr.expense / has_existing_bill (boolean) : NEW +hr_expense / hr.expense / journal_id (many2one) : not related anymore +hr_expense / hr.expense / journal_id (many2one) : now a function +hr_expense / hr.expense / last_notification_date (datetime): NEW +hr_expense / hr.expense / website_message_ids (one2many): DEL relation: mail.message +hr_expense / hr.expense.product.job.position.limit / job_ids (many2many) : NEW relation: hr.job +hr_expense / hr.expense.product.job.position.limit / limit_amount (float) : NEW required +hr_expense / hr.expense.product.job.position.limit / product_id (many2one) : NEW relation: product.product, required +hr_expense / hr.expense.product.job.position.limit / sequence (integer) : NEW hasdefault: default +hr_expense / product.product / expense_job_position_limit_ids (one2many): NEW relation: hr.expense.product.job.position.limit +---XML records in module 'hr_expense'--- +NEW ir.access: hr_expense.access_account_journal_user +NEW ir.access: hr_expense.access_hr_expense_approve_duplicate +NEW ir.access: hr_expense.access_hr_expense_product_job_position_limit_manager +NEW ir.access: hr_expense.access_hr_expense_product_job_position_limit_user +NEW ir.access: hr_expense.access_hr_expense_refuse_wizard +NEW ir.access: hr_expense.access_hr_expense_split_manager +NEW ir.access: hr_expense.access_mail_activity_type_expense_user +NEW ir.access: hr_expense.base_user_account_move_line_rule +NEW ir.access: hr_expense.hr_expense_comp_rule +NEW ir.access: hr_expense.hr_expense_team_approver_account_analytic_line_rule +NEW ir.access: hr_expense.hr_expense_team_approver_account_move_line_rule +NEW ir.access: hr_expense.hr_expense_team_approver_account_move_rule +NEW ir.access: hr_expense.ir_rule_hr_expense_approver +NEW ir.access: hr_expense.ir_rule_hr_expense_employee +NEW ir.access: hr_expense.ir_rule_hr_expense_employee_not_draft +NEW ir.access: hr_expense.ir_rule_hr_expense_manager +NEW ir.access: hr_expense.ir_rule_hr_expense_manager_1 +NEW ir.access: hr_expense.ir_rule_hr_expense_split_accountant +NEW ir.access: hr_expense.ir_rule_hr_expense_split_approver +NEW ir.access: hr_expense.ir_rule_hr_expense_split_employee +NEW ir.access: hr_expense.ir_rule_hr_expense_split_manager +NEW ir.access: hr_expense.ir_rule_hr_expense_split_user +ir.actions.act_window: hr_expense.action_hr_expense_department_to_approve (deleted domain) +ir.actions.act_window: hr_expense.hr_expense_product (deleted domain) +ir.actions.act_window: hr_expense.mail_activity_type_action_config_hr_expense (deleted domain) +DEL ir.cron: hr_expense.ir_cron_send_submitted_expenses_mail +DEL ir.model.access: hr_expense.access_account_analytic_line_user +DEL ir.model.access: hr_expense.access_account_journal_user +DEL ir.model.access: hr_expense.access_account_move_line_user +DEL ir.model.access: hr_expense.access_account_move_user +DEL ir.model.access: hr_expense.access_hr_expense_accountant +DEL ir.model.access: hr_expense.access_hr_expense_approve_duplicate +DEL ir.model.access: hr_expense.access_hr_expense_employee +DEL ir.model.access: hr_expense.access_hr_expense_manager +DEL ir.model.access: hr_expense.access_hr_expense_post +DEL ir.model.access: hr_expense.access_hr_expense_refuse_wizard +DEL ir.model.access: hr_expense.access_hr_expense_split_manager +DEL ir.model.access: hr_expense.access_hr_expense_split_wizard_manager +DEL ir.model.access: hr_expense.access_hr_expense_user +DEL ir.model.access: hr_expense.access_mail_activity_type_expense_user +DEL ir.rule: hr_expense.hr_expense_comp_rule (noupdate) +DEL ir.rule: hr_expense.hr_expense_team_approver_account_move_line_rule (noupdate) +DEL ir.rule: hr_expense.hr_expense_team_approver_account_move_rule (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_approver (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_employee (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_employee_not_draft (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_manager (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_split_accountant (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_split_approver (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_split_employee (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_split_manager (noupdate) +DEL ir.rule: hr_expense.ir_rule_hr_expense_split_user (noupdate) +DEL ir.sequence: hr_expense.seq_hr_expense_invoice (noupdate) +DEL ir.ui.menu: hr_expense.menu_hr_expense_account_employee_expenses +NEW ir.ui.view: hr_expense.account_journal_dashboard_kanban_view_inherit_expense +NEW ir.ui.view: hr_expense.account_journal_view_form_inherit_hr_expense +NEW ir.ui.view: hr_expense.hr_expense_split_form_view +ir.ui.view: hr_expense.hr_expense_template_refuse_reason (noupdate switched) +ir.ui.view: hr_expense.hr_expense_template_register (noupdate switched) +ir.ui.view: hr_expense.hr_expense_template_register_no_user (noupdate switched) +ir.ui.view: hr_expense.hr_expense_template_submitted_expenses (noupdate switched) +NEW ir.ui.view: hr_expense.product_template_form_view +NEW ir.ui.view: hr_expense.view_account_invoice_filter_inherit_expense +DEL ir.ui.view: hr_expense.hr_expense_post_wizard_view +mail.activity.type: hr_expense.mail_act_expense_approval (noupdate switched) +mail.alias: hr_expense.mail_alias_expense (noupdate switched) +mail.message.subtype: hr_expense.mt_expense_approved (noupdate switched) +mail.message.subtype: hr_expense.mt_expense_entry_delete (noupdate switched) +mail.message.subtype: hr_expense.mt_expense_entry_draft (noupdate switched) +mail.message.subtype: hr_expense.mt_expense_paid (noupdate switched) +mail.message.subtype: hr_expense.mt_expense_refused (noupdate switched) +mail.message.subtype: hr_expense.mt_expense_reset (noupdate switched) +product.product: hr_expense.expense_product_communication (noupdate switched) +product.product: hr_expense.expense_product_gift (noupdate switched) +product.product: hr_expense.expense_product_meal (noupdate switched) +product.product: hr_expense.expense_product_mileage (noupdate switched) +product.product: hr_expense.expense_product_travel_accommodation (noupdate switched) +product.product: hr_expense.product_product_no_cost (noupdate switched) +uom.uom: uom.product_uom_km (noupdate switched) diff --git a/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..2f6e1d7532a --- /dev/null +++ b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + False + + diff --git a/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..44618a023cc --- /dev/null +++ b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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_gamification", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..2dcf9ca8351 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,21 @@ +---Models in module 'hr_gamification'--- +---Fields in module 'hr_gamification'--- +---XML records in module 'hr_gamification'--- +NEW ir.access: hr_gamification.badge_officer +NEW ir.access: hr_gamification.challenge_line_officer +NEW ir.access: hr_gamification.challenge_officer +NEW ir.access: hr_gamification.goal_gamification_hr_user_visibility +NEW ir.access: hr_gamification.hr_gamification_badge_base_user_not_owned_access +NEW ir.access: hr_gamification.hr_gamification_badge_base_user_owned_access +NEW ir.access: hr_gamification.hr_gamification_badge_group_hr_user_access +ir.actions.act_window: hr_gamification.challenge_list_action2 (deleted domain) +ir.actions.act_window: hr_gamification.goals_menu_groupby_action2 (deleted domain) +DEL ir.model.access: hr_gamification.badge_base_user +DEL ir.model.access: hr_gamification.badge_officer +DEL ir.model.access: hr_gamification.badge_user_officer +DEL ir.model.access: hr_gamification.challenge_line_officer +DEL ir.model.access: hr_gamification.challenge_officer +DEL ir.rule: hr_gamification.goal_gamification_hr_user_visibility (noupdate) +DEL ir.rule: hr_gamification.hr_gamification_badge_base_user_not_owned_access (noupdate) +DEL ir.rule: hr_gamification.hr_gamification_badge_base_user_owned_access (noupdate) +DEL ir.rule: hr_gamification.hr_gamification_badge_group_hr_user_access (noupdate) diff --git a/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..ae31cf6a863 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_gamification/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,24 @@ +---Models in module 'hr_gamification'--- +---Fields in module 'hr_gamification'--- +---XML records in module 'hr_gamification'--- +NEW ir.access: hr_gamification.badge_officer +NEW ir.access: hr_gamification.challenge_line_officer +NEW ir.access: hr_gamification.challenge_officer +NEW ir.access: hr_gamification.goal_gamification_hr_user_visibility +NEW ir.access: hr_gamification.hr_gamification_badge_base_user_not_owned_access +NEW ir.access: hr_gamification.hr_gamification_badge_base_user_owned_access +NEW ir.access: hr_gamification.hr_gamification_badge_group_hr_user_access +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.actions.act_window: hr_gamification.challenge_list_action2 (deleted domain) +ir.actions.act_window: hr_gamification.goals_menu_groupby_action2 (deleted domain) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites the domain +DEL ir.model.access: hr_gamification.badge_base_user +DEL ir.model.access: hr_gamification.badge_officer +DEL ir.model.access: hr_gamification.badge_user_officer +DEL ir.model.access: hr_gamification.challenge_line_officer +DEL ir.model.access: hr_gamification.challenge_officer +DEL ir.rule: hr_gamification.goal_gamification_hr_user_visibility (noupdate) +DEL ir.rule: hr_gamification.hr_gamification_badge_base_user_not_owned_access (noupdate) +DEL ir.rule: hr_gamification.hr_gamification_badge_base_user_owned_access (noupdate) +DEL ir.rule: hr_gamification.hr_gamification_badge_group_hr_user_access (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids diff --git a/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/noupdate_changes.xml new file mode 100644 index 00000000000..09eebb6abfd --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/noupdate_changes.xml @@ -0,0 +1,192 @@ + + + + + 500 + + + 300 + + + Secondary Education + 0.30 + 100 + + + 400 + + + +
+ Hello, +

+ We confirm we successfully received your application for the job + "Experienced Developer" at YourCompany. +

+ We will come back to you shortly. + +
Job Description
+ +
+

Your Contact:

Mitchell Admin
Email: admin@yourcompany.example.com
Phone: +1 650-123-4567


+ +

What is the next step?

+ We usually answer applications within a few days.

+ Feel free to contact us if you want a faster + feedback or if you don't get news from us + quickly enough (just reply to this email). + +
+ + Teksa SpA
+ Puerto Madero 9710
+ Of A15, Santiago (RM)
+ Pudahuel, + + C1, + + 98450 +
+ Argentina
+
+
+
+ hr_recruitment.mail_notification_light_without_background +
+ + +
+
+

Congratulations!

+
Your resume has been positively reviewed.
+
+
+ We just reviewed your resume, and it caught our + attention. As we think you might be great for the + position, your application has been short listed for a + call or an interview. +

+ + + + You will soon be contacted by:
+ Mitchell Admin
+ Email: admin@yourcompany.example.com
+ Phone: +1 650-123-4567 +

+
+ See you soon, +
+ --
+ The HR Team + + Discover all our jobs.
+
+
+ +
+

What is the next step?

+ We usually answer applications within a few days. +

+ The next step is either a call or a meeting in our offices. +
+ Feel free to contact us if you want a faster + feedback or if you don't get news from us + quickly enough (just reply to this email). +
+ +
+ + Teksa SpA
+ Puerto Madero 9710
+ Of A15, Santiago (RM)
+ Pudahuel, + + C1, + + 98450 +
+ Argentina
+
+
+
+
+ hr_recruitment.mail_notification_light_without_background +
+ + +
+
+ Dear,

+ We would like to thank you for your interest and your time.
+ We wish you all the best in your future endeavors. +

+ Best
+
+ --
+ Marc Demo
+ Email: mark.brown23@example.com
+ Phone: +1 650-123-4567 +
+ --
+ YourCompany
+ The HR Team
+
+
+
+
+ hr_recruitment.mail_notification_light_without_background +
+ + +
+ Hello,

+ Thank you for your interest in joining the + YourCompany team. We + wanted to let you know that, although your resume is + competitive, our hiring team reviewed your application + and did not select it for further consideration. +

+ Please note that recruiting is hard, and we can make + mistakes. Do not hesitate to reply to this email if you + think we made a mistake, or if you want more information + about our decision. +

+ We will, however, keep your resume on record and get in + touch with you about future opportunities that may be a + better fit for your skills and experience. +

+ We wish you all the best in your job search and hope we + will have the chance to consider you for another role + in the future. +

+ Thank you, +
+ --
+ Mitchell Admin
+ Email: admin@yourcompany.example.com
+ Phone: +1 650-123-4567 +
+ --
+ YourCompany
+ The HR Team +
+
+
+ hr_recruitment.mail_notification_light_without_background +
+ + + + + + + + + + + + +
diff --git a/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/post-migration.py b/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/post-migration.py new file mode 100644 index 00000000000..eea397b57dc --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/post-migration.py @@ -0,0 +1,32 @@ +# Copyright 2026 Don Kendall +# 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", "20.0.1.1/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "hr_recruitment", + [ + "email_template_data_applicant_congratulations", + "email_template_data_applicant_interest", + "email_template_data_applicant_not_interested", + "email_template_data_applicant_refuse", + ], + ["body_html"], + ) + openupgrade.delete_record_translations( + env.cr, + "hr_recruitment", + ["mt_applicant_new", "mt_job_new", "mt_talent_new"], + ["description"], + ) + openupgrade.delete_record_translations( + env.cr, + "hr_recruitment", + ["degree_graduate"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..17269abbf40 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,172 @@ +---Models in module 'hr_recruitment'--- +obsolete model applicant.send.mail [transient] +new model applicant.refuse.single [transient] +new model hr.job.tag +---Fields in module 'hr_recruitment'--- +hr_recruitment / hr.applicant / duration_tracking (json) : is now stored +hr_recruitment / hr.applicant / email_cc (char) : DEL +hr_recruitment / hr.applicant / linked_applicant_ids (one2many): NEW relation: hr.applicant +hr_recruitment / hr.applicant / recruiter_id (many2one) : NEW relation: hr.employee, hasdefault: compute +hr_recruitment / hr.applicant / schedule_pay (selection) : NEW required, selection_keys: ['biweekly', 'daily', 'hourly', 'monthly', 'weekly', 'yearly'], hasdefault: default +hr_recruitment / hr.applicant / user_id (many2one) : DEL relation: res.users +hr_recruitment / hr.applicant / utm_reference (reference) : NEW +hr_recruitment / hr.applicant / website_message_ids (one2many): DEL relation: mail.message +hr_recruitment / hr.job / applicant_properties_definition (properties_definition): DEL +hr_recruitment / hr.job / favorite_recruiter_ids (many2many): NEW relation: hr.employee, hasdefault: default +hr_recruitment / hr.job / favorite_user_ids (many2many) : DEL relation: res.users +hr_recruitment / hr.job / payment_interval (selection) : NEW required, selection_keys: ['biweekly', 'daily', 'hourly', 'monthly', 'weekly', 'yearly'], hasdefault: default +hr_recruitment / hr.job / salary_max (float) : NEW +hr_recruitment / hr.job / salary_min (float) : NEW +hr_recruitment / hr.job / tag_ids (many2many) : NEW relation: hr.job.tag +hr_recruitment / hr.job.tag / color (integer) : NEW hasdefault: default +hr_recruitment / hr.job.tag / name (char) : NEW required +hr_recruitment / hr.recruitment.stage / company_id (many2one) : NEW relation: res.company +hr_recruitment / hr.recruitment.stage / legend_blocked (char) : DEL required +hr_recruitment / hr.recruitment.stage / legend_done (char) : DEL required +hr_recruitment / hr.recruitment.stage / legend_normal (char) : DEL required +hr_recruitment / hr.recruitment.stage / legend_waiting (char) : DEL required +hr_recruitment / hr.talent.pool / website_message_ids (one2many): DEL relation: mail.message +hr_recruitment / res.company / applicant_properties_definition (properties_definition): NEW +---XML records in module 'hr_recruitment'--- +digest.digest: digest.digest_digest_default (noupdate switched) +hr.applicant.category: hr_recruitment.tag_applicant_it (noupdate switched) +hr.applicant.category: hr_recruitment.tag_applicant_manager (noupdate switched) +hr.applicant.category: hr_recruitment.tag_applicant_reserve (noupdate switched) +hr.applicant.category: hr_recruitment.tag_applicant_sales (noupdate switched) +hr.applicant.refuse.reason: hr_recruitment.refuse_reason_1 (noupdate switched) +hr.applicant.refuse.reason: hr_recruitment.refuse_reason_2 (noupdate switched) +hr.applicant.refuse.reason: hr_recruitment.refuse_reason_5 (noupdate switched) +hr.applicant.refuse.reason: hr_recruitment.refuse_reason_6 (noupdate switched) +hr.applicant.refuse.reason: hr_recruitment.refuse_reason_7 (noupdate switched) +hr.applicant.refuse.reason: hr_recruitment.refuse_reason_8 (noupdate switched) +hr.job.platform: hr_recruitment.indeed_job_platform (noupdate switched) +hr.job.platform: hr_recruitment.jobsdb_job_platform (noupdate switched) +hr.job.platform: hr_recruitment.linkedin_job_platform (noupdate switched) +hr.recruitment.degree: hr_recruitment.degree_bac5 (noupdate switched) +hr.recruitment.degree: hr_recruitment.degree_bachelor (noupdate switched) +NEW hr.recruitment.degree: hr_recruitment.degree_diploma +hr.recruitment.degree: hr_recruitment.degree_graduate (noupdate switched) +hr.recruitment.degree: hr_recruitment.degree_licenced (noupdate switched) +hr.recruitment.stage: hr_recruitment.stage_job0 (noupdate switched) +hr.recruitment.stage: hr_recruitment.stage_job1 (noupdate switched) +hr.recruitment.stage: hr_recruitment.stage_job2 (noupdate switched) +hr.recruitment.stage: hr_recruitment.stage_job3 (noupdate switched) +hr.recruitment.stage: hr_recruitment.stage_job4 (noupdate switched) +hr.recruitment.stage: hr_recruitment.stage_job5 (noupdate switched) +NEW ir.access: hr_recruitment.access_applicant_get_refuse_reason_interviewer +NEW ir.access: hr_recruitment.access_applicant_refuse_single_interviewer +NEW ir.access: hr_recruitment.access_calendar_event_type_hr_officer +NEW ir.access: hr_recruitment.access_hr_applicant_category +NEW ir.access: hr_recruitment.access_hr_applicant_category_manager +NEW ir.access: hr_recruitment.access_hr_job_interviewer +NEW ir.access: hr_recruitment.access_hr_job_platform +NEW ir.access: hr_recruitment.access_hr_job_tag_interviewer +NEW ir.access: hr_recruitment.access_hr_job_tag_manager +NEW ir.access: hr_recruitment.access_hr_job_user +NEW ir.access: hr_recruitment.access_hr_recruitment_degree +NEW ir.access: hr_recruitment.access_hr_recruitment_degree_interviewer +NEW ir.access: hr_recruitment.access_hr_recruitment_refuse_reason +NEW ir.access: hr_recruitment.access_hr_recruitment_refuse_reason_interviewer +NEW ir.access: hr_recruitment.access_hr_recruitment_source_all +NEW ir.access: hr_recruitment.access_hr_recruitment_source_hr_officer +NEW ir.access: hr_recruitment.access_hr_recruitment_stage_interviewer +NEW ir.access: hr_recruitment.access_hr_recruitment_stage_manager +NEW ir.access: hr_recruitment.access_hr_talent_pool_interviewer +NEW ir.access: hr_recruitment.access_job_add_applicants +NEW ir.access: hr_recruitment.access_mail_activity_plan_hr_recruitment_manager +NEW ir.access: hr_recruitment.access_mail_activity_plan_template_hr_recruitment_manager +NEW ir.access: hr_recruitment.access_res_partner_hr_user +NEW ir.access: hr_recruitment.access_talent_pool_add_applicants +NEW ir.access: hr_recruitment.calendar_event_rule_employee +NEW ir.access: hr_recruitment.hr_applicant_comp_rule +NEW ir.access: hr_recruitment.hr_applicant_interviewer_rule +NEW ir.access: hr_recruitment.hr_applicant_user_rule +NEW ir.access: hr_recruitment.hr_job_user_rule +NEW ir.access: hr_recruitment.hr_talent_pool_user_rule +NEW ir.access: hr_recruitment.ir_rule_hr_recruitment_stage_multi_company +NEW ir.access: hr_recruitment.mail_plan_rule_group_hr_recruitment_manager_applicant +NEW ir.access: hr_recruitment.mail_plan_templates_rule_group_hr_recruitment_manager_applicant +NEW ir.access: hr_recruitment.res_partner_rule_edit_all +NEW ir.access: hr_recruitment.res_partner_rule_user +NEW ir.actions.act_window: hr_recruitment.action_applicant_mass_mail +ir.actions.act_window: hr_recruitment.action_hr_job_interviewer (deleted domain) +ir.actions.act_window: hr_recruitment.action_hr_talent_pool_applications (deleted domain) +ir.actions.act_window: hr_recruitment.hr_applicant_action_from_department (deleted domain) +NEW ir.actions.act_window: hr_recruitment.hr_job_tag_action +ir.actions.act_window: hr_recruitment.mail_activity_plan_action_config_hr_applicant (deleted domain) +ir.actions.act_window: hr_recruitment.mail_activity_type_action_config_hr_applicant (deleted domain) +NEW ir.actions.server: hr_recruitment.action_job_add_applicants +DEL ir.actions.server: hr_recruitment.action_applicant_send_mail +DEL ir.model.access: hr_recruitment.access_applicant_get_refuse_reason +DEL ir.model.access: hr_recruitment.access_applicant_get_refuse_reason_interviewer +DEL ir.model.access: hr_recruitment.access_applicant_send_mail +DEL ir.model.access: hr_recruitment.access_applicant_send_mail_interviewer +DEL ir.model.access: hr_recruitment.access_calendar_event_hruser +DEL ir.model.access: hr_recruitment.access_calendar_event_type_hr_officer +DEL ir.model.access: hr_recruitment.access_hr_applicant_category +DEL ir.model.access: hr_recruitment.access_hr_applicant_category_manager +DEL ir.model.access: hr_recruitment.access_hr_applicant_interviewer +DEL ir.model.access: hr_recruitment.access_hr_applicant_user +DEL ir.model.access: hr_recruitment.access_hr_job_interviewer +DEL ir.model.access: hr_recruitment.access_hr_job_platform +DEL ir.model.access: hr_recruitment.access_hr_job_user +DEL ir.model.access: hr_recruitment.access_hr_recruitment_degree +DEL ir.model.access: hr_recruitment.access_hr_recruitment_refuse_reason +DEL ir.model.access: hr_recruitment.access_hr_recruitment_refuse_reason_interviewer +DEL ir.model.access: hr_recruitment.access_hr_recruitment_source_all +DEL ir.model.access: hr_recruitment.access_hr_recruitment_source_hr_officer +DEL ir.model.access: hr_recruitment.access_hr_recruitment_stage_interviewer +DEL ir.model.access: hr_recruitment.access_hr_recruitment_stage_manager +DEL ir.model.access: hr_recruitment.access_hr_recruitment_stage_user +DEL ir.model.access: hr_recruitment.access_hr_talent_pool +DEL ir.model.access: hr_recruitment.access_hr_talent_pool_interviewer +DEL ir.model.access: hr_recruitment.access_job_add_applicants +DEL ir.model.access: hr_recruitment.access_job_add_applicants_interviewer +DEL ir.model.access: hr_recruitment.access_mail_activity_plan_hr_recruitment_manager +DEL ir.model.access: hr_recruitment.access_mail_activity_plan_template_hr_recruitment_manager +DEL ir.model.access: hr_recruitment.access_res_partner_hr_user +DEL ir.model.access: hr_recruitment.access_talent_pool_add_applicants +DEL ir.model.access: hr_recruitment.access_talent_pool_add_applicants_interviewer +ir.model.constraint: hr_recruitment.constraint_hr_applicant_category_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: hr_recruitment.constraint_hr_applicant_job_id_stage_id_idx (changed definition: is now 'False' ('INDEX (job_id, stage_id) WHERE active IS TRUE')) +ir.model.constraint: hr_recruitment.constraint_hr_job_platform_email_uniq (changed definition: is now 'False' ('unique (email)')) +ir.model.constraint: hr_recruitment.constraint_hr_recruitment_degree_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: hr_recruitment.constraint_hr_recruitment_degree_score_range (changed definition: is now 'False' ('check(score >= 0 and score <= 1)')) +DEL ir.rule: hr_recruitment.hr_applicant_comp_rule (noupdate) +DEL ir.rule: hr_recruitment.hr_applicant_interviewer_rule (noupdate) +DEL ir.rule: hr_recruitment.hr_applicant_user_rule (noupdate) +DEL ir.rule: hr_recruitment.hr_job_user_rule (noupdate) +DEL ir.rule: hr_recruitment.hr_talent_pool_user_rule (noupdate) +DEL ir.rule: hr_recruitment.mail_message_user_rule (noupdate) +DEL ir.rule: hr_recruitment.mail_plan_rule_group_hr_recruitment_manager_applicant (noupdate) +DEL ir.rule: hr_recruitment.mail_plan_templates_rule_group_hr_recruitment_manager_applicant (noupdate) +NEW ir.ui.menu: hr_recruitment.menu_hr_job_tag_menu +NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_utm_campaigns +ir.ui.view: hr_recruitment.applicant_hired_template (noupdate switched) +NEW ir.ui.view: hr_recruitment.applicant_refuse_single_view_form +NEW ir.ui.view: hr_recruitment.hr_employee_view_form_inherit_applicant_button +NEW ir.ui.view: hr_recruitment.hr_job_tag_view_form +NEW ir.ui.view: hr_recruitment.hr_job_tag_view_list +NEW ir.ui.view: hr_recruitment.job_add_applicants_from_job_view_form +ir.ui.view: hr_recruitment.mail_notification_light_without_background (noupdate switched) +DEL ir.ui.view: hr_recruitment.applicant_send_mail_view_form +mail.message.subtype: hr_recruitment.mt_applicant_hired (noupdate switched) +mail.message.subtype: hr_recruitment.mt_applicant_new (noupdate switched) +mail.message.subtype: hr_recruitment.mt_applicant_stage_changed (noupdate switched) +mail.message.subtype: hr_recruitment.mt_department_new (noupdate switched) +mail.message.subtype: hr_recruitment.mt_job_applicant_hired (noupdate switched) +mail.message.subtype: hr_recruitment.mt_job_applicant_new (noupdate switched) +mail.message.subtype: hr_recruitment.mt_job_applicant_stage_changed (noupdate switched) +mail.message.subtype: hr_recruitment.mt_job_new (noupdate switched) +mail.message.subtype: hr_recruitment.mt_talent_new (noupdate switched) +mail.template: hr_recruitment.email_template_data_applicant_congratulations (noupdate switched) +mail.template: hr_recruitment.email_template_data_applicant_interest (noupdate switched) +mail.template: hr_recruitment.email_template_data_applicant_not_interested (noupdate switched) +mail.template: hr_recruitment.email_template_data_applicant_refuse (noupdate switched) +res.groups: base.group_user (noupdate switched) +res.groups: hr_recruitment.group_applicant_cv_display (noupdate switched) +res.groups: hr_recruitment.group_hr_recruitment_interviewer (noupdate switched) +res.groups: hr_recruitment.group_hr_recruitment_manager (noupdate switched) +res.groups: hr_recruitment.group_hr_recruitment_user (noupdate switched) +res.groups.privilege: hr_recruitment.res_groups_privilege_recruitment (noupdate switched) +utm.campaign: hr_recruitment.utm_campaign_job (noupdate switched) diff --git a/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..2e7e7a856f2 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + mail.mail_notification_layout + + diff --git a/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..cde3a9f53db --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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_survey", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..10667a07805 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,49 @@ +---Models in module 'hr_recruitment_survey'--- +new model hr.recruitment.survey.invite [transient] +---Fields in module 'hr_recruitment_survey'--- +---XML records in module 'hr_recruitment_survey'--- +NEW ir.access: hr_recruitment_survey.survey_invite_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_invite_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_invite_recruitment_user +NEW ir.access: hr_recruitment_survey.survey_question_answer_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_question_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_question_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_survey_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_survey_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_user_input_line_rule_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_user_input_line_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_user_input_line_rule_recruitment_user +NEW ir.access: hr_recruitment_survey.survey_user_input_rule_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_user_input_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_user_input_rule_recruitment_user +ir.actions.act_window: hr_recruitment_survey.survey_survey_action_recruitment (deleted domain) +NEW ir.actions.server: hr_recruitment_survey.action_applicant_send_interview +DEL ir.model.access: hr_recruitment_survey.access_survey_invite_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_invite_recruitment_user +DEL ir.model.access: hr_recruitment_survey.access_survey_question_answer_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_question_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_question_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_survey_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_survey_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_user +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_user +DEL ir.rule: hr_recruitment_survey.survey_invite_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_invite_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_invite_recruitment_user (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_question_answer_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_question_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_question_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_survey_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_survey_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_user (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_user (noupdate) +NEW ir.ui.view: hr_recruitment_survey.hr_recruitment_survey_invite_view_form +mail.template: hr_recruitment_survey.mail_template_applicant_interview_invite (noupdate switched) diff --git a/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..374449a47f5 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_recruitment_survey/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,56 @@ +---Models in module 'hr_recruitment_survey'--- +new model hr.recruitment.survey.invite [transient] +# NOTHING TO DO: a transient model holds no persistent data +---Fields in module 'hr_recruitment_survey'--- +---XML records in module 'hr_recruitment_survey'--- +NEW ir.access: hr_recruitment_survey.survey_invite_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_invite_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_invite_recruitment_user +NEW ir.access: hr_recruitment_survey.survey_question_answer_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_question_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_question_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_survey_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_survey_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_user_input_line_rule_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_user_input_line_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_user_input_line_rule_recruitment_user +NEW ir.access: hr_recruitment_survey.survey_user_input_rule_recruitment_interviewer +NEW ir.access: hr_recruitment_survey.survey_user_input_rule_recruitment_manager +NEW ir.access: hr_recruitment_survey.survey_user_input_rule_recruitment_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.actions.act_window: hr_recruitment_survey.survey_survey_action_recruitment (deleted domain) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites the domain +NEW ir.actions.server: hr_recruitment_survey.action_applicant_send_interview +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL ir.model.access: hr_recruitment_survey.access_survey_invite_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_invite_recruitment_user +DEL ir.model.access: hr_recruitment_survey.access_survey_question_answer_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_question_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_question_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_survey_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_survey_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_user +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_interviewer +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_manager +DEL ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_user +DEL ir.rule: hr_recruitment_survey.survey_invite_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_invite_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_invite_recruitment_user (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_question_answer_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_question_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_question_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_survey_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_survey_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_user (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_interviewer (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_manager (noupdate) +DEL ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_user (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +NEW ir.ui.view: hr_recruitment_survey.hr_recruitment_survey_invite_view_form +# NOTHING TO DO: the record is not noupdate, so the module update creates it +mail.template: hr_recruitment_survey.mail_template_applicant_interview_invite (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..262d61a6f37 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,24 @@ + + + + Can manage timesheets for all employees, but can only approve timesheets and billing targets for their team members. Has access to reporting. + + + Can only manage their own timesheets. + + + Can manage and approve all timesheets, with access to reporting and configuration. + + + False + + + [ + ('project_id', '!=', False), + ('project_id.privacy_visibility', 'in', ['invited_users', 'portal']), + ('project_id.collaborator_ids.partner_id', 'in', [user.partner_id.id]), + ] + + r + + diff --git a/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..12fb647884c --- /dev/null +++ b/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/post-migration.py @@ -0,0 +1,19 @@ +# Copyright 2026 Don Kendall +# 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_timesheet", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "hr_timesheet", + [ + "group_hr_timesheet_approver", + "group_hr_timesheet_user", + "group_timesheet_manager", + ], + ["comment"], + ) diff --git a/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..4e846c4b9b7 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_timesheet/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,72 @@ +---Models in module 'hr_timesheet'--- +---Fields in module 'hr_timesheet'--- +hr_timesheet / account.analytic.applicability / business_domain (False) : selection_keys removed: [purchase_order] +hr_timesheet / account.analytic.line / sequence (integer) : NEW hasdefault: default +hr_timesheet / project.task / portal_timesheet_ids (one2many): NEW relation: account.analytic.line +hr_timesheet / project.task / show_portal_timesheets (boolean): NEW hasdefault: default, stored: False +---XML records in module 'hr_timesheet'--- +DEL digest.tip: hr_timesheet.digest_tip_hr_timesheet_0 +NEW ir.access: hr_timesheet.access_account_analytic_line_calendar_employee +NEW ir.access: hr_timesheet.access_account_analytic_user +NEW ir.access: hr_timesheet.access_hr_employee_delete_wizard_hr_user +NEW ir.access: hr_timesheet.access_uom_uom_hr_timesheet +NEW ir.access: hr_timesheet.project_project_manager_rule +NEW ir.access: hr_timesheet.project_public_members_rule +NEW ir.access: hr_timesheet.timesheet_analysis_report_approver +NEW ir.access: hr_timesheet.timesheet_analysis_report_department_manager +NEW ir.access: hr_timesheet.timesheet_analysis_report_manager +NEW ir.access: hr_timesheet.timesheet_analysis_report_manager_1 +NEW ir.access: hr_timesheet.timesheet_analysis_report_user +NEW ir.access: hr_timesheet.timesheet_line_rule_approver +NEW ir.access: hr_timesheet.timesheet_line_rule_manager +NEW ir.access: hr_timesheet.timesheet_line_rule_manager_1 +NEW ir.access: hr_timesheet.timesheet_line_rule_portal_user +NEW ir.access: hr_timesheet.timesheet_line_rule_user +NEW ir.access: hr_timesheet.timesheets_analysis_report_comp_rule +ir.actions.act_window: hr_timesheet.act_hr_timesheet_line (deleted domain) +ir.actions.act_window: hr_timesheet.act_hr_timesheet_line_by_project (deleted domain) +ir.actions.act_window: hr_timesheet.act_hr_timesheet_report (deleted domain) +ir.actions.act_window: hr_timesheet.timesheet_action_all (deleted domain) +ir.actions.act_window: hr_timesheet.timesheet_action_from_employee (deleted domain) +ir.actions.act_window: hr_timesheet.timesheet_action_project (deleted domain) +ir.actions.act_window: hr_timesheet.timesheet_action_report_by_project (deleted domain) +ir.actions.act_window: hr_timesheet.timesheet_action_report_by_task (deleted domain) +ir.actions.act_window: hr_timesheet.timesheet_action_task (deleted domain) +ir.actions.act_window: project.open_view_project_all (deleted domain) +ir.actions.act_window: project.open_view_project_all_group_stage (deleted domain) +NEW ir.actions.server: hr_timesheet.action_server_print_project_timesheets +NEW ir.actions.server: hr_timesheet.action_server_print_task_timesheets +DEL ir.model.access: hr_timesheet.access_account_analytic_line_calendar_employee +DEL ir.model.access: hr_timesheet.access_account_analytic_line_portal_user (noupdate) +DEL ir.model.access: hr_timesheet.access_account_analytic_line_user +DEL ir.model.access: hr_timesheet.access_account_analytic_user +DEL ir.model.access: hr_timesheet.access_hr_employee_delete_wizard +DEL ir.model.access: hr_timesheet.access_project_project +DEL ir.model.access: hr_timesheet.access_timesheets_analysis_report +DEL ir.model.access: hr_timesheet.access_uom_uom_hr_timesheet +DEL ir.rule: hr_timesheet.timesheet_analysis_report_approver (noupdate) +DEL ir.rule: hr_timesheet.timesheet_analysis_report_department_manager (noupdate) +DEL ir.rule: hr_timesheet.timesheet_analysis_report_manager (noupdate) +DEL ir.rule: hr_timesheet.timesheet_analysis_report_user (noupdate) +DEL ir.rule: hr_timesheet.timesheet_line_rule_approver (noupdate) +DEL ir.rule: hr_timesheet.timesheet_line_rule_manager (noupdate) +DEL ir.rule: hr_timesheet.timesheet_line_rule_portal_user (noupdate) +DEL ir.rule: hr_timesheet.timesheet_line_rule_user (noupdate) +DEL ir.rule: hr_timesheet.timesheets_analysis_report_comp_rule (noupdate) +NEW ir.ui.view: hr_timesheet.portal_timesheet_table_with_total +NEW ir.ui.view: hr_timesheet.project_sharing_inherit_project_task_view_card +NEW ir.ui.view: hr_timesheet.quick_create_account_analytic_line_form +NEW ir.ui.view: hr_timesheet.view_project_card_inherited +NEW ir.ui.view: hr_timesheet.view_task_card_inherited_progress +DEL ir.ui.view: hr_timesheet.portal_my_home_timesheet +DEL ir.ui.view: hr_timesheet.project_project_view_form_simplified_inherit_timesheet +DEL ir.ui.view: hr_timesheet.project_sharing_kanban_inherit_project_task_view_kanban +DEL ir.ui.view: hr_timesheet.view_project_kanban_inherited +DEL ir.ui.view: hr_timesheet.view_task_kanban_inherited_progress +NEW portal.entry: hr_timesheet.portal_timesheets +res.groups: hr_timesheet.group_hr_timesheet_approver (noupdate switched) +res.groups: hr_timesheet.group_hr_timesheet_user (noupdate switched) +res.groups: hr_timesheet.group_timesheet_manager (noupdate switched) +res.groups.privilege: hr_timesheet.res_groups_privilege_timesheets (noupdate switched) +uom.uom: uom.product_uom_day (noupdate switched) +uom.uom: uom.product_uom_hour (noupdate switched) diff --git a/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..3843a31a1cb --- /dev/null +++ b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,396 @@ + + + + absence + + + absence + + + absence + + + AU.OT.PH + Overtime: Public Holiday + + + AU.OT + Overtime: Week Day + + + AU.OT.SAT + + + AU.OT.PH.SAT + Overtime: Saturday & Public Holiday + + + AU.OT.SUN + + + AU.OT.PH.SUN + Overtime: Sunday & Public Holiday + + + absence + + + absence + + + 006.00 + Public holiday + absence + PH + + + 146.00 + Breast-feeding leave + 0.0 + absence + BFB + + + 147.00 + Time credit (with/no motif) + 0.0 + absence + CRT + + + + 137.00 + Economic unemployment + 0.0 + absence + ECO + + + + 142.20 + absence + EUR + + + 011.00 + Extra-legal holiday + absence + XLT + + + 024.04 + Flemish Training Leave (unlimited) + absence + FED + + + 123.00 + Days of illness after 12 months + 0.0 + absence + LTS + + + 128.00 + Maternity leave + 0.0 + absence + MAT + + + 147.07 + Thematic leave - Medical assistance + 0.0 + absence + MED + + + + 147.05 + Parental leave + 0.0 + absence + PAR + + + + 122.04 + Reintegration journey < 12 months + 0.0 + absence + PIN + + + + 007.05 + Leave for Birth (days 1-3) + absence + PTC + + + 128.05 + Leave for birth (days 4-20) + 0.0 + absence + PTL + + + 006.15 + Replacement public holiday + absence + PHC + + + 046.00 + Recovered overtime + absence + RAT + + + 007.00 + Circumstancial leave + absence + SUH + + + 022.00 + Absence during notice + absence + SOL + + + 132.00 + Strike recognized by trade union Or Lock-out + 0.0 + absence + STR + + + 020.00 + Non-productive absence + TRN + + + 024.00 + Educational leave (unlimited) + absence + EDU + + + 155.00 + Illegitimate absence + 0.0 + absence + UJR + + + 135.00 + Imperative family reason (days 1-10/year) + 0.0 + absence + URU + + + 142.99 + Holiday junior worker + 0.0 + absence + YTO + + + absence + + + absence + + + working_time + + + absence + + + absence + + + absence + + + working_time + + + absence + + + absence + + + absence + + + absence + + + working_time + + + working_time + + + working_time + + + 0.0 + absence + + + 006.00 + Public holiday + absence + + + absence + + + 0.75 + absence + + + 0.0 + absence + + + absence + + + absence + + + absence + + + absence + + + absence + + + absence + + + absence + + + 006.00 + Public holiday + absence + + + absence + + + absence + + + absence + + + absence + + + absence + + + absence + + + absence + + + 006.00 + Public holiday + absence + + + absence + + + 0.0 + absence + + + 0.0 + absence + + + 0.0 + absence + + + 0.0 + absence + + + 0.0 + absence + + + absence + + + absence + + + absence + + + Sick Time Off (Unpaid) + 5 + absence + STO + + + Sick Time Off 75% + 5 + absence + STO + + + absence + + + absence + + + absence + + + absence + + + absence + + + Double Time (2x) + + + Overtime (1.5x) + + + 006.00 + Public holiday + absence + + + 4 + working_time + + + 4 + working_time + + + 4 + working_time + + diff --git a/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..cd41219264e --- /dev/null +++ b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/post-migration.py @@ -0,0 +1,64 @@ +# Copyright 2026 Don Kendall +# 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_work_entry", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "hr_work_entry", + ["l10n_be_work_entry_type_european"], + ["display_code"], + ) + openupgrade.delete_record_translations( + env.cr, + "hr_work_entry", + [ + "l10n_be_work_entry_type_bank_holiday", + "l10n_be_work_entry_type_breast_feeding", + "l10n_be_work_entry_type_credit_time", + "l10n_be_work_entry_type_economic_unemployment", + "l10n_be_work_entry_type_extra_legal", + "l10n_be_work_entry_type_flemish_training_time_off", + "l10n_be_work_entry_type_long_sick", + "l10n_be_work_entry_type_maternity", + "l10n_be_work_entry_type_medical_assistance", + "l10n_be_work_entry_type_parental_time_off", + "l10n_be_work_entry_type_partial_incapacity", + "l10n_be_work_entry_type_paternity_company", + "l10n_be_work_entry_type_paternity_legal", + "l10n_be_work_entry_type_phc", + "l10n_be_work_entry_type_recovery_additional", + "l10n_be_work_entry_type_small_unemployment", + "l10n_be_work_entry_type_solicitation_time_off", + "l10n_be_work_entry_type_strike", + "l10n_be_work_entry_type_training", + "l10n_be_work_entry_type_training_time_off", + "l10n_be_work_entry_type_unjustified_reason", + "l10n_be_work_entry_type_unpredictable", + "l10n_be_work_entry_type_youth_time_off", + "l10n_sa_work_entry_type_sick_leave_0", + "l10n_sa_work_entry_type_sick_leave_75", + ], + ["display_code", "name"], + ) + openupgrade.delete_record_translations( + env.cr, + "hr_work_entry", + [ + "l10n_au_work_entry_type_overtime_pto", + "l10n_au_work_entry_type_overtime_regular", + "l10n_au_work_entry_type_overtime_saturday_pto", + "l10n_au_work_entry_type_overtime_sunday_pto", + "l10n_ch_work_entry_type_bank_holiday", + "l10n_hk_work_entry_type_public_holiday", + "l10n_id_work_entry_type_public_holiday", + "l10n_us_work_entry_type_double", + "l10n_us_work_entry_type_overtime", + "uae_public_holiday_entry_type", + ], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/pre-migration.py new file mode 100644 index 00000000000..78ac9eb0185 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/pre-migration.py @@ -0,0 +1,29 @@ +# Copyright 2026 Don Kendall +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +# 20.0 prefixes the country-neutral work entry types with "generic_" to tell +# them apart from the localisation ones that share a code. +_renamed_xmlids = [ + (f"hr_work_entry.{old}", f"hr_work_entry.generic_{old}") + for old in ( + "work_entry_type_attendance", + "work_entry_type_overtime", + "hr_work_entry_type_out_of_contract", + "work_entry_type_leave", + "work_entry_type_compensatory", + "work_entry_type_home_working", + "work_entry_type_unpaid_leave", + "work_entry_type_sick_leave", + "work_entry_type_legal_leave", + ) +] + + +@openupgrade.migrate() +def migrate(env, version): + # Without this the data load inserts a second country-less record for each + # code and _check_code_unicity rejects it: "Time type ... of code LEAVE100, + # with no country assigned, already exists". + openupgrade.rename_xmlids(env.cr, _renamed_xmlids) diff --git a/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..533cd489528 --- /dev/null +++ b/openupgrade_scripts/scripts/hr_work_entry/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,774 @@ +---Models in module 'hr_work_entry'--- +obsolete model hr.work.entry +obsolete model hr.work.entry.regeneration.wizard [transient] +new model hr.export.work.entries [transient] +new model hr.export.work.entries.employee [transient] +new model hr.time.rule +new model hr.time.rule.source.mixin [abstract] +---Fields in module 'hr_work_entry'--- +hr_work_entry / hr.employee / external_code (char) : NEW +hr_work_entry / hr.time.rule / active (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / amount_rate (float) : NEW hasdefault: compute +hr_work_entry / hr.time.rule / apply_friday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_monday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_on_public_holidays (boolean): NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_saturday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_sunday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_thursday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_tuesday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / apply_wednesday (boolean) : NEW hasdefault: default +hr_work_entry / hr.time.rule / calendar_source (selection) : NEW selection_keys: ['employee', 'reference'], hasdefault: compute +hr_work_entry / hr.time.rule / company_id (many2one) : NEW relation: res.company +hr_work_entry / hr.time.rule / condition_work_entry_type_ids (many2many): NEW relation: hr.work.entry.type, required +hr_work_entry / hr.time.rule / country_id (many2one) : NEW relation: res.country, hasdefault: compute +hr_work_entry / hr.time.rule / description (text) : NEW +hr_work_entry / hr.time.rule / employee_domain (char) : NEW hasdefault: default +hr_work_entry / hr.time.rule / employee_tolerance (float) : NEW +hr_work_entry / hr.time.rule / employer_tolerance (float) : NEW +hr_work_entry / hr.time.rule / expected_hours (float) : NEW hasdefault: compute +hr_work_entry / hr.time.rule / name (char) : NEW required +hr_work_entry / hr.time.rule / quantity_period (selection) : NEW selection_keys: ['day', 'week'], isfunction: function, stored +hr_work_entry / hr.time.rule / resource_calendar_id (many2one): NEW relation: resource.calendar +hr_work_entry / hr.time.rule / sequence (integer) : NEW hasdefault: default +hr_work_entry / hr.time.rule / threshold_operator (selection): NEW required, selection_keys: ['exceed', 'less_than'], hasdefault: default +hr_work_entry / hr.time.rule / timing_start (float) : NEW hasdefault: default +hr_work_entry / hr.time.rule / timing_stop (float) : NEW hasdefault: default +hr_work_entry / hr.time.rule / week_start (selection) : NEW selection_keys: ['0', '1', '2', '3', '4', '5', '6'], hasdefault: default +hr_work_entry / hr.time.rule / work_entry_type_id (many2one) : NEW relation: hr.work.entry.type +hr_work_entry / hr.time.rule / working_hours_mode (selection): NEW required, selection_keys: ['day', 'schedule_day', 'schedule_week', 'week'], hasdefault: default +hr_work_entry / hr.version / date_generated_from (datetime): DEL required +hr_work_entry / hr.version / date_generated_to (datetime) : DEL required +hr_work_entry / hr.version / last_generation_date (date) : DEL +hr_work_entry / hr.version / work_entry_source (selection) : DEL required, selection_keys: ['calendar'] +hr_work_entry / hr.work.entry / active (boolean) : DEL +hr_work_entry / hr.work.entry / amount_rate (float) : DEL +hr_work_entry / hr.work.entry / company_id (many2one) : DEL relation: res.company, required +hr_work_entry / hr.work.entry / conflict (boolean) : DEL +hr_work_entry / hr.work.entry / date (date) : DEL required +hr_work_entry / hr.work.entry / department_id (many2one) : DEL relation: hr.department +hr_work_entry / hr.work.entry / duration (float) : DEL +hr_work_entry / hr.work.entry / employee_id (many2one) : DEL relation: hr.employee, required +hr_work_entry / hr.work.entry / name (char) : DEL +hr_work_entry / hr.work.entry / state (selection) : DEL selection_keys: ['cancelled', 'conflict', 'draft', 'validated'] +hr_work_entry / hr.work.entry / version_id (many2one) : DEL relation: hr.version, required +hr_work_entry / hr.work.entry / work_entry_type_id (many2one) : DEL relation: hr.work.entry.type +hr_work_entry / hr.work.entry.type / _order : _order is now 'sequence' ('id') +hr_work_entry / hr.work.entry.type / activity_ids (one2many) : NEW relation: mail.activity +hr_work_entry / hr.work.entry.type / count_as (selection) : NEW required, selection_keys: ['absence', 'working_time'], hasdefault: default +hr_work_entry / hr.work.entry.type / description (text) : NEW translate +hr_work_entry / hr.work.entry.type / is_extra_hours (boolean) : DEL +hr_work_entry / hr.work.entry.type / is_leave (boolean) : DEL +hr_work_entry / hr.work.entry.type / message_follower_ids (one2many): NEW relation: mail.followers +hr_work_entry / hr.work.entry.type / message_ids (one2many) : NEW relation: mail.message +hr_work_entry / hr.work.entry.type / rating_ids (one2many) : NEW relation: rating.rating +hr_work_entry / hr.work.entry.type / resource_calendar_attendance_ids (one2many): NEW relation: resource.calendar.attendance +hr_work_entry / hr.work.entry.type / resource_calendar_selectable (boolean): NEW hasdefault: compute +hr_work_entry / res.company / external_code (char) : NEW +hr_work_entry_holidays / hr.leave.type / work_entry_type_id (many2one) : DEL relation: hr.work.entry.type +hr_work_entry_holidays / hr.work.entry / leave_id (many2one) : DEL relation: hr.leave +hr_work_entry_holidays / hr.work.entry.type / leave_type_ids (one2many) : DEL relation: hr.leave.type +---XML records in module 'hr_work_entry'--- +NEW hr.time.rule: hr_work_entry.hr_time_rule_employee_schedule +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_ae_day_time +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_ae_night_time_1 +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_ae_night_time_2 +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_ae_off_days +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_eg_public_holidays +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_eg_rest_days +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_eg_work_days_daytime +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_eg_work_days_nighttime_early +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_eg_work_days_nighttime_evening +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_id_beyond_first_hour +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_id_first_hour +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_iq_day_time_1 +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_iq_day_time_2 +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_iq_night_time_1 +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_iq_night_time_2 +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_jo_public_holidays +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_jo_rest_days +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_jo_week_days +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_om_normal_rest_days +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_om_normal_workdays_daytime +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_om_normal_workdays_nighttime_early +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_om_normal_workdays_nighttime_late +NEW hr.time.rule: hr_work_entry.hr_time_rule_l10n_sa_workdays +NEW hr.work.entry.type: hr_work_entry.au_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.au_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.bd_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.bd_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.be_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_additional_hours +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_additional_hours_100 +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_additional_hours_50 +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.be_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.ch_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.ch_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.eg_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.eg_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.fr_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.fr_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.generic_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.generic_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.hk_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.hk_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.id_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.id_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.in_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.in_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.iq_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_compassionate_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_day_overtime +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_iddah_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_maternity_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_night_overtime +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_public_duty +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_trade_union_duty +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.iq_work_entry_type_wedding_leave +NEW hr.work.entry.type: hr_work_entry.it_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.it_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.jo_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.jo_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.ke_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.ke_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ae_work_entry_type_weekend +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_annual_leave +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_community_service_leave +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_compensation (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_defence (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_family_domestic_violence_leave +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_long_service_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_overtime_pto (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_overtime_regular (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_overtime_saturday (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_overtime_saturday_pto (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_overtime_sunday (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_overtime_sunday_pto (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_parental (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_personal_leave (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_public_holiday_saturday +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_public_holiday_sunday +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_public_holiday_week_day +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_rostered_days_off +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_saturday_shift +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_sunday_shift +NEW hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_time_off_in_lieu +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_occupational_disease_unpaid +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_adoption_company +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_adoption_legal +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_available_not_working +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_bank_holiday (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_breast_feeding (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_breast_feeding_unassimilated +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_civic_duty_unpaid +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_common_law_illness_after_legal_period +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_common_law_illness_ami +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_common_law_illness_attributable_to_worker +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_common_law_illness_non_attributable_to_worker +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_construction_bad_weather_first_day +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_construction_imperative_maintained_salary +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_credit_time (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_death_close_family +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_economic_unemployment (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_economic_unemployment_refused_by_administration +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_end_of_carreer_exemption +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_environmental_protection +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_european (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_extra_legal (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_extra_legal_public_holiday +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_extra_legal_sectoral_holiday +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_flemish_training_time_off (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_flemish_training_time_off_with_meal_voucher +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_foster_care +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_guaranteed_wage_interrupted_day_illness +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_holiday_previous_vacation_credit_year +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_justified_reason_paid +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_justified_reason_unpaid +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_leave_palliative_care +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_long_sick (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_maternity (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_maternity_time_off_converted +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_medical_assistance (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_militia_obligation +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_non_provided_service_childminders +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_non_taxable_political_service +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_normal_inactivity +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_other_presence +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_other_training +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_overtime_no_onss +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_overtime_no_onss_horeca +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_overtime_recoverable +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_paid_absence +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_paid_compensatory_rest +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_parental_time_off (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_partial_incapacity (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_partial_incapacity_unassimilated +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_paternity_company (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_paternity_legal (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_phc (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_political_leave +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_postponed_paid_time_off_n1 +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_postponed_paid_time_off_n2 +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_prophylactic_time_off +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_prophylactic_time_off_maternity_protection +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_public_holiday_temporary_unemployment +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_public_holiday_temporary_unemployment_no_onss +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_public_holiday_working_with_recovery +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_public_holiday_working_without_recovery +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_public_mandate_unpaid +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_recovery_additional (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_sailor_time_off +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_schooldays +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_sectoral_compensatory_rest +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_senior_time_off +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_small_unemployment (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_social_judge +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_solicitation_time_off (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_strike (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_economic_unemployement_employee +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_bad_weather +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_collective_closure +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_collective_closure_agreeement +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_collective_closure_reduction +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_dismissal +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_force_majeure +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_force_majeure_medical +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_incident +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_temporary_unemployment_strike +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_thematic_leave_informal_carer +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_time_credit_not_equated +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_training (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_training_social_promotion +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_training_time_off (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_training_time_off_with_meal_voucher +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_union_mission +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_union_mission_unpaid +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_unjustified_reason (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_unpaid_compensatory_rest +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_unpaid_recovered_compensatory_rest +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_unpredictable (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_upcomming_public_holiday +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_voluntary_overtime_150 +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_voluntary_overtime_200 +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_voluntary_overtime_net +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident_first_week +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident_guaranteed_monthly +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident_second_week +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident_second_week_short_term_employee +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident_unassimilated +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident_unpaid +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_incapacity_first_week +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_incapacity_sickness_credit +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_incapacity_worker_after_second_week +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_incapacity_worker_second_week +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_incapacity_worker_second_week_short_term_employee +NEW hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_worker_time_off +hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_youth_time_off (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_accident_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_accident_wt_hourly (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_hourly_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_illness_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_illness_wt_hourly (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_interruption_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_lesson_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_maternity_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_maternity_wt_hourly (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_military_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_military_wt_hourly (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_monthly_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_overtime_125_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_overtime_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_swissdec_unpaid_wt (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_ch_work_entry_type_bank_holiday (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_death +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_hajj +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_marriage +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_maternity +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_overtime_public_holiday +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_overtime_rest_days +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_overtime_work_days_daytime +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_overtime_work_days_nighttime +hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_paid_sick_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_sick_leave_75 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_sick_leave_unpaid (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_eg_work_entry_type_weekend +NEW hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_annual_leave +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_compassionate_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_examination_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_marriage_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_maternity_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_maternity_leave_80 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_paternity_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_paternity_leave_80 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_public_holiday (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_sick_leave_80 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_statutory_holiday (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_weekend (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_hk_work_entry_type_work_injury_sick_leave_80 +NEW hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_annual_leave +hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_bereavement_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_marriage_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_maternity_leave (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_overtime_1 +NEW hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_overtime_2 +hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_paternity_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_id_work_entry_type_public_holiday (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_maternity +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_paternity +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_pilgrimage +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_public_holidays_overtime +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_rest_days_overtime +hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_sick_leave_unpaid (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_study +NEW hr.work.entry.type: hr_work_entry.l10n_jo_work_entry_type_week_days_overtime +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_annual_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_compassionate_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_hajj_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_maternity_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_paid_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_paid_time_off +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_study_leave +NEW hr.work.entry.type: hr_work_entry.l10n_kw_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_caring_leave +NEW hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_family_reason_leave +NEW hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_maternity_leave +NEW hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_sick_leave_paid_by_CNS +hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_situational_unemployment (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_lu_work_entry_type_welcome_leave +hr.work.entry.type: hr_work_entry.l10n_mx_work_entry_type_care_children_with_cancer_imss (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_mx_work_entry_type_disability_due_to_illness_imss (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_mx_work_entry_type_maternity_imss (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_mx_work_entry_type_work_risk_imss (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_fdrcl +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_hajj +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_iddah +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_maternity +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_overtime_rest_days +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_overtime_special_rest_days +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_overtime_special_work_days_daytime +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_overtime_special_work_days_nighttime +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_overtime_work_days_daytime +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_overtime_work_days_nighttime +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_paternity +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_sdrcl +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_sick_leave_0 +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_sick_leave_100 +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_sick_leave_35 +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_sick_leave_50 +NEW hr.work.entry.type: hr_work_entry.l10n_om_work_entry_type_sick_leave_75 +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_dh_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_dvl_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_mat_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_dbl_hol +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_dbl_hol_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_dbl_hol +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_dbl_hol_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_rh +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_rh_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_snw +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_overtime_snw_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_rh +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_rh_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_snw +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_ns_snw_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_out_of_contract +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_dbl_hol +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_dbl_hol_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_rh +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_rh_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_snw +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_overtime_snw_rest +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_pat_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_rh_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_sil_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_slfw_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_snwh_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_spl_leave +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_tardiness +NEW hr.work.entry.type: hr_work_entry.l10n_ph_hr_payroll_unpaid_leave +hr.work.entry.type: hr_work_entry.l10n_pl_work_entry_type_sick_leave (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_emergency (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_hajj +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_iddah +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_marriage +hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_maternity (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_paternity +hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_sick_leave_0 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_sick_leave_75 (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_study +NEW hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_weekend +hr.work.entry.type: hr_work_entry.l10n_sk_work_entry_type_maternity (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_sk_work_entry_type_parental_time_off (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_sk_work_entry_type_sick_0 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_sk_work_entry_type_sick_25 (noupdate switched) +hr.work.entry.type: hr_work_entry.l10n_sk_work_entry_type_sick_55 (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_tr_work_entry_type_bereavement_leave +NEW hr.work.entry.type: hr_work_entry.l10n_tr_work_entry_type_excuse_leave +NEW hr.work.entry.type: hr_work_entry.l10n_tr_work_entry_type_maternity_leave +NEW hr.work.entry.type: hr_work_entry.l10n_tr_work_entry_type_paternity_leave +NEW hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_bereavement +hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_double (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_fmla_leave +NEW hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_jury_duty +hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_overtime (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_statutory_holiday +NEW hr.work.entry.type: hr_work_entry.lt_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.lt_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.lu_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.lu_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.ma_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.ma_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.mx_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_seventh_day +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.mx_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.my_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.my_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.nl_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.nl_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.om_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.om_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.ph_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.pk_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.pk_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.pl_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.pl_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.ro_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.ro_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.sa_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.sa_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.sk_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.sk_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.tr_hr_work_entry_type_out_of_contract +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_overtime +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.tr_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.uae_hr_work_entry_type_out_of_contract +hr.work.entry.type: hr_work_entry.uae_public_holiday_entry_type (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_compensatory +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_leave +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_overtime +hr.work.entry.type: hr_work_entry.uae_work_entry_type_overtime_off_days (noupdate switched) +hr.work.entry.type: hr_work_entry.uae_work_entry_type_overtime_work_days_daytime (noupdate switched) +hr.work.entry.type: hr_work_entry.uae_work_entry_type_overtime_work_days_nighttime (noupdate switched) +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.uae_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.us_work_entry_type_attendance +NEW hr.work.entry.type: hr_work_entry.us_work_entry_type_home_working +NEW hr.work.entry.type: hr_work_entry.us_work_entry_type_legal_leave +NEW hr.work.entry.type: hr_work_entry.us_work_entry_type_public_holiday +NEW hr.work.entry.type: hr_work_entry.us_work_entry_type_sick_leave +NEW hr.work.entry.type: hr_work_entry.us_work_entry_type_unpaid_leave +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_dbl_hol +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_dbl_hol_rest +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_rest +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_rh +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_rh_rest +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_snw +NEW hr.work.entry.type: hr_work_entry.work_entry_type_attendance_snw_rest +DEL hr.work.entry.type: hr_work_entry.hr_work_entry_type_out_of_contract (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_cash_out (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_other (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_paid_time_off (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_au_work_entry_type_termination (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_additional_paid (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_corona (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_notice (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_part_sick (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_recovery (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_simple_holiday_pay_variable_salary (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_small_unemployment_birth (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_be_work_entry_type_work_accident (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_sa_work_entry_type_sick_leave_100 (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_retro_overtime (noupdate) +DEL hr.work.entry.type: hr_work_entry.l10n_us_work_entry_type_retro_regular (noupdate) +DEL hr.work.entry.type: hr_work_entry.uae_sick_leave_0_entry_type (noupdate) +DEL hr.work.entry.type: hr_work_entry.uae_sick_leave_50_entry_type (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_attendance (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_compensatory (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_home_working (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_leave (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_legal_leave (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_overtime (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_sick_leave (noupdate) +DEL hr.work.entry.type: hr_work_entry.work_entry_type_unpaid_leave (noupdate) +NEW ir.access: hr_work_entry.access_hr_work_entry_employee +NEW ir.access: hr_work_entry.access_hr_work_entry_employee_export +NEW ir.access: hr_work_entry.access_hr_work_entry_export +NEW ir.access: hr_work_entry.access_hr_work_entry_type_manager +NEW ir.access: hr_work_entry.access_hr_work_entry_type_officer +NEW ir.access: hr_work_entry.hr_user_work_entry_employee +NEW ir.access: hr_work_entry.ir_rule_hr_export_work_entry_multi_company +NEW ir.access: hr_work_entry.ir_rule_hr_time_rule_multi_company +NEW ir.access: hr_work_entry.ir_rule_hr_work_entry_type_multi_company +NEW ir.actions.act_window: hr_work_entry.action_open_export_wizard +NEW ir.actions.act_window: hr_work_entry.hr_time_rule_action +DEL ir.actions.act_window: hr_work_entry.hr_work_entry_action +DEL ir.actions.act_window: hr_work_entry.hr_work_entry_action_conflict +DEL ir.actions.act_window: hr_work_entry.hr_work_entry_regeneration_wizard_action +NEW ir.actions.server: hr_work_entry.action_hr_employee_export_work_entries +DEL ir.actions.server: hr_work_entry.action_hr_work_entry_set_to_draft +DEL ir.cron: hr_work_entry.ir_cron_generate_missing_work_entries (noupdate) +DEL ir.model.access: hr_work_entry.access_hr_work_entry_employee +DEL ir.model.access: hr_work_entry.access_hr_work_entry_officer +DEL ir.model.access: hr_work_entry.access_hr_work_entry_regeneration_wizard +DEL ir.model.access: hr_work_entry.access_hr_work_entry_system +DEL ir.model.access: hr_work_entry.access_hr_work_entry_type_manager +DEL ir.model.access: hr_work_entry.access_hr_work_entry_type_officer +NEW ir.model.constraint: hr_work_entry.constraint_hr_time_rule_at_least_one_day +NEW ir.model.constraint: hr_work_entry.constraint_hr_time_rule_timing_start_is_hour +NEW ir.model.constraint: hr_work_entry.constraint_hr_time_rule_timing_start_less_than_timing_stop +NEW ir.model.constraint: hr_work_entry.constraint_hr_time_rule_timing_stop_is_hour +ir.model.constraint: hr_work_entry.constraint_hr_user_work_entry_employee_user_id_employee_id_unique (changed definition: is now 'False' ('UNIQUE(user_id,employee_id)')) +DEL ir.model.constraint: hr_work_entry.constraint_hr_work_entry_contract_date_start_stop_idx +DEL ir.rule: hr_work_entry.hr_user_work_entry_employee (noupdate) +DEL ir.rule: hr_work_entry.ir_rule_hr_work_entry_multi_company (noupdate) +DEL ir.rule: hr_work_entry.ir_rule_hr_work_entry_type_multi_company (noupdate) +NEW ir.ui.menu: hr_work_entry.menu_hr_work_entry_type_view_employee +NEW ir.ui.view: hr_work_entry.hr_export_work_entries_wizard +NEW ir.ui.view: hr_work_entry.hr_time_rule_view_form +NEW ir.ui.view: hr_work_entry.hr_time_rule_view_list +NEW ir.ui.view: hr_work_entry.hr_time_rule_view_search +NEW ir.ui.view: hr_work_entry.res_company_view_form_inherit_hr_work_entry +NEW ir.ui.view: hr_work_entry.view_resource_calendar_attendance_calendar +NEW ir.ui.view: hr_work_entry.view_resource_calendar_multi_create_form +DEL ir.ui.view: hr_work_entry.hr_contract_template_view_form +DEL ir.ui.view: hr_work_entry.hr_work_entry_calendar_gantt_view_form +DEL ir.ui.view: hr_work_entry.hr_work_entry_regeneration_wizard +DEL ir.ui.view: hr_work_entry.hr_work_entry_view_calendar +DEL ir.ui.view: hr_work_entry.hr_work_entry_view_calendar_multi_create_form +DEL ir.ui.view: hr_work_entry.hr_work_entry_view_form +DEL ir.ui.view: hr_work_entry.hr_work_entry_view_pivot +DEL ir.ui.view: hr_work_entry.hr_work_entry_view_search +DEL ir.ui.view: hr_work_entry.hr_work_entry_view_tree +DEL ir.ui.view: hr_work_entry_holidays.view_holiday_status_normal_tree +DEL ir.ui.view: hr_work_entry_holidays.work_entry_type_leave_form_inherit diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..dbf9330b978 --- /dev/null +++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,75 @@ + + + + Support + + + diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..34ca2673351 --- /dev/null +++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "im_livechat", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..872f3657f6f --- /dev/null +++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,114 @@ +---Models in module 'im_livechat'--- +obsolete model im_livechat.conversation.tag +---Fields in module 'im_livechat'--- +im_livechat / chatbot.script / source_id (many2one) : DEL relation: utm.source, required +im_livechat / discuss.channel / livechat_conversation_tag_ids (many2many): DEL relation: im_livechat.conversation.tag +im_livechat / discuss.channel / livechat_looking_for_help_since_dt (datetime): NEW isfunction: function, stored +im_livechat / discuss.channel / livechat_operator_id (many2one): DEL relation: res.partner +im_livechat / discuss.channel / livechat_rating (selection) : NEW selection_keys: ['1', '3', '5'] +im_livechat / discuss.channel / livechat_status (selection) : selection_keys removed: [waiting] +im_livechat / discuss.channel / rating_last_text (selection) : DEL selection_keys: function +im_livechat / discuss.channel / rating_last_value (float) : DEL +im_livechat / im_livechat.channel / rating_ids (one2many) : DEL relation: rating.rating +im_livechat / im_livechat.channel / rating_percentage_satisfaction (integer): type is now 'float' ('integer') +im_livechat / im_livechat.channel.member.history / rating (float) : is now stored +im_livechat / im_livechat.channel.member.history / rating (float) : not related anymore +im_livechat / im_livechat.channel.member.history / rating (float) : now a function +im_livechat / im_livechat.channel.member.history / rating (float) : selection_keys is now '['1', '3', '5']' ('False') +im_livechat / im_livechat.channel.member.history / rating (float) : type is now 'selection' ('float') +im_livechat / im_livechat.channel.member.history / rating_id (many2one) : DEL relation: rating.rating +im_livechat / im_livechat.conversation.tag / color (integer) : DEL +im_livechat / im_livechat.conversation.tag / conversation_ids (many2many) : DEL relation: discuss.channel +im_livechat / im_livechat.conversation.tag / name (char) : DEL required +im_livechat / im_livechat.expertise / color (integer) : NEW +im_livechat / mail.message / chatbot_message_ids (one2many): NEW relation: chatbot.message +---XML records in module 'im_livechat'--- +chatbot.script: im_livechat.chatbot_script_welcome_bot (noupdate switched) +chatbot.script.answer: im_livechat.chatbot_script_welcome_step_dispatch_answer_documentation (noupdate switched) +chatbot.script.answer: im_livechat.chatbot_script_welcome_step_dispatch_answer_just_looking (noupdate switched) +chatbot.script.answer: im_livechat.chatbot_script_welcome_step_dispatch_answer_pricing (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_dispatch (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_documentation_exit (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_documentation_redirect (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_just_looking (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing_email (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing_forward_operator (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_pricing_noone_available (noupdate switched) +chatbot.script.step: im_livechat.chatbot_script_welcome_step_welcome (noupdate switched) +digest.digest: digest.digest_digest_default (noupdate switched) +im_livechat.channel: im_livechat.im_livechat_channel_data (noupdate switched) +NEW ir.access: im_livechat.access_chatbot_message_user +NEW ir.access: im_livechat.access_chatbot_script_answer_user +NEW ir.access: im_livechat.access_chatbot_script_step_user +NEW ir.access: im_livechat.access_chatbot_script_user +NEW ir.access: im_livechat.access_im_livechat_channel_member_history_user +NEW ir.access: im_livechat.access_livechat_channel_manager +NEW ir.access: im_livechat.access_livechat_channel_rule_manager +NEW ir.access: im_livechat.access_livechat_channel_rule_user +NEW ir.access: im_livechat.access_livechat_channel_user +NEW ir.access: im_livechat.access_livechat_expertise_internal_user +NEW ir.access: im_livechat.access_livechat_expertise_livechat_manager +NEW ir.access: im_livechat.access_livechat_support_report_channel +NEW ir.access: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user +NEW ir.access: im_livechat.ir_rule_discuss_channel_im_livechat_group_user +NEW ir.access: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user +ir.actions.act_window: im_livechat.discuss_channel_action (deleted domain) +ir.actions.act_window: im_livechat.discuss_channel_action_from_livechat_channel (deleted domain) +ir.actions.act_window: im_livechat.im_livechat_agent_history_action (deleted domain) +NEW ir.actions.act_window: im_livechat.im_livechat_channel_config_action +DEL ir.actions.act_window: im_livechat.discuss_channel_looking_for_help_action +DEL ir.actions.act_window: im_livechat.livechat_conversation_tag_action +NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_kanban +NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_list +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_form +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_kanban +DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_list +DEL ir.model.access: im_livechat.access_chatbot_message_user +DEL ir.model.access: im_livechat.access_chatbot_script_answer +DEL ir.model.access: im_livechat.access_chatbot_script_answer_user +DEL ir.model.access: im_livechat.access_chatbot_script_step_user +DEL ir.model.access: im_livechat.access_chatbot_script_user +DEL ir.model.access: im_livechat.access_im_livechat_channel_member_history_user +DEL ir.model.access: im_livechat.access_livechat_channel_manager +DEL ir.model.access: im_livechat.access_livechat_channel_rule_manager +DEL ir.model.access: im_livechat.access_livechat_channel_rule_user +DEL ir.model.access: im_livechat.access_livechat_channel_user +DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_manager +DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_user +DEL ir.model.access: im_livechat.access_livechat_expertise_internal_user +DEL ir.model.access: im_livechat.access_livechat_expertise_livechat_manager +DEL ir.model.access: im_livechat.access_livechat_support_report_channel +ir.model.constraint: im_livechat.constraint_chatbot_message_channel_id_user_raw_script_answer_id_idx (changed definition: is now 'False' ('INDEX (discuss_channel_id, user_raw_script_answer_id) WHERE user_raw_script_answer_id IS NOT NULL')) +ir.model.constraint: im_livechat.constraint_chatbot_message_unique_mail_message_id (changed definition: is now 'False' ('unique (mail_message_id)')) +ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_channel_type_create_date_idx (changed definition: is now 'False' ('INDEX (channel_type, create_date) WHERE channel_type = 'livechat'')) +ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_end_dt_idx (changed definition: is now 'False' ('INDEX (livechat_end_dt) WHERE livechat_end_dt IS NULL')) +ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_end_dt_status_constraint (changed definition: is now 'False' ('CHECK(livechat_end_dt IS NULL or livechat_status IS NULL)')) +ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_failure_idx (changed definition: is now 'False' ('INDEX (livechat_failure) WHERE livechat_failure IN ('no_answer', 'no_agent')')) +ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_is_escalated_idx (changed definition: is now 'False' ('INDEX (livechat_is_escalated) WHERE livechat_is_escalated IS TRUE')) +NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_looking_for_help_since_dt_constraint +NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_rating_constraint +ir.model.constraint: im_livechat.constraint_im_livechat_channel_max_sessions_mode_greater_than_zero (changed definition: is now 'False' ('CHECK(max_sessions > 0)')) +ir.model.constraint: im_livechat.constraint_im_livechat_channel_member_history_channel_id_guest_id_unique (changed definition: is now 'False' ('UNIQUE INDEX (channel_id, guest_id) WHERE guest_id IS NOT NULL')) +ir.model.constraint: im_livechat.constraint_im_livechat_channel_member_history_channel_id_partner_id_unique (changed definition: is now 'False' ('UNIQUE INDEX (channel_id, partner_id) WHERE partner_id IS NOT NULL')) +ir.model.constraint: im_livechat.constraint_im_livechat_channel_member_history_member_id_unique (changed definition: is now 'False' ('UNIQUE(member_id)')) +ir.model.constraint: im_livechat.constraint_im_livechat_channel_member_history_partner_id_or_guest_3b134909 (changed definition: is now 'False' ('CHECK(partner_id IS NULL OR guest_id IS NULL)')) +ir.model.constraint: im_livechat.constraint_im_livechat_expertise_name_unique (changed definition: is now 'False' ('UNIQUE INDEX (name)')) +DEL ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_operator_id +DEL ir.model.constraint: im_livechat.constraint_im_livechat_conversation_tag_name_unique +DEL ir.rule: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user (noupdate) +DEL ir.rule: im_livechat.ir_rule_discuss_channel_im_livechat_group_user (noupdate) +DEL ir.rule: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user (noupdate) +NEW ir.ui.menu: im_livechat.livechat_channels_config +DEL ir.ui.menu: im_livechat.menu_livechat_all_conversations +DEL ir.ui.menu: im_livechat.menu_livechat_conversation_tag +DEL ir.ui.menu: im_livechat.menu_livechat_looking_for_help +NEW ir.ui.view: im_livechat.im_livechat_channel_config_view_kanban +NEW ir.ui.view: im_livechat.im_livechat_channel_view_list +ir.ui.view: im_livechat.livechat_email_template (noupdate switched) +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_kanban +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_list +DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_search +DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_form +DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_list +NEW utm.source: im_livechat.utm_source_chatbot diff --git a/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/noupdate_changes.xml b/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/noupdate_changes.xml new file mode 100644 index 00000000000..1686b893e54 --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/noupdate_changes.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/post-migration.py b/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/post-migration.py new file mode 100644 index 00000000000..4497da9aa8b --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "l10n_ar", "20.0.3.7/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/upgrade_analysis.txt b/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/upgrade_analysis.txt new file mode 100644 index 00000000000..a9dd660324f --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_ar/20.0.3.7/upgrade_analysis.txt @@ -0,0 +1,1321 @@ +---Models in module 'l10n_ar'--- +new model l10n_ar.arca.activity +---Fields in module 'l10n_ar'--- +l10n_ar / account.account / l10n_ar_arca_activity_id (many2one): NEW relation: l10n_ar.arca.activity +l10n_ar / l10n_ar.arca.activity / code (char) : NEW required +l10n_ar / l10n_ar.arca.activity / name (char) : NEW required +l10n_ar / l10n_latam.identification.type / l10n_ar_afip_code (char) : DEL +l10n_ar / res.company / l10n_ar_arca_activity_id (many2one): NEW relation: l10n_ar.arca.activity +l10n_ar / res.partner / l10n_ar_afip_code (char) : NEW isfunction: function, stored +l10n_ar / res.partner / l10n_ar_afip_id_value (char) : NEW isfunction: function, stored +l10n_ar / res.partner.bank / account_type (False) : NEW selection_keys: ['aba', 'bank', 'cbu', 'clabe', 'iban'], mode: modify +---XML records in module 'l10n_ar'--- +NEW account.account.tag: l10n_ar.tag_fixed_asset_account +NEW account.account.tag: l10n_ar.tag_leases_rentals_account +NEW ir.access: l10n_ar.access_l10n_ar_afip_responsibility_type_all +NEW ir.access: l10n_ar.access_l10n_ar_arca_activity_manager +NEW ir.access: l10n_ar.access_l10n_ar_arca_activity_user +NEW ir.actions.act_window: l10n_ar.act_arca_activity +DEL ir.model.access: l10n_ar.access_l10n_ar_afip_responsibility_type_all +DEL ir.model.access: l10n_ar.access_l10n_ar_afip_responsibility_type_portal +DEL ir.model.access: l10n_ar.access_l10n_ar_afip_responsibility_type_public +ir.model.constraint: l10n_ar.constraint_l10n_ar_afip_responsibility_type_code_uniq (changed definition: is now 'False' ('unique(code)')) +ir.model.constraint: l10n_ar.constraint_l10n_ar_afip_responsibility_type_name_uniq (changed definition: is now 'False' ('unique(name)')) +NEW ir.model.constraint: l10n_ar.constraint_l10n_ar_arca_activity_code_length +NEW ir.model.constraint: l10n_ar.constraint_l10n_ar_arca_activity_code_unique +NEW ir.ui.menu: l10n_ar.menu_action_arca_activity +NEW ir.ui.view: l10n_ar.uom_uom_view_form +NEW ir.ui.view: l10n_ar.uom_uom_view_list +NEW ir.ui.view: l10n_ar.view_account_account_form +NEW ir.ui.view: l10n_ar.view_account_account_list +NEW ir.ui.view: l10n_ar.view_arca_activity_list +NEW ir.ui.view: l10n_ar.view_arca_activity_search +DEL ir.ui.view: l10n_ar.product_uom_form_view +DEL ir.ui.view: l10n_ar.product_uom_tree_view +NEW l10n_ar.arca.activity: l10n_ar.activity_10 +NEW l10n_ar.arca.activity: l10n_ar.activity_101011 +NEW l10n_ar.arca.activity: l10n_ar.activity_101012 +NEW l10n_ar.arca.activity: l10n_ar.activity_101013 +NEW l10n_ar.arca.activity: l10n_ar.activity_101020 +NEW l10n_ar.arca.activity: l10n_ar.activity_101030 +NEW l10n_ar.arca.activity: l10n_ar.activity_101040 +NEW l10n_ar.arca.activity: l10n_ar.activity_101091 +NEW l10n_ar.arca.activity: l10n_ar.activity_101099 +NEW l10n_ar.arca.activity: l10n_ar.activity_102001 +NEW l10n_ar.arca.activity: l10n_ar.activity_102002 +NEW l10n_ar.arca.activity: l10n_ar.activity_102003 +NEW l10n_ar.arca.activity: l10n_ar.activity_103011 +NEW l10n_ar.arca.activity: l10n_ar.activity_103012 +NEW l10n_ar.arca.activity: l10n_ar.activity_103020 +NEW l10n_ar.arca.activity: l10n_ar.activity_103030 +NEW l10n_ar.arca.activity: l10n_ar.activity_103091 +NEW l10n_ar.arca.activity: l10n_ar.activity_103099 +NEW l10n_ar.arca.activity: l10n_ar.activity_104011 +NEW l10n_ar.arca.activity: l10n_ar.activity_104012 +NEW l10n_ar.arca.activity: l10n_ar.activity_104013 +NEW l10n_ar.arca.activity: l10n_ar.activity_104020 +NEW l10n_ar.arca.activity: l10n_ar.activity_105010 +NEW l10n_ar.arca.activity: l10n_ar.activity_105020 +NEW l10n_ar.arca.activity: l10n_ar.activity_105030 +NEW l10n_ar.arca.activity: l10n_ar.activity_105090 +NEW l10n_ar.arca.activity: l10n_ar.activity_106110 +NEW l10n_ar.arca.activity: l10n_ar.activity_106120 +NEW l10n_ar.arca.activity: l10n_ar.activity_106131 +NEW l10n_ar.arca.activity: l10n_ar.activity_106139 +NEW l10n_ar.arca.activity: l10n_ar.activity_106200 +NEW l10n_ar.arca.activity: l10n_ar.activity_107110 +NEW l10n_ar.arca.activity: l10n_ar.activity_107121 +NEW l10n_ar.arca.activity: l10n_ar.activity_107129 +NEW l10n_ar.arca.activity: l10n_ar.activity_107200 +NEW l10n_ar.arca.activity: l10n_ar.activity_107301 +NEW l10n_ar.arca.activity: l10n_ar.activity_107309 +NEW l10n_ar.arca.activity: l10n_ar.activity_107410 +NEW l10n_ar.arca.activity: l10n_ar.activity_107420 +NEW l10n_ar.arca.activity: l10n_ar.activity_107500 +NEW l10n_ar.arca.activity: l10n_ar.activity_107911 +NEW l10n_ar.arca.activity: l10n_ar.activity_107912 +NEW l10n_ar.arca.activity: l10n_ar.activity_107920 +NEW l10n_ar.arca.activity: l10n_ar.activity_107930 +NEW l10n_ar.arca.activity: l10n_ar.activity_107991 +NEW l10n_ar.arca.activity: l10n_ar.activity_107992 +NEW l10n_ar.arca.activity: l10n_ar.activity_107999 +NEW l10n_ar.arca.activity: l10n_ar.activity_108000 +NEW l10n_ar.arca.activity: l10n_ar.activity_109000 +NEW l10n_ar.arca.activity: l10n_ar.activity_11 +NEW l10n_ar.arca.activity: l10n_ar.activity_110100 +NEW l10n_ar.arca.activity: l10n_ar.activity_110211 +NEW l10n_ar.arca.activity: l10n_ar.activity_110212 +NEW l10n_ar.arca.activity: l10n_ar.activity_110290 +NEW l10n_ar.arca.activity: l10n_ar.activity_110300 +NEW l10n_ar.arca.activity: l10n_ar.activity_110411 +NEW l10n_ar.arca.activity: l10n_ar.activity_110412 +NEW l10n_ar.arca.activity: l10n_ar.activity_110420 +NEW l10n_ar.arca.activity: l10n_ar.activity_110491 +NEW l10n_ar.arca.activity: l10n_ar.activity_110492 +NEW l10n_ar.arca.activity: l10n_ar.activity_11111 +NEW l10n_ar.arca.activity: l10n_ar.activity_11112 +NEW l10n_ar.arca.activity: l10n_ar.activity_11119 +NEW l10n_ar.arca.activity: l10n_ar.activity_11121 +NEW l10n_ar.arca.activity: l10n_ar.activity_11129 +NEW l10n_ar.arca.activity: l10n_ar.activity_11130 +NEW l10n_ar.arca.activity: l10n_ar.activity_11211 +NEW l10n_ar.arca.activity: l10n_ar.activity_11291 +NEW l10n_ar.arca.activity: l10n_ar.activity_11299 +NEW l10n_ar.arca.activity: l10n_ar.activity_11310 +NEW l10n_ar.arca.activity: l10n_ar.activity_11321 +NEW l10n_ar.arca.activity: l10n_ar.activity_11329 +NEW l10n_ar.arca.activity: l10n_ar.activity_11331 +NEW l10n_ar.arca.activity: l10n_ar.activity_11341 +NEW l10n_ar.arca.activity: l10n_ar.activity_11342 +NEW l10n_ar.arca.activity: l10n_ar.activity_11400 +NEW l10n_ar.arca.activity: l10n_ar.activity_11501 +NEW l10n_ar.arca.activity: l10n_ar.activity_11509 +NEW l10n_ar.arca.activity: l10n_ar.activity_11911 +NEW l10n_ar.arca.activity: l10n_ar.activity_11912 +NEW l10n_ar.arca.activity: l10n_ar.activity_11990 +NEW l10n_ar.arca.activity: l10n_ar.activity_12 +NEW l10n_ar.arca.activity: l10n_ar.activity_120010 +NEW l10n_ar.arca.activity: l10n_ar.activity_120091 +NEW l10n_ar.arca.activity: l10n_ar.activity_120099 +NEW l10n_ar.arca.activity: l10n_ar.activity_12110 +NEW l10n_ar.arca.activity: l10n_ar.activity_12121 +NEW l10n_ar.arca.activity: l10n_ar.activity_12200 +NEW l10n_ar.arca.activity: l10n_ar.activity_12311 +NEW l10n_ar.arca.activity: l10n_ar.activity_12319 +NEW l10n_ar.arca.activity: l10n_ar.activity_12320 +NEW l10n_ar.arca.activity: l10n_ar.activity_12410 +NEW l10n_ar.arca.activity: l10n_ar.activity_12420 +NEW l10n_ar.arca.activity: l10n_ar.activity_12490 +NEW l10n_ar.arca.activity: l10n_ar.activity_12510 +NEW l10n_ar.arca.activity: l10n_ar.activity_12590 +NEW l10n_ar.arca.activity: l10n_ar.activity_12600 +NEW l10n_ar.arca.activity: l10n_ar.activity_12701 +NEW l10n_ar.arca.activity: l10n_ar.activity_12709 +NEW l10n_ar.arca.activity: l10n_ar.activity_12800 +NEW l10n_ar.arca.activity: l10n_ar.activity_12900 +NEW l10n_ar.arca.activity: l10n_ar.activity_13 +NEW l10n_ar.arca.activity: l10n_ar.activity_13011 +NEW l10n_ar.arca.activity: l10n_ar.activity_13012 +NEW l10n_ar.arca.activity: l10n_ar.activity_13013 +NEW l10n_ar.arca.activity: l10n_ar.activity_13019 +NEW l10n_ar.arca.activity: l10n_ar.activity_13020 +NEW l10n_ar.arca.activity: l10n_ar.activity_131110 +NEW l10n_ar.arca.activity: l10n_ar.activity_131120 +NEW l10n_ar.arca.activity: l10n_ar.activity_131131 +NEW l10n_ar.arca.activity: l10n_ar.activity_131132 +NEW l10n_ar.arca.activity: l10n_ar.activity_131139 +NEW l10n_ar.arca.activity: l10n_ar.activity_131201 +NEW l10n_ar.arca.activity: l10n_ar.activity_131202 +NEW l10n_ar.arca.activity: l10n_ar.activity_131209 +NEW l10n_ar.arca.activity: l10n_ar.activity_131300 +NEW l10n_ar.arca.activity: l10n_ar.activity_139100 +NEW l10n_ar.arca.activity: l10n_ar.activity_139201 +NEW l10n_ar.arca.activity: l10n_ar.activity_139202 +NEW l10n_ar.arca.activity: l10n_ar.activity_139203 +NEW l10n_ar.arca.activity: l10n_ar.activity_139204 +NEW l10n_ar.arca.activity: l10n_ar.activity_139209 +NEW l10n_ar.arca.activity: l10n_ar.activity_139300 +NEW l10n_ar.arca.activity: l10n_ar.activity_139400 +NEW l10n_ar.arca.activity: l10n_ar.activity_139900 +NEW l10n_ar.arca.activity: l10n_ar.activity_141110 +NEW l10n_ar.arca.activity: l10n_ar.activity_141120 +NEW l10n_ar.arca.activity: l10n_ar.activity_14113 +NEW l10n_ar.arca.activity: l10n_ar.activity_141130 +NEW l10n_ar.arca.activity: l10n_ar.activity_14114 +NEW l10n_ar.arca.activity: l10n_ar.activity_141140 +NEW l10n_ar.arca.activity: l10n_ar.activity_14115 +NEW l10n_ar.arca.activity: l10n_ar.activity_141191 +NEW l10n_ar.arca.activity: l10n_ar.activity_141199 +NEW l10n_ar.arca.activity: l10n_ar.activity_141201 +NEW l10n_ar.arca.activity: l10n_ar.activity_141202 +NEW l10n_ar.arca.activity: l10n_ar.activity_14121 +NEW l10n_ar.arca.activity: l10n_ar.activity_142000 +NEW l10n_ar.arca.activity: l10n_ar.activity_14211 +NEW l10n_ar.arca.activity: l10n_ar.activity_14221 +NEW l10n_ar.arca.activity: l10n_ar.activity_14300 +NEW l10n_ar.arca.activity: l10n_ar.activity_143010 +NEW l10n_ar.arca.activity: l10n_ar.activity_143020 +NEW l10n_ar.arca.activity: l10n_ar.activity_14410 +NEW l10n_ar.arca.activity: l10n_ar.activity_14420 +NEW l10n_ar.arca.activity: l10n_ar.activity_14430 +NEW l10n_ar.arca.activity: l10n_ar.activity_14440 +NEW l10n_ar.arca.activity: l10n_ar.activity_14510 +NEW l10n_ar.arca.activity: l10n_ar.activity_14520 +NEW l10n_ar.arca.activity: l10n_ar.activity_14610 +NEW l10n_ar.arca.activity: l10n_ar.activity_14620 +NEW l10n_ar.arca.activity: l10n_ar.activity_14710 +NEW l10n_ar.arca.activity: l10n_ar.activity_14720 +NEW l10n_ar.arca.activity: l10n_ar.activity_14810 +NEW l10n_ar.arca.activity: l10n_ar.activity_14820 +NEW l10n_ar.arca.activity: l10n_ar.activity_149000 +NEW l10n_ar.arca.activity: l10n_ar.activity_14910 +NEW l10n_ar.arca.activity: l10n_ar.activity_14920 +NEW l10n_ar.arca.activity: l10n_ar.activity_14930 +NEW l10n_ar.arca.activity: l10n_ar.activity_14990 +NEW l10n_ar.arca.activity: l10n_ar.activity_151100 +NEW l10n_ar.arca.activity: l10n_ar.activity_151200 +NEW l10n_ar.arca.activity: l10n_ar.activity_152011 +NEW l10n_ar.arca.activity: l10n_ar.activity_152021 +NEW l10n_ar.arca.activity: l10n_ar.activity_152031 +NEW l10n_ar.arca.activity: l10n_ar.activity_152040 +NEW l10n_ar.arca.activity: l10n_ar.activity_161001 +NEW l10n_ar.arca.activity: l10n_ar.activity_161002 +NEW l10n_ar.arca.activity: l10n_ar.activity_16111 +NEW l10n_ar.arca.activity: l10n_ar.activity_16112 +NEW l10n_ar.arca.activity: l10n_ar.activity_16113 +NEW l10n_ar.arca.activity: l10n_ar.activity_16119 +NEW l10n_ar.arca.activity: l10n_ar.activity_16120 +NEW l10n_ar.arca.activity: l10n_ar.activity_16130 +NEW l10n_ar.arca.activity: l10n_ar.activity_16140 +NEW l10n_ar.arca.activity: l10n_ar.activity_16150 +NEW l10n_ar.arca.activity: l10n_ar.activity_16190 +NEW l10n_ar.arca.activity: l10n_ar.activity_16210 +NEW l10n_ar.arca.activity: l10n_ar.activity_162100 +NEW l10n_ar.arca.activity: l10n_ar.activity_16220 +NEW l10n_ar.arca.activity: l10n_ar.activity_162201 +NEW l10n_ar.arca.activity: l10n_ar.activity_162202 +NEW l10n_ar.arca.activity: l10n_ar.activity_16230 +NEW l10n_ar.arca.activity: l10n_ar.activity_162300 +NEW l10n_ar.arca.activity: l10n_ar.activity_162901 +NEW l10n_ar.arca.activity: l10n_ar.activity_162902 +NEW l10n_ar.arca.activity: l10n_ar.activity_162903 +NEW l10n_ar.arca.activity: l10n_ar.activity_162909 +NEW l10n_ar.arca.activity: l10n_ar.activity_16291 +NEW l10n_ar.arca.activity: l10n_ar.activity_16292 +NEW l10n_ar.arca.activity: l10n_ar.activity_16299 +NEW l10n_ar.arca.activity: l10n_ar.activity_17010 +NEW l10n_ar.arca.activity: l10n_ar.activity_170101 +NEW l10n_ar.arca.activity: l10n_ar.activity_170102 +NEW l10n_ar.arca.activity: l10n_ar.activity_17020 +NEW l10n_ar.arca.activity: l10n_ar.activity_170201 +NEW l10n_ar.arca.activity: l10n_ar.activity_170202 +NEW l10n_ar.arca.activity: l10n_ar.activity_170910 +NEW l10n_ar.arca.activity: l10n_ar.activity_170990 +NEW l10n_ar.arca.activity: l10n_ar.activity_181101 +NEW l10n_ar.arca.activity: l10n_ar.activity_181109 +NEW l10n_ar.arca.activity: l10n_ar.activity_181200 +NEW l10n_ar.arca.activity: l10n_ar.activity_182000 +NEW l10n_ar.arca.activity: l10n_ar.activity_191000 +NEW l10n_ar.arca.activity: l10n_ar.activity_192000 +NEW l10n_ar.arca.activity: l10n_ar.activity_201110 +NEW l10n_ar.arca.activity: l10n_ar.activity_201120 +NEW l10n_ar.arca.activity: l10n_ar.activity_201130 +NEW l10n_ar.arca.activity: l10n_ar.activity_201140 +NEW l10n_ar.arca.activity: l10n_ar.activity_201180 +NEW l10n_ar.arca.activity: l10n_ar.activity_201190 +NEW l10n_ar.arca.activity: l10n_ar.activity_201210 +NEW l10n_ar.arca.activity: l10n_ar.activity_201220 +NEW l10n_ar.arca.activity: l10n_ar.activity_201300 +NEW l10n_ar.arca.activity: l10n_ar.activity_201401 +NEW l10n_ar.arca.activity: l10n_ar.activity_201409 +NEW l10n_ar.arca.activity: l10n_ar.activity_202101 +NEW l10n_ar.arca.activity: l10n_ar.activity_202200 +NEW l10n_ar.arca.activity: l10n_ar.activity_202311 +NEW l10n_ar.arca.activity: l10n_ar.activity_202312 +NEW l10n_ar.arca.activity: l10n_ar.activity_202320 +NEW l10n_ar.arca.activity: l10n_ar.activity_202906 +NEW l10n_ar.arca.activity: l10n_ar.activity_202907 +NEW l10n_ar.arca.activity: l10n_ar.activity_202908 +NEW l10n_ar.arca.activity: l10n_ar.activity_203000 +NEW l10n_ar.arca.activity: l10n_ar.activity_204000 +NEW l10n_ar.arca.activity: l10n_ar.activity_210010 +NEW l10n_ar.arca.activity: l10n_ar.activity_210020 +NEW l10n_ar.arca.activity: l10n_ar.activity_210030 +NEW l10n_ar.arca.activity: l10n_ar.activity_210090 +NEW l10n_ar.arca.activity: l10n_ar.activity_21010 +NEW l10n_ar.arca.activity: l10n_ar.activity_21020 +NEW l10n_ar.arca.activity: l10n_ar.activity_21030 +NEW l10n_ar.arca.activity: l10n_ar.activity_22010 +NEW l10n_ar.arca.activity: l10n_ar.activity_22020 +NEW l10n_ar.arca.activity: l10n_ar.activity_221110 +NEW l10n_ar.arca.activity: l10n_ar.activity_221120 +NEW l10n_ar.arca.activity: l10n_ar.activity_221901 +NEW l10n_ar.arca.activity: l10n_ar.activity_221909 +NEW l10n_ar.arca.activity: l10n_ar.activity_222010 +NEW l10n_ar.arca.activity: l10n_ar.activity_222090 +NEW l10n_ar.arca.activity: l10n_ar.activity_231010 +NEW l10n_ar.arca.activity: l10n_ar.activity_231020 +NEW l10n_ar.arca.activity: l10n_ar.activity_231090 +NEW l10n_ar.arca.activity: l10n_ar.activity_239100 +NEW l10n_ar.arca.activity: l10n_ar.activity_239201 +NEW l10n_ar.arca.activity: l10n_ar.activity_239202 +NEW l10n_ar.arca.activity: l10n_ar.activity_239209 +NEW l10n_ar.arca.activity: l10n_ar.activity_239310 +NEW l10n_ar.arca.activity: l10n_ar.activity_239391 +NEW l10n_ar.arca.activity: l10n_ar.activity_239399 +NEW l10n_ar.arca.activity: l10n_ar.activity_239410 +NEW l10n_ar.arca.activity: l10n_ar.activity_239421 +NEW l10n_ar.arca.activity: l10n_ar.activity_239422 +NEW l10n_ar.arca.activity: l10n_ar.activity_239510 +NEW l10n_ar.arca.activity: l10n_ar.activity_239591 +NEW l10n_ar.arca.activity: l10n_ar.activity_239592 +NEW l10n_ar.arca.activity: l10n_ar.activity_239593 +NEW l10n_ar.arca.activity: l10n_ar.activity_239600 +NEW l10n_ar.arca.activity: l10n_ar.activity_239900 +NEW l10n_ar.arca.activity: l10n_ar.activity_24010 +NEW l10n_ar.arca.activity: l10n_ar.activity_24020 +NEW l10n_ar.arca.activity: l10n_ar.activity_241001 +NEW l10n_ar.arca.activity: l10n_ar.activity_241009 +NEW l10n_ar.arca.activity: l10n_ar.activity_242010 +NEW l10n_ar.arca.activity: l10n_ar.activity_242090 +NEW l10n_ar.arca.activity: l10n_ar.activity_243100 +NEW l10n_ar.arca.activity: l10n_ar.activity_243200 +NEW l10n_ar.arca.activity: l10n_ar.activity_251101 +NEW l10n_ar.arca.activity: l10n_ar.activity_251102 +NEW l10n_ar.arca.activity: l10n_ar.activity_251200 +NEW l10n_ar.arca.activity: l10n_ar.activity_251300 +NEW l10n_ar.arca.activity: l10n_ar.activity_252000 +NEW l10n_ar.arca.activity: l10n_ar.activity_259100 +NEW l10n_ar.arca.activity: l10n_ar.activity_259200 +NEW l10n_ar.arca.activity: l10n_ar.activity_259301 +NEW l10n_ar.arca.activity: l10n_ar.activity_259302 +NEW l10n_ar.arca.activity: l10n_ar.activity_259309 +NEW l10n_ar.arca.activity: l10n_ar.activity_259910 +NEW l10n_ar.arca.activity: l10n_ar.activity_259991 +NEW l10n_ar.arca.activity: l10n_ar.activity_259992 +NEW l10n_ar.arca.activity: l10n_ar.activity_259993 +NEW l10n_ar.arca.activity: l10n_ar.activity_259999 +NEW l10n_ar.arca.activity: l10n_ar.activity_261000 +NEW l10n_ar.arca.activity: l10n_ar.activity_262000 +NEW l10n_ar.arca.activity: l10n_ar.activity_263000 +NEW l10n_ar.arca.activity: l10n_ar.activity_264000 +NEW l10n_ar.arca.activity: l10n_ar.activity_265101 +NEW l10n_ar.arca.activity: l10n_ar.activity_265102 +NEW l10n_ar.arca.activity: l10n_ar.activity_265200 +NEW l10n_ar.arca.activity: l10n_ar.activity_266010 +NEW l10n_ar.arca.activity: l10n_ar.activity_266090 +NEW l10n_ar.arca.activity: l10n_ar.activity_267001 +NEW l10n_ar.arca.activity: l10n_ar.activity_267002 +NEW l10n_ar.arca.activity: l10n_ar.activity_268000 +NEW l10n_ar.arca.activity: l10n_ar.activity_271010 +NEW l10n_ar.arca.activity: l10n_ar.activity_271020 +NEW l10n_ar.arca.activity: l10n_ar.activity_272000 +NEW l10n_ar.arca.activity: l10n_ar.activity_273110 +NEW l10n_ar.arca.activity: l10n_ar.activity_273190 +NEW l10n_ar.arca.activity: l10n_ar.activity_274000 +NEW l10n_ar.arca.activity: l10n_ar.activity_275010 +NEW l10n_ar.arca.activity: l10n_ar.activity_275020 +NEW l10n_ar.arca.activity: l10n_ar.activity_275091 +NEW l10n_ar.arca.activity: l10n_ar.activity_275092 +NEW l10n_ar.arca.activity: l10n_ar.activity_275099 +NEW l10n_ar.arca.activity: l10n_ar.activity_279000 +NEW l10n_ar.arca.activity: l10n_ar.activity_281100 +NEW l10n_ar.arca.activity: l10n_ar.activity_281201 +NEW l10n_ar.arca.activity: l10n_ar.activity_281301 +NEW l10n_ar.arca.activity: l10n_ar.activity_281400 +NEW l10n_ar.arca.activity: l10n_ar.activity_281500 +NEW l10n_ar.arca.activity: l10n_ar.activity_281600 +NEW l10n_ar.arca.activity: l10n_ar.activity_281700 +NEW l10n_ar.arca.activity: l10n_ar.activity_281900 +NEW l10n_ar.arca.activity: l10n_ar.activity_282110 +NEW l10n_ar.arca.activity: l10n_ar.activity_282120 +NEW l10n_ar.arca.activity: l10n_ar.activity_282130 +NEW l10n_ar.arca.activity: l10n_ar.activity_282200 +NEW l10n_ar.arca.activity: l10n_ar.activity_282300 +NEW l10n_ar.arca.activity: l10n_ar.activity_282400 +NEW l10n_ar.arca.activity: l10n_ar.activity_282500 +NEW l10n_ar.arca.activity: l10n_ar.activity_282600 +NEW l10n_ar.arca.activity: l10n_ar.activity_282901 +NEW l10n_ar.arca.activity: l10n_ar.activity_282909 +NEW l10n_ar.arca.activity: l10n_ar.activity_291000 +NEW l10n_ar.arca.activity: l10n_ar.activity_292000 +NEW l10n_ar.arca.activity: l10n_ar.activity_293011 +NEW l10n_ar.arca.activity: l10n_ar.activity_293090 +NEW l10n_ar.arca.activity: l10n_ar.activity_301100 +NEW l10n_ar.arca.activity: l10n_ar.activity_301200 +NEW l10n_ar.arca.activity: l10n_ar.activity_302000 +NEW l10n_ar.arca.activity: l10n_ar.activity_303000 +NEW l10n_ar.arca.activity: l10n_ar.activity_309100 +NEW l10n_ar.arca.activity: l10n_ar.activity_309200 +NEW l10n_ar.arca.activity: l10n_ar.activity_309900 +NEW l10n_ar.arca.activity: l10n_ar.activity_310010 +NEW l10n_ar.arca.activity: l10n_ar.activity_310020 +NEW l10n_ar.arca.activity: l10n_ar.activity_310030 +NEW l10n_ar.arca.activity: l10n_ar.activity_31110 +NEW l10n_ar.arca.activity: l10n_ar.activity_31120 +NEW l10n_ar.arca.activity: l10n_ar.activity_31130 +NEW l10n_ar.arca.activity: l10n_ar.activity_31200 +NEW l10n_ar.arca.activity: l10n_ar.activity_31300 +NEW l10n_ar.arca.activity: l10n_ar.activity_32000 +NEW l10n_ar.arca.activity: l10n_ar.activity_321011 +NEW l10n_ar.arca.activity: l10n_ar.activity_321012 +NEW l10n_ar.arca.activity: l10n_ar.activity_321020 +NEW l10n_ar.arca.activity: l10n_ar.activity_322001 +NEW l10n_ar.arca.activity: l10n_ar.activity_323001 +NEW l10n_ar.arca.activity: l10n_ar.activity_324000 +NEW l10n_ar.arca.activity: l10n_ar.activity_329010 +NEW l10n_ar.arca.activity: l10n_ar.activity_329020 +NEW l10n_ar.arca.activity: l10n_ar.activity_329030 +NEW l10n_ar.arca.activity: l10n_ar.activity_329040 +NEW l10n_ar.arca.activity: l10n_ar.activity_329090 +NEW l10n_ar.arca.activity: l10n_ar.activity_331101 +NEW l10n_ar.arca.activity: l10n_ar.activity_331210 +NEW l10n_ar.arca.activity: l10n_ar.activity_331220 +NEW l10n_ar.arca.activity: l10n_ar.activity_331290 +NEW l10n_ar.arca.activity: l10n_ar.activity_331301 +NEW l10n_ar.arca.activity: l10n_ar.activity_331400 +NEW l10n_ar.arca.activity: l10n_ar.activity_331900 +NEW l10n_ar.arca.activity: l10n_ar.activity_332000 +NEW l10n_ar.arca.activity: l10n_ar.activity_351110 +NEW l10n_ar.arca.activity: l10n_ar.activity_351120 +NEW l10n_ar.arca.activity: l10n_ar.activity_351130 +NEW l10n_ar.arca.activity: l10n_ar.activity_351190 +NEW l10n_ar.arca.activity: l10n_ar.activity_351201 +NEW l10n_ar.arca.activity: l10n_ar.activity_351310 +NEW l10n_ar.arca.activity: l10n_ar.activity_351320 +NEW l10n_ar.arca.activity: l10n_ar.activity_352010 +NEW l10n_ar.arca.activity: l10n_ar.activity_352020 +NEW l10n_ar.arca.activity: l10n_ar.activity_353001 +NEW l10n_ar.arca.activity: l10n_ar.activity_360010 +NEW l10n_ar.arca.activity: l10n_ar.activity_360020 +NEW l10n_ar.arca.activity: l10n_ar.activity_370000 +NEW l10n_ar.arca.activity: l10n_ar.activity_381100 +NEW l10n_ar.arca.activity: l10n_ar.activity_381200 +NEW l10n_ar.arca.activity: l10n_ar.activity_382010 +NEW l10n_ar.arca.activity: l10n_ar.activity_382020 +NEW l10n_ar.arca.activity: l10n_ar.activity_390000 +NEW l10n_ar.arca.activity: l10n_ar.activity_410011 +NEW l10n_ar.arca.activity: l10n_ar.activity_410021 +NEW l10n_ar.arca.activity: l10n_ar.activity_421000 +NEW l10n_ar.arca.activity: l10n_ar.activity_422100 +NEW l10n_ar.arca.activity: l10n_ar.activity_422200 +NEW l10n_ar.arca.activity: l10n_ar.activity_429010 +NEW l10n_ar.arca.activity: l10n_ar.activity_429090 +NEW l10n_ar.arca.activity: l10n_ar.activity_431100 +NEW l10n_ar.arca.activity: l10n_ar.activity_431210 +NEW l10n_ar.arca.activity: l10n_ar.activity_431220 +NEW l10n_ar.arca.activity: l10n_ar.activity_432110 +NEW l10n_ar.arca.activity: l10n_ar.activity_432190 +NEW l10n_ar.arca.activity: l10n_ar.activity_432200 +NEW l10n_ar.arca.activity: l10n_ar.activity_432910 +NEW l10n_ar.arca.activity: l10n_ar.activity_432920 +NEW l10n_ar.arca.activity: l10n_ar.activity_432990 +NEW l10n_ar.arca.activity: l10n_ar.activity_433010 +NEW l10n_ar.arca.activity: l10n_ar.activity_433020 +NEW l10n_ar.arca.activity: l10n_ar.activity_433030 +NEW l10n_ar.arca.activity: l10n_ar.activity_433040 +NEW l10n_ar.arca.activity: l10n_ar.activity_433090 +NEW l10n_ar.arca.activity: l10n_ar.activity_439100 +NEW l10n_ar.arca.activity: l10n_ar.activity_439910 +NEW l10n_ar.arca.activity: l10n_ar.activity_439990 +NEW l10n_ar.arca.activity: l10n_ar.activity_451110 +NEW l10n_ar.arca.activity: l10n_ar.activity_451190 +NEW l10n_ar.arca.activity: l10n_ar.activity_451210 +NEW l10n_ar.arca.activity: l10n_ar.activity_451290 +NEW l10n_ar.arca.activity: l10n_ar.activity_452101 +NEW l10n_ar.arca.activity: l10n_ar.activity_452210 +NEW l10n_ar.arca.activity: l10n_ar.activity_452220 +NEW l10n_ar.arca.activity: l10n_ar.activity_452300 +NEW l10n_ar.arca.activity: l10n_ar.activity_452401 +NEW l10n_ar.arca.activity: l10n_ar.activity_452500 +NEW l10n_ar.arca.activity: l10n_ar.activity_452600 +NEW l10n_ar.arca.activity: l10n_ar.activity_452700 +NEW l10n_ar.arca.activity: l10n_ar.activity_452800 +NEW l10n_ar.arca.activity: l10n_ar.activity_452910 +NEW l10n_ar.arca.activity: l10n_ar.activity_452990 +NEW l10n_ar.arca.activity: l10n_ar.activity_453100 +NEW l10n_ar.arca.activity: l10n_ar.activity_453210 +NEW l10n_ar.arca.activity: l10n_ar.activity_453220 +NEW l10n_ar.arca.activity: l10n_ar.activity_453291 +NEW l10n_ar.arca.activity: l10n_ar.activity_453292 +NEW l10n_ar.arca.activity: l10n_ar.activity_454010 +NEW l10n_ar.arca.activity: l10n_ar.activity_454020 +NEW l10n_ar.arca.activity: l10n_ar.activity_461011 +NEW l10n_ar.arca.activity: l10n_ar.activity_461012 +NEW l10n_ar.arca.activity: l10n_ar.activity_461013 +NEW l10n_ar.arca.activity: l10n_ar.activity_461014 +NEW l10n_ar.arca.activity: l10n_ar.activity_461019 +NEW l10n_ar.arca.activity: l10n_ar.activity_461021 +NEW l10n_ar.arca.activity: l10n_ar.activity_461022 +NEW l10n_ar.arca.activity: l10n_ar.activity_461029 +NEW l10n_ar.arca.activity: l10n_ar.activity_461031 +NEW l10n_ar.arca.activity: l10n_ar.activity_461032 +NEW l10n_ar.arca.activity: l10n_ar.activity_461039 +NEW l10n_ar.arca.activity: l10n_ar.activity_461040 +NEW l10n_ar.arca.activity: l10n_ar.activity_461091 +NEW l10n_ar.arca.activity: l10n_ar.activity_461092 +NEW l10n_ar.arca.activity: l10n_ar.activity_461093 +NEW l10n_ar.arca.activity: l10n_ar.activity_461094 +NEW l10n_ar.arca.activity: l10n_ar.activity_461095 +NEW l10n_ar.arca.activity: l10n_ar.activity_461099 +NEW l10n_ar.arca.activity: l10n_ar.activity_462110 +NEW l10n_ar.arca.activity: l10n_ar.activity_462120 +NEW l10n_ar.arca.activity: l10n_ar.activity_462131 +NEW l10n_ar.arca.activity: l10n_ar.activity_462132 +NEW l10n_ar.arca.activity: l10n_ar.activity_462190 +NEW l10n_ar.arca.activity: l10n_ar.activity_462201 +NEW l10n_ar.arca.activity: l10n_ar.activity_462209 +NEW l10n_ar.arca.activity: l10n_ar.activity_463111 +NEW l10n_ar.arca.activity: l10n_ar.activity_463112 +NEW l10n_ar.arca.activity: l10n_ar.activity_463121 +NEW l10n_ar.arca.activity: l10n_ar.activity_463129 +NEW l10n_ar.arca.activity: l10n_ar.activity_463130 +NEW l10n_ar.arca.activity: l10n_ar.activity_463140 +NEW l10n_ar.arca.activity: l10n_ar.activity_463151 +NEW l10n_ar.arca.activity: l10n_ar.activity_463152 +NEW l10n_ar.arca.activity: l10n_ar.activity_463153 +NEW l10n_ar.arca.activity: l10n_ar.activity_463154 +NEW l10n_ar.arca.activity: l10n_ar.activity_463159 +NEW l10n_ar.arca.activity: l10n_ar.activity_463160 +NEW l10n_ar.arca.activity: l10n_ar.activity_463170 +NEW l10n_ar.arca.activity: l10n_ar.activity_463180 +NEW l10n_ar.arca.activity: l10n_ar.activity_463191 +NEW l10n_ar.arca.activity: l10n_ar.activity_463199 +NEW l10n_ar.arca.activity: l10n_ar.activity_463211 +NEW l10n_ar.arca.activity: l10n_ar.activity_463212 +NEW l10n_ar.arca.activity: l10n_ar.activity_463219 +NEW l10n_ar.arca.activity: l10n_ar.activity_463220 +NEW l10n_ar.arca.activity: l10n_ar.activity_463300 +NEW l10n_ar.arca.activity: l10n_ar.activity_464111 +NEW l10n_ar.arca.activity: l10n_ar.activity_464112 +NEW l10n_ar.arca.activity: l10n_ar.activity_464113 +NEW l10n_ar.arca.activity: l10n_ar.activity_464114 +NEW l10n_ar.arca.activity: l10n_ar.activity_464119 +NEW l10n_ar.arca.activity: l10n_ar.activity_464121 +NEW l10n_ar.arca.activity: l10n_ar.activity_464122 +NEW l10n_ar.arca.activity: l10n_ar.activity_464129 +NEW l10n_ar.arca.activity: l10n_ar.activity_464130 +NEW l10n_ar.arca.activity: l10n_ar.activity_464141 +NEW l10n_ar.arca.activity: l10n_ar.activity_464142 +NEW l10n_ar.arca.activity: l10n_ar.activity_464149 +NEW l10n_ar.arca.activity: l10n_ar.activity_464150 +NEW l10n_ar.arca.activity: l10n_ar.activity_464211 +NEW l10n_ar.arca.activity: l10n_ar.activity_464212 +NEW l10n_ar.arca.activity: l10n_ar.activity_464221 +NEW l10n_ar.arca.activity: l10n_ar.activity_464222 +NEW l10n_ar.arca.activity: l10n_ar.activity_464223 +NEW l10n_ar.arca.activity: l10n_ar.activity_464310 +NEW l10n_ar.arca.activity: l10n_ar.activity_464320 +NEW l10n_ar.arca.activity: l10n_ar.activity_464330 +NEW l10n_ar.arca.activity: l10n_ar.activity_464340 +NEW l10n_ar.arca.activity: l10n_ar.activity_464410 +NEW l10n_ar.arca.activity: l10n_ar.activity_464420 +NEW l10n_ar.arca.activity: l10n_ar.activity_464501 +NEW l10n_ar.arca.activity: l10n_ar.activity_464502 +NEW l10n_ar.arca.activity: l10n_ar.activity_464610 +NEW l10n_ar.arca.activity: l10n_ar.activity_464620 +NEW l10n_ar.arca.activity: l10n_ar.activity_464631 +NEW l10n_ar.arca.activity: l10n_ar.activity_464632 +NEW l10n_ar.arca.activity: l10n_ar.activity_464910 +NEW l10n_ar.arca.activity: l10n_ar.activity_464920 +NEW l10n_ar.arca.activity: l10n_ar.activity_464930 +NEW l10n_ar.arca.activity: l10n_ar.activity_464940 +NEW l10n_ar.arca.activity: l10n_ar.activity_464950 +NEW l10n_ar.arca.activity: l10n_ar.activity_464991 +NEW l10n_ar.arca.activity: l10n_ar.activity_464999 +NEW l10n_ar.arca.activity: l10n_ar.activity_465100 +NEW l10n_ar.arca.activity: l10n_ar.activity_465210 +NEW l10n_ar.arca.activity: l10n_ar.activity_465220 +NEW l10n_ar.arca.activity: l10n_ar.activity_465310 +NEW l10n_ar.arca.activity: l10n_ar.activity_465320 +NEW l10n_ar.arca.activity: l10n_ar.activity_465330 +NEW l10n_ar.arca.activity: l10n_ar.activity_465340 +NEW l10n_ar.arca.activity: l10n_ar.activity_465350 +NEW l10n_ar.arca.activity: l10n_ar.activity_465360 +NEW l10n_ar.arca.activity: l10n_ar.activity_465390 +NEW l10n_ar.arca.activity: l10n_ar.activity_465400 +NEW l10n_ar.arca.activity: l10n_ar.activity_465500 +NEW l10n_ar.arca.activity: l10n_ar.activity_465610 +NEW l10n_ar.arca.activity: l10n_ar.activity_465690 +NEW l10n_ar.arca.activity: l10n_ar.activity_465910 +NEW l10n_ar.arca.activity: l10n_ar.activity_465920 +NEW l10n_ar.arca.activity: l10n_ar.activity_465930 +NEW l10n_ar.arca.activity: l10n_ar.activity_465990 +NEW l10n_ar.arca.activity: l10n_ar.activity_466110 +NEW l10n_ar.arca.activity: l10n_ar.activity_466121 +NEW l10n_ar.arca.activity: l10n_ar.activity_466129 +NEW l10n_ar.arca.activity: l10n_ar.activity_466200 +NEW l10n_ar.arca.activity: l10n_ar.activity_466310 +NEW l10n_ar.arca.activity: l10n_ar.activity_466320 +NEW l10n_ar.arca.activity: l10n_ar.activity_466330 +NEW l10n_ar.arca.activity: l10n_ar.activity_466340 +NEW l10n_ar.arca.activity: l10n_ar.activity_466350 +NEW l10n_ar.arca.activity: l10n_ar.activity_466360 +NEW l10n_ar.arca.activity: l10n_ar.activity_466370 +NEW l10n_ar.arca.activity: l10n_ar.activity_466391 +NEW l10n_ar.arca.activity: l10n_ar.activity_466399 +NEW l10n_ar.arca.activity: l10n_ar.activity_466910 +NEW l10n_ar.arca.activity: l10n_ar.activity_466920 +NEW l10n_ar.arca.activity: l10n_ar.activity_466931 +NEW l10n_ar.arca.activity: l10n_ar.activity_466932 +NEW l10n_ar.arca.activity: l10n_ar.activity_466939 +NEW l10n_ar.arca.activity: l10n_ar.activity_466940 +NEW l10n_ar.arca.activity: l10n_ar.activity_466990 +NEW l10n_ar.arca.activity: l10n_ar.activity_469010 +NEW l10n_ar.arca.activity: l10n_ar.activity_469090 +NEW l10n_ar.arca.activity: l10n_ar.activity_471110 +NEW l10n_ar.arca.activity: l10n_ar.activity_471120 +NEW l10n_ar.arca.activity: l10n_ar.activity_471130 +NEW l10n_ar.arca.activity: l10n_ar.activity_471190 +NEW l10n_ar.arca.activity: l10n_ar.activity_471900 +NEW l10n_ar.arca.activity: l10n_ar.activity_472111 +NEW l10n_ar.arca.activity: l10n_ar.activity_472112 +NEW l10n_ar.arca.activity: l10n_ar.activity_472120 +NEW l10n_ar.arca.activity: l10n_ar.activity_472130 +NEW l10n_ar.arca.activity: l10n_ar.activity_472140 +NEW l10n_ar.arca.activity: l10n_ar.activity_472150 +NEW l10n_ar.arca.activity: l10n_ar.activity_472160 +NEW l10n_ar.arca.activity: l10n_ar.activity_472171 +NEW l10n_ar.arca.activity: l10n_ar.activity_472172 +NEW l10n_ar.arca.activity: l10n_ar.activity_472190 +NEW l10n_ar.arca.activity: l10n_ar.activity_472200 +NEW l10n_ar.arca.activity: l10n_ar.activity_472300 +NEW l10n_ar.arca.activity: l10n_ar.activity_473000 +NEW l10n_ar.arca.activity: l10n_ar.activity_474010 +NEW l10n_ar.arca.activity: l10n_ar.activity_474020 +NEW l10n_ar.arca.activity: l10n_ar.activity_475110 +NEW l10n_ar.arca.activity: l10n_ar.activity_475120 +NEW l10n_ar.arca.activity: l10n_ar.activity_475190 +NEW l10n_ar.arca.activity: l10n_ar.activity_475210 +NEW l10n_ar.arca.activity: l10n_ar.activity_475220 +NEW l10n_ar.arca.activity: l10n_ar.activity_475230 +NEW l10n_ar.arca.activity: l10n_ar.activity_475240 +NEW l10n_ar.arca.activity: l10n_ar.activity_475250 +NEW l10n_ar.arca.activity: l10n_ar.activity_475260 +NEW l10n_ar.arca.activity: l10n_ar.activity_475270 +NEW l10n_ar.arca.activity: l10n_ar.activity_475290 +NEW l10n_ar.arca.activity: l10n_ar.activity_475300 +NEW l10n_ar.arca.activity: l10n_ar.activity_475410 +NEW l10n_ar.arca.activity: l10n_ar.activity_475420 +NEW l10n_ar.arca.activity: l10n_ar.activity_475430 +NEW l10n_ar.arca.activity: l10n_ar.activity_475440 +NEW l10n_ar.arca.activity: l10n_ar.activity_475490 +NEW l10n_ar.arca.activity: l10n_ar.activity_476110 +NEW l10n_ar.arca.activity: l10n_ar.activity_476120 +NEW l10n_ar.arca.activity: l10n_ar.activity_476130 +NEW l10n_ar.arca.activity: l10n_ar.activity_476200 +NEW l10n_ar.arca.activity: l10n_ar.activity_476310 +NEW l10n_ar.arca.activity: l10n_ar.activity_476320 +NEW l10n_ar.arca.activity: l10n_ar.activity_476400 +NEW l10n_ar.arca.activity: l10n_ar.activity_477110 +NEW l10n_ar.arca.activity: l10n_ar.activity_477120 +NEW l10n_ar.arca.activity: l10n_ar.activity_477130 +NEW l10n_ar.arca.activity: l10n_ar.activity_477140 +NEW l10n_ar.arca.activity: l10n_ar.activity_477150 +NEW l10n_ar.arca.activity: l10n_ar.activity_477190 +NEW l10n_ar.arca.activity: l10n_ar.activity_477210 +NEW l10n_ar.arca.activity: l10n_ar.activity_477220 +NEW l10n_ar.arca.activity: l10n_ar.activity_477230 +NEW l10n_ar.arca.activity: l10n_ar.activity_477290 +NEW l10n_ar.arca.activity: l10n_ar.activity_477310 +NEW l10n_ar.arca.activity: l10n_ar.activity_477320 +NEW l10n_ar.arca.activity: l10n_ar.activity_477330 +NEW l10n_ar.arca.activity: l10n_ar.activity_477410 +NEW l10n_ar.arca.activity: l10n_ar.activity_477420 +NEW l10n_ar.arca.activity: l10n_ar.activity_477430 +NEW l10n_ar.arca.activity: l10n_ar.activity_477440 +NEW l10n_ar.arca.activity: l10n_ar.activity_477450 +NEW l10n_ar.arca.activity: l10n_ar.activity_477460 +NEW l10n_ar.arca.activity: l10n_ar.activity_477470 +NEW l10n_ar.arca.activity: l10n_ar.activity_477480 +NEW l10n_ar.arca.activity: l10n_ar.activity_477490 +NEW l10n_ar.arca.activity: l10n_ar.activity_477810 +NEW l10n_ar.arca.activity: l10n_ar.activity_477820 +NEW l10n_ar.arca.activity: l10n_ar.activity_477830 +NEW l10n_ar.arca.activity: l10n_ar.activity_477840 +NEW l10n_ar.arca.activity: l10n_ar.activity_477890 +NEW l10n_ar.arca.activity: l10n_ar.activity_478010 +NEW l10n_ar.arca.activity: l10n_ar.activity_478090 +NEW l10n_ar.arca.activity: l10n_ar.activity_479101 +NEW l10n_ar.arca.activity: l10n_ar.activity_479109 +NEW l10n_ar.arca.activity: l10n_ar.activity_479900 +NEW l10n_ar.arca.activity: l10n_ar.activity_491110 +NEW l10n_ar.arca.activity: l10n_ar.activity_491120 +NEW l10n_ar.arca.activity: l10n_ar.activity_491200 +NEW l10n_ar.arca.activity: l10n_ar.activity_492110 +NEW l10n_ar.arca.activity: l10n_ar.activity_492120 +NEW l10n_ar.arca.activity: l10n_ar.activity_492130 +NEW l10n_ar.arca.activity: l10n_ar.activity_492140 +NEW l10n_ar.arca.activity: l10n_ar.activity_492150 +NEW l10n_ar.arca.activity: l10n_ar.activity_492160 +NEW l10n_ar.arca.activity: l10n_ar.activity_492170 +NEW l10n_ar.arca.activity: l10n_ar.activity_492180 +NEW l10n_ar.arca.activity: l10n_ar.activity_492190 +NEW l10n_ar.arca.activity: l10n_ar.activity_492210 +NEW l10n_ar.arca.activity: l10n_ar.activity_492221 +NEW l10n_ar.arca.activity: l10n_ar.activity_492229 +NEW l10n_ar.arca.activity: l10n_ar.activity_492230 +NEW l10n_ar.arca.activity: l10n_ar.activity_492240 +NEW l10n_ar.arca.activity: l10n_ar.activity_492250 +NEW l10n_ar.arca.activity: l10n_ar.activity_492280 +NEW l10n_ar.arca.activity: l10n_ar.activity_492290 +NEW l10n_ar.arca.activity: l10n_ar.activity_493110 +NEW l10n_ar.arca.activity: l10n_ar.activity_493120 +NEW l10n_ar.arca.activity: l10n_ar.activity_493200 +NEW l10n_ar.arca.activity: l10n_ar.activity_501100 +NEW l10n_ar.arca.activity: l10n_ar.activity_501200 +NEW l10n_ar.arca.activity: l10n_ar.activity_502101 +NEW l10n_ar.arca.activity: l10n_ar.activity_502200 +NEW l10n_ar.arca.activity: l10n_ar.activity_51000 +NEW l10n_ar.arca.activity: l10n_ar.activity_511000 +NEW l10n_ar.arca.activity: l10n_ar.activity_512000 +NEW l10n_ar.arca.activity: l10n_ar.activity_52000 +NEW l10n_ar.arca.activity: l10n_ar.activity_521010 +NEW l10n_ar.arca.activity: l10n_ar.activity_521020 +NEW l10n_ar.arca.activity: l10n_ar.activity_521030 +NEW l10n_ar.arca.activity: l10n_ar.activity_522010 +NEW l10n_ar.arca.activity: l10n_ar.activity_522020 +NEW l10n_ar.arca.activity: l10n_ar.activity_522091 +NEW l10n_ar.arca.activity: l10n_ar.activity_522092 +NEW l10n_ar.arca.activity: l10n_ar.activity_522099 +NEW l10n_ar.arca.activity: l10n_ar.activity_523011 +NEW l10n_ar.arca.activity: l10n_ar.activity_523019 +NEW l10n_ar.arca.activity: l10n_ar.activity_523020 +NEW l10n_ar.arca.activity: l10n_ar.activity_523031 +NEW l10n_ar.arca.activity: l10n_ar.activity_523032 +NEW l10n_ar.arca.activity: l10n_ar.activity_523039 +NEW l10n_ar.arca.activity: l10n_ar.activity_523090 +NEW l10n_ar.arca.activity: l10n_ar.activity_524110 +NEW l10n_ar.arca.activity: l10n_ar.activity_524120 +NEW l10n_ar.arca.activity: l10n_ar.activity_524130 +NEW l10n_ar.arca.activity: l10n_ar.activity_524190 +NEW l10n_ar.arca.activity: l10n_ar.activity_524210 +NEW l10n_ar.arca.activity: l10n_ar.activity_524220 +NEW l10n_ar.arca.activity: l10n_ar.activity_524230 +NEW l10n_ar.arca.activity: l10n_ar.activity_524290 +NEW l10n_ar.arca.activity: l10n_ar.activity_524310 +NEW l10n_ar.arca.activity: l10n_ar.activity_524320 +NEW l10n_ar.arca.activity: l10n_ar.activity_524330 +NEW l10n_ar.arca.activity: l10n_ar.activity_524390 +NEW l10n_ar.arca.activity: l10n_ar.activity_530010 +NEW l10n_ar.arca.activity: l10n_ar.activity_530090 +NEW l10n_ar.arca.activity: l10n_ar.activity_551010 +NEW l10n_ar.arca.activity: l10n_ar.activity_551021 +NEW l10n_ar.arca.activity: l10n_ar.activity_551022 +NEW l10n_ar.arca.activity: l10n_ar.activity_551023 +NEW l10n_ar.arca.activity: l10n_ar.activity_551090 +NEW l10n_ar.arca.activity: l10n_ar.activity_552000 +NEW l10n_ar.arca.activity: l10n_ar.activity_561011 +NEW l10n_ar.arca.activity: l10n_ar.activity_561012 +NEW l10n_ar.arca.activity: l10n_ar.activity_561013 +NEW l10n_ar.arca.activity: l10n_ar.activity_561014 +NEW l10n_ar.arca.activity: l10n_ar.activity_561019 +NEW l10n_ar.arca.activity: l10n_ar.activity_561020 +NEW l10n_ar.arca.activity: l10n_ar.activity_561030 +NEW l10n_ar.arca.activity: l10n_ar.activity_561040 +NEW l10n_ar.arca.activity: l10n_ar.activity_562010 +NEW l10n_ar.arca.activity: l10n_ar.activity_562091 +NEW l10n_ar.arca.activity: l10n_ar.activity_562099 +NEW l10n_ar.arca.activity: l10n_ar.activity_581100 +NEW l10n_ar.arca.activity: l10n_ar.activity_581200 +NEW l10n_ar.arca.activity: l10n_ar.activity_581300 +NEW l10n_ar.arca.activity: l10n_ar.activity_581900 +NEW l10n_ar.arca.activity: l10n_ar.activity_591110 +NEW l10n_ar.arca.activity: l10n_ar.activity_591120 +NEW l10n_ar.arca.activity: l10n_ar.activity_591200 +NEW l10n_ar.arca.activity: l10n_ar.activity_591300 +NEW l10n_ar.arca.activity: l10n_ar.activity_592000 +NEW l10n_ar.arca.activity: l10n_ar.activity_601000 +NEW l10n_ar.arca.activity: l10n_ar.activity_602100 +NEW l10n_ar.arca.activity: l10n_ar.activity_602200 +NEW l10n_ar.arca.activity: l10n_ar.activity_602310 +NEW l10n_ar.arca.activity: l10n_ar.activity_602320 +NEW l10n_ar.arca.activity: l10n_ar.activity_602900 +NEW l10n_ar.arca.activity: l10n_ar.activity_61000 +NEW l10n_ar.arca.activity: l10n_ar.activity_611010 +NEW l10n_ar.arca.activity: l10n_ar.activity_611090 +NEW l10n_ar.arca.activity: l10n_ar.activity_612000 +NEW l10n_ar.arca.activity: l10n_ar.activity_613000 +NEW l10n_ar.arca.activity: l10n_ar.activity_614010 +NEW l10n_ar.arca.activity: l10n_ar.activity_614090 +NEW l10n_ar.arca.activity: l10n_ar.activity_619000 +NEW l10n_ar.arca.activity: l10n_ar.activity_62000 +NEW l10n_ar.arca.activity: l10n_ar.activity_620100 +NEW l10n_ar.arca.activity: l10n_ar.activity_620200 +NEW l10n_ar.arca.activity: l10n_ar.activity_620300 +NEW l10n_ar.arca.activity: l10n_ar.activity_620900 +NEW l10n_ar.arca.activity: l10n_ar.activity_631110 +NEW l10n_ar.arca.activity: l10n_ar.activity_631120 +NEW l10n_ar.arca.activity: l10n_ar.activity_631190 +NEW l10n_ar.arca.activity: l10n_ar.activity_631200 +NEW l10n_ar.arca.activity: l10n_ar.activity_639100 +NEW l10n_ar.arca.activity: l10n_ar.activity_639900 +NEW l10n_ar.arca.activity: l10n_ar.activity_641100 +NEW l10n_ar.arca.activity: l10n_ar.activity_641910 +NEW l10n_ar.arca.activity: l10n_ar.activity_641920 +NEW l10n_ar.arca.activity: l10n_ar.activity_641930 +NEW l10n_ar.arca.activity: l10n_ar.activity_641941 +NEW l10n_ar.arca.activity: l10n_ar.activity_641942 +NEW l10n_ar.arca.activity: l10n_ar.activity_641943 +NEW l10n_ar.arca.activity: l10n_ar.activity_642000 +NEW l10n_ar.arca.activity: l10n_ar.activity_643001 +NEW l10n_ar.arca.activity: l10n_ar.activity_643009 +NEW l10n_ar.arca.activity: l10n_ar.activity_649100 +NEW l10n_ar.arca.activity: l10n_ar.activity_649210 +NEW l10n_ar.arca.activity: l10n_ar.activity_649220 +NEW l10n_ar.arca.activity: l10n_ar.activity_649290 +NEW l10n_ar.arca.activity: l10n_ar.activity_649910 +NEW l10n_ar.arca.activity: l10n_ar.activity_649991 +NEW l10n_ar.arca.activity: l10n_ar.activity_649999 +NEW l10n_ar.arca.activity: l10n_ar.activity_651110 +NEW l10n_ar.arca.activity: l10n_ar.activity_651120 +NEW l10n_ar.arca.activity: l10n_ar.activity_651130 +NEW l10n_ar.arca.activity: l10n_ar.activity_651210 +NEW l10n_ar.arca.activity: l10n_ar.activity_651220 +NEW l10n_ar.arca.activity: l10n_ar.activity_651310 +NEW l10n_ar.arca.activity: l10n_ar.activity_651320 +NEW l10n_ar.arca.activity: l10n_ar.activity_652000 +NEW l10n_ar.arca.activity: l10n_ar.activity_653000 +NEW l10n_ar.arca.activity: l10n_ar.activity_661111 +NEW l10n_ar.arca.activity: l10n_ar.activity_661121 +NEW l10n_ar.arca.activity: l10n_ar.activity_661131 +NEW l10n_ar.arca.activity: l10n_ar.activity_661910 +NEW l10n_ar.arca.activity: l10n_ar.activity_661920 +NEW l10n_ar.arca.activity: l10n_ar.activity_661930 +NEW l10n_ar.arca.activity: l10n_ar.activity_661991 +NEW l10n_ar.arca.activity: l10n_ar.activity_661992 +NEW l10n_ar.arca.activity: l10n_ar.activity_661999 +NEW l10n_ar.arca.activity: l10n_ar.activity_662010 +NEW l10n_ar.arca.activity: l10n_ar.activity_662020 +NEW l10n_ar.arca.activity: l10n_ar.activity_662090 +NEW l10n_ar.arca.activity: l10n_ar.activity_663000 +NEW l10n_ar.arca.activity: l10n_ar.activity_681010 +NEW l10n_ar.arca.activity: l10n_ar.activity_681020 +NEW l10n_ar.arca.activity: l10n_ar.activity_681098 +NEW l10n_ar.arca.activity: l10n_ar.activity_681099 +NEW l10n_ar.arca.activity: l10n_ar.activity_682010 +NEW l10n_ar.arca.activity: l10n_ar.activity_682091 +NEW l10n_ar.arca.activity: l10n_ar.activity_682099 +NEW l10n_ar.arca.activity: l10n_ar.activity_691001 +NEW l10n_ar.arca.activity: l10n_ar.activity_691002 +NEW l10n_ar.arca.activity: l10n_ar.activity_692000 +NEW l10n_ar.arca.activity: l10n_ar.activity_7 +NEW l10n_ar.arca.activity: l10n_ar.activity_702010 +NEW l10n_ar.arca.activity: l10n_ar.activity_702091 +NEW l10n_ar.arca.activity: l10n_ar.activity_702092 +NEW l10n_ar.arca.activity: l10n_ar.activity_702099 +NEW l10n_ar.arca.activity: l10n_ar.activity_71000 +NEW l10n_ar.arca.activity: l10n_ar.activity_711001 +NEW l10n_ar.arca.activity: l10n_ar.activity_711002 +NEW l10n_ar.arca.activity: l10n_ar.activity_711003 +NEW l10n_ar.arca.activity: l10n_ar.activity_711009 +NEW l10n_ar.arca.activity: l10n_ar.activity_712000 +NEW l10n_ar.arca.activity: l10n_ar.activity_72100 +NEW l10n_ar.arca.activity: l10n_ar.activity_721010 +NEW l10n_ar.arca.activity: l10n_ar.activity_721020 +NEW l10n_ar.arca.activity: l10n_ar.activity_721030 +NEW l10n_ar.arca.activity: l10n_ar.activity_721090 +NEW l10n_ar.arca.activity: l10n_ar.activity_722010 +NEW l10n_ar.arca.activity: l10n_ar.activity_722020 +NEW l10n_ar.arca.activity: l10n_ar.activity_72910 +NEW l10n_ar.arca.activity: l10n_ar.activity_72990 +NEW l10n_ar.arca.activity: l10n_ar.activity_731001 +NEW l10n_ar.arca.activity: l10n_ar.activity_731009 +NEW l10n_ar.arca.activity: l10n_ar.activity_732000 +NEW l10n_ar.arca.activity: l10n_ar.activity_741000 +NEW l10n_ar.arca.activity: l10n_ar.activity_742000 +NEW l10n_ar.arca.activity: l10n_ar.activity_749001 +NEW l10n_ar.arca.activity: l10n_ar.activity_749002 +NEW l10n_ar.arca.activity: l10n_ar.activity_749003 +NEW l10n_ar.arca.activity: l10n_ar.activity_749009 +NEW l10n_ar.arca.activity: l10n_ar.activity_750000 +NEW l10n_ar.arca.activity: l10n_ar.activity_771110 +NEW l10n_ar.arca.activity: l10n_ar.activity_771190 +NEW l10n_ar.arca.activity: l10n_ar.activity_771210 +NEW l10n_ar.arca.activity: l10n_ar.activity_771220 +NEW l10n_ar.arca.activity: l10n_ar.activity_771290 +NEW l10n_ar.arca.activity: l10n_ar.activity_772010 +NEW l10n_ar.arca.activity: l10n_ar.activity_772091 +NEW l10n_ar.arca.activity: l10n_ar.activity_772099 +NEW l10n_ar.arca.activity: l10n_ar.activity_773010 +NEW l10n_ar.arca.activity: l10n_ar.activity_773020 +NEW l10n_ar.arca.activity: l10n_ar.activity_773030 +NEW l10n_ar.arca.activity: l10n_ar.activity_773040 +NEW l10n_ar.arca.activity: l10n_ar.activity_773090 +NEW l10n_ar.arca.activity: l10n_ar.activity_774000 +NEW l10n_ar.arca.activity: l10n_ar.activity_780000 +NEW l10n_ar.arca.activity: l10n_ar.activity_791100 +NEW l10n_ar.arca.activity: l10n_ar.activity_791200 +NEW l10n_ar.arca.activity: l10n_ar.activity_791901 +NEW l10n_ar.arca.activity: l10n_ar.activity_791909 +NEW l10n_ar.arca.activity: l10n_ar.activity_8 +NEW l10n_ar.arca.activity: l10n_ar.activity_801010 +NEW l10n_ar.arca.activity: l10n_ar.activity_801020 +NEW l10n_ar.arca.activity: l10n_ar.activity_801090 +NEW l10n_ar.arca.activity: l10n_ar.activity_81100 +NEW l10n_ar.arca.activity: l10n_ar.activity_811000 +NEW l10n_ar.arca.activity: l10n_ar.activity_81200 +NEW l10n_ar.arca.activity: l10n_ar.activity_812010 +NEW l10n_ar.arca.activity: l10n_ar.activity_812020 +NEW l10n_ar.arca.activity: l10n_ar.activity_812090 +NEW l10n_ar.arca.activity: l10n_ar.activity_81300 +NEW l10n_ar.arca.activity: l10n_ar.activity_813000 +NEW l10n_ar.arca.activity: l10n_ar.activity_81400 +NEW l10n_ar.arca.activity: l10n_ar.activity_821100 +NEW l10n_ar.arca.activity: l10n_ar.activity_821900 +NEW l10n_ar.arca.activity: l10n_ar.activity_822000 +NEW l10n_ar.arca.activity: l10n_ar.activity_823000 +NEW l10n_ar.arca.activity: l10n_ar.activity_829100 +NEW l10n_ar.arca.activity: l10n_ar.activity_829200 +NEW l10n_ar.arca.activity: l10n_ar.activity_829900 +NEW l10n_ar.arca.activity: l10n_ar.activity_841100 +NEW l10n_ar.arca.activity: l10n_ar.activity_841200 +NEW l10n_ar.arca.activity: l10n_ar.activity_841300 +NEW l10n_ar.arca.activity: l10n_ar.activity_841900 +NEW l10n_ar.arca.activity: l10n_ar.activity_842100 +NEW l10n_ar.arca.activity: l10n_ar.activity_842200 +NEW l10n_ar.arca.activity: l10n_ar.activity_842300 +NEW l10n_ar.arca.activity: l10n_ar.activity_842400 +NEW l10n_ar.arca.activity: l10n_ar.activity_842500 +NEW l10n_ar.arca.activity: l10n_ar.activity_843000 +NEW l10n_ar.arca.activity: l10n_ar.activity_851010 +NEW l10n_ar.arca.activity: l10n_ar.activity_851020 +NEW l10n_ar.arca.activity: l10n_ar.activity_852100 +NEW l10n_ar.arca.activity: l10n_ar.activity_852200 +NEW l10n_ar.arca.activity: l10n_ar.activity_853100 +NEW l10n_ar.arca.activity: l10n_ar.activity_853201 +NEW l10n_ar.arca.activity: l10n_ar.activity_853300 +NEW l10n_ar.arca.activity: l10n_ar.activity_854910 +NEW l10n_ar.arca.activity: l10n_ar.activity_854920 +NEW l10n_ar.arca.activity: l10n_ar.activity_854930 +NEW l10n_ar.arca.activity: l10n_ar.activity_854940 +NEW l10n_ar.arca.activity: l10n_ar.activity_854950 +NEW l10n_ar.arca.activity: l10n_ar.activity_854960 +NEW l10n_ar.arca.activity: l10n_ar.activity_854990 +NEW l10n_ar.arca.activity: l10n_ar.activity_855000 +NEW l10n_ar.arca.activity: l10n_ar.activity_861010 +NEW l10n_ar.arca.activity: l10n_ar.activity_861020 +NEW l10n_ar.arca.activity: l10n_ar.activity_862110 +NEW l10n_ar.arca.activity: l10n_ar.activity_862120 +NEW l10n_ar.arca.activity: l10n_ar.activity_862130 +NEW l10n_ar.arca.activity: l10n_ar.activity_862200 +NEW l10n_ar.arca.activity: l10n_ar.activity_863110 +NEW l10n_ar.arca.activity: l10n_ar.activity_863120 +NEW l10n_ar.arca.activity: l10n_ar.activity_863190 +NEW l10n_ar.arca.activity: l10n_ar.activity_863200 +NEW l10n_ar.arca.activity: l10n_ar.activity_863300 +NEW l10n_ar.arca.activity: l10n_ar.activity_864000 +NEW l10n_ar.arca.activity: l10n_ar.activity_869010 +NEW l10n_ar.arca.activity: l10n_ar.activity_869090 +NEW l10n_ar.arca.activity: l10n_ar.activity_870100 +NEW l10n_ar.arca.activity: l10n_ar.activity_870210 +NEW l10n_ar.arca.activity: l10n_ar.activity_870220 +NEW l10n_ar.arca.activity: l10n_ar.activity_870910 +NEW l10n_ar.arca.activity: l10n_ar.activity_870920 +NEW l10n_ar.arca.activity: l10n_ar.activity_870990 +NEW l10n_ar.arca.activity: l10n_ar.activity_880000 +NEW l10n_ar.arca.activity: l10n_ar.activity_89110 +NEW l10n_ar.arca.activity: l10n_ar.activity_89120 +NEW l10n_ar.arca.activity: l10n_ar.activity_89200 +NEW l10n_ar.arca.activity: l10n_ar.activity_89300 +NEW l10n_ar.arca.activity: l10n_ar.activity_89900 +NEW l10n_ar.arca.activity: l10n_ar.activity_9 +NEW l10n_ar.arca.activity: l10n_ar.activity_900011 +NEW l10n_ar.arca.activity: l10n_ar.activity_900021 +NEW l10n_ar.arca.activity: l10n_ar.activity_900030 +NEW l10n_ar.arca.activity: l10n_ar.activity_900040 +NEW l10n_ar.arca.activity: l10n_ar.activity_900091 +NEW l10n_ar.arca.activity: l10n_ar.activity_91000 +NEW l10n_ar.arca.activity: l10n_ar.activity_910100 +NEW l10n_ar.arca.activity: l10n_ar.activity_910200 +NEW l10n_ar.arca.activity: l10n_ar.activity_910300 +NEW l10n_ar.arca.activity: l10n_ar.activity_910900 +NEW l10n_ar.arca.activity: l10n_ar.activity_920001 +NEW l10n_ar.arca.activity: l10n_ar.activity_920009 +NEW l10n_ar.arca.activity: l10n_ar.activity_931010 +NEW l10n_ar.arca.activity: l10n_ar.activity_931020 +NEW l10n_ar.arca.activity: l10n_ar.activity_931030 +NEW l10n_ar.arca.activity: l10n_ar.activity_931041 +NEW l10n_ar.arca.activity: l10n_ar.activity_931042 +NEW l10n_ar.arca.activity: l10n_ar.activity_931050 +NEW l10n_ar.arca.activity: l10n_ar.activity_931090 +NEW l10n_ar.arca.activity: l10n_ar.activity_939010 +NEW l10n_ar.arca.activity: l10n_ar.activity_939020 +NEW l10n_ar.arca.activity: l10n_ar.activity_939030 +NEW l10n_ar.arca.activity: l10n_ar.activity_939090 +NEW l10n_ar.arca.activity: l10n_ar.activity_941100 +NEW l10n_ar.arca.activity: l10n_ar.activity_941200 +NEW l10n_ar.arca.activity: l10n_ar.activity_942000 +NEW l10n_ar.arca.activity: l10n_ar.activity_949100 +NEW l10n_ar.arca.activity: l10n_ar.activity_949200 +NEW l10n_ar.arca.activity: l10n_ar.activity_949910 +NEW l10n_ar.arca.activity: l10n_ar.activity_949920 +NEW l10n_ar.arca.activity: l10n_ar.activity_949930 +NEW l10n_ar.arca.activity: l10n_ar.activity_949990 +NEW l10n_ar.arca.activity: l10n_ar.activity_951100 +NEW l10n_ar.arca.activity: l10n_ar.activity_951200 +NEW l10n_ar.arca.activity: l10n_ar.activity_952100 +NEW l10n_ar.arca.activity: l10n_ar.activity_952200 +NEW l10n_ar.arca.activity: l10n_ar.activity_952300 +NEW l10n_ar.arca.activity: l10n_ar.activity_952910 +NEW l10n_ar.arca.activity: l10n_ar.activity_952920 +NEW l10n_ar.arca.activity: l10n_ar.activity_952990 +NEW l10n_ar.arca.activity: l10n_ar.activity_960101 +NEW l10n_ar.arca.activity: l10n_ar.activity_960102 +NEW l10n_ar.arca.activity: l10n_ar.activity_960201 +NEW l10n_ar.arca.activity: l10n_ar.activity_960202 +NEW l10n_ar.arca.activity: l10n_ar.activity_960300 +NEW l10n_ar.arca.activity: l10n_ar.activity_960910 +NEW l10n_ar.arca.activity: l10n_ar.activity_960990 +NEW l10n_ar.arca.activity: l10n_ar.activity_970000 +NEW l10n_ar.arca.activity: l10n_ar.activity_99000 +NEW l10n_ar.arca.activity: l10n_ar.activity_990000 +DEL l10n_latam.identification.type: l10n_ar.it_AN +DEL l10n_latam.identification.type: l10n_ar.it_CBA +DEL l10n_latam.identification.type: l10n_ar.it_CCat +DEL l10n_latam.identification.type: l10n_ar.it_CCor +DEL l10n_latam.identification.type: l10n_ar.it_CCorr +DEL l10n_latam.identification.type: l10n_ar.it_CDI +DEL l10n_latam.identification.type: l10n_ar.it_CIBAR +DEL l10n_latam.identification.type: l10n_ar.it_CICha +DEL l10n_latam.identification.type: l10n_ar.it_CIChu +DEL l10n_latam.identification.type: l10n_ar.it_CIER +DEL l10n_latam.identification.type: l10n_ar.it_CIF +DEL l10n_latam.identification.type: l10n_ar.it_CIJ +DEL l10n_latam.identification.type: l10n_ar.it_CILP +DEL l10n_latam.identification.type: l10n_ar.it_CILR +DEL l10n_latam.identification.type: l10n_ar.it_CIMen +DEL l10n_latam.identification.type: l10n_ar.it_CIMis +DEL l10n_latam.identification.type: l10n_ar.it_CIN +DEL l10n_latam.identification.type: l10n_ar.it_CIRN +DEL l10n_latam.identification.type: l10n_ar.it_CIS +DEL l10n_latam.identification.type: l10n_ar.it_CISC +DEL l10n_latam.identification.type: l10n_ar.it_CISF +DEL l10n_latam.identification.type: l10n_ar.it_CISJ +DEL l10n_latam.identification.type: l10n_ar.it_CISL +DEL l10n_latam.identification.type: l10n_ar.it_CISdE +DEL l10n_latam.identification.type: l10n_ar.it_CIT +DEL l10n_latam.identification.type: l10n_ar.it_CITdF +DEL l10n_latam.identification.type: l10n_ar.it_CPF +DEL l10n_latam.identification.type: l10n_ar.it_CUIL +DEL l10n_latam.identification.type: l10n_ar.it_CdM +DEL l10n_latam.identification.type: l10n_ar.it_ET +DEL l10n_latam.identification.type: l10n_ar.it_LC +DEL l10n_latam.identification.type: l10n_ar.it_LE +DEL l10n_latam.identification.type: l10n_ar.it_Sigd +DEL l10n_latam.identification.type: l10n_ar.it_UpApP +DEL l10n_latam.identification.type: l10n_ar.it_cuit +DEL l10n_latam.identification.type: l10n_ar.it_dni +res.country: base.ad (noupdate switched) +res.country: base.ae (noupdate switched) +res.country: base.af (noupdate switched) +res.country: base.ag (noupdate switched) +res.country: base.ai (noupdate switched) +res.country: base.al (noupdate switched) +res.country: base.am (noupdate switched) +res.country: base.ao (noupdate switched) +res.country: base.aq (noupdate switched) +res.country: base.ar (noupdate switched) +res.country: base.as (noupdate switched) +res.country: base.at (noupdate switched) +res.country: base.au (noupdate switched) +res.country: base.aw (noupdate switched) +res.country: base.az (noupdate switched) +res.country: base.ba (noupdate switched) +res.country: base.bb (noupdate switched) +res.country: base.bd (noupdate switched) +res.country: base.be (noupdate switched) +res.country: base.bf (noupdate switched) +res.country: base.bg (noupdate switched) +res.country: base.bh (noupdate switched) +res.country: base.bi (noupdate switched) +res.country: base.bj (noupdate switched) +res.country: base.bm (noupdate switched) +res.country: base.bn (noupdate switched) +res.country: base.bo (noupdate switched) +res.country: base.bq (noupdate switched) +res.country: base.br (noupdate switched) +res.country: base.bs (noupdate switched) +res.country: base.bt (noupdate switched) +res.country: base.bw (noupdate switched) +res.country: base.by (noupdate switched) +res.country: base.bz (noupdate switched) +res.country: base.ca (noupdate switched) +res.country: base.cc (noupdate switched) +res.country: base.cd (noupdate switched) +res.country: base.cf (noupdate switched) +res.country: base.cg (noupdate switched) +res.country: base.ch (noupdate switched) +res.country: base.ci (noupdate switched) +res.country: base.ck (noupdate switched) +res.country: base.cl (noupdate switched) +res.country: base.cm (noupdate switched) +res.country: base.cn (noupdate switched) +res.country: base.co (noupdate switched) +res.country: base.cr (noupdate switched) +res.country: base.cu (noupdate switched) +res.country: base.cv (noupdate switched) +res.country: base.cx (noupdate switched) +res.country: base.cy (noupdate switched) +res.country: base.cz (noupdate switched) +res.country: base.de (noupdate switched) +res.country: base.dj (noupdate switched) +res.country: base.dk (noupdate switched) +res.country: base.dm (noupdate switched) +res.country: base.do (noupdate switched) +res.country: base.dz (noupdate switched) +res.country: base.ec (noupdate switched) +res.country: base.ee (noupdate switched) +res.country: base.eg (noupdate switched) +res.country: base.er (noupdate switched) +res.country: base.es (noupdate switched) +res.country: base.et (noupdate switched) +res.country: base.fi (noupdate switched) +res.country: base.fj (noupdate switched) +res.country: base.fk (noupdate switched) +res.country: base.fm (noupdate switched) +res.country: base.fr (noupdate switched) +res.country: base.ga (noupdate switched) +res.country: base.gd (noupdate switched) +res.country: base.ge (noupdate switched) +res.country: base.gg (noupdate switched) +res.country: base.gh (noupdate switched) +res.country: base.gi (noupdate switched) +res.country: base.gl (noupdate switched) +res.country: base.gm (noupdate switched) +res.country: base.gn (noupdate switched) +res.country: base.gq (noupdate switched) +res.country: base.gr (noupdate switched) +res.country: base.gt (noupdate switched) +res.country: base.gu (noupdate switched) +res.country: base.gw (noupdate switched) +res.country: base.gy (noupdate switched) +res.country: base.hk (noupdate switched) +res.country: base.hn (noupdate switched) +res.country: base.hr (noupdate switched) +res.country: base.ht (noupdate switched) +res.country: base.hu (noupdate switched) +res.country: base.id (noupdate switched) +res.country: base.ie (noupdate switched) +res.country: base.il (noupdate switched) +res.country: base.im (noupdate switched) +res.country: base.in (noupdate switched) +res.country: base.iq (noupdate switched) +res.country: base.ir (noupdate switched) +res.country: base.is (noupdate switched) +res.country: base.it (noupdate switched) +res.country: base.je (noupdate switched) +res.country: base.jm (noupdate switched) +res.country: base.jo (noupdate switched) +res.country: base.jp (noupdate switched) +res.country: base.ke (noupdate switched) +res.country: base.kg (noupdate switched) +res.country: base.kh (noupdate switched) +res.country: base.ki (noupdate switched) +res.country: base.km (noupdate switched) +res.country: base.kn (noupdate switched) +res.country: base.kp (noupdate switched) +res.country: base.kr (noupdate switched) +res.country: base.kw (noupdate switched) +res.country: base.ky (noupdate switched) +res.country: base.kz (noupdate switched) +res.country: base.la (noupdate switched) +res.country: base.lb (noupdate switched) +res.country: base.lc (noupdate switched) +res.country: base.li (noupdate switched) +res.country: base.lk (noupdate switched) +res.country: base.lr (noupdate switched) +res.country: base.ls (noupdate switched) +res.country: base.lt (noupdate switched) +res.country: base.lu (noupdate switched) +res.country: base.lv (noupdate switched) +res.country: base.ly (noupdate switched) +res.country: base.ma (noupdate switched) +res.country: base.mc (noupdate switched) +res.country: base.md (noupdate switched) +res.country: base.me (noupdate switched) +res.country: base.mg (noupdate switched) +res.country: base.mh (noupdate switched) +res.country: base.mk (noupdate switched) +res.country: base.ml (noupdate switched) +res.country: base.mm (noupdate switched) +res.country: base.mn (noupdate switched) +res.country: base.mo (noupdate switched) +res.country: base.mp (noupdate switched) +res.country: base.mr (noupdate switched) +res.country: base.ms (noupdate switched) +res.country: base.mt (noupdate switched) +res.country: base.mu (noupdate switched) +res.country: base.mv (noupdate switched) +res.country: base.mw (noupdate switched) +res.country: base.mx (noupdate switched) +res.country: base.my (noupdate switched) +res.country: base.mz (noupdate switched) +res.country: base.na (noupdate switched) +res.country: base.ne (noupdate switched) +res.country: base.nf (noupdate switched) +res.country: base.ng (noupdate switched) +res.country: base.ni (noupdate switched) +res.country: base.nl (noupdate switched) +res.country: base.no (noupdate switched) +res.country: base.np (noupdate switched) +res.country: base.nr (noupdate switched) +res.country: base.nu (noupdate switched) +res.country: base.nz (noupdate switched) +res.country: base.om (noupdate switched) +res.country: base.pa (noupdate switched) +res.country: base.pe (noupdate switched) +res.country: base.pf (noupdate switched) +res.country: base.pg (noupdate switched) +res.country: base.ph (noupdate switched) +res.country: base.pk (noupdate switched) +res.country: base.pl (noupdate switched) +res.country: base.pm (noupdate switched) +res.country: base.pn (noupdate switched) +res.country: base.pr (noupdate switched) +res.country: base.ps (noupdate switched) +res.country: base.pt (noupdate switched) +res.country: base.pw (noupdate switched) +res.country: base.py (noupdate switched) +res.country: base.qa (noupdate switched) +res.country: base.ro (noupdate switched) +res.country: base.rs (noupdate switched) +res.country: base.ru (noupdate switched) +res.country: base.rw (noupdate switched) +res.country: base.sa (noupdate switched) +res.country: base.sb (noupdate switched) +res.country: base.sc (noupdate switched) +res.country: base.sd (noupdate switched) +res.country: base.se (noupdate switched) +res.country: base.sg (noupdate switched) +res.country: base.sh (noupdate switched) +res.country: base.si (noupdate switched) +res.country: base.sj (noupdate switched) +res.country: base.sk (noupdate switched) +res.country: base.sl (noupdate switched) +res.country: base.sm (noupdate switched) +res.country: base.sn (noupdate switched) +res.country: base.so (noupdate switched) +res.country: base.sr (noupdate switched) +res.country: base.st (noupdate switched) +res.country: base.sv (noupdate switched) +res.country: base.sy (noupdate switched) +res.country: base.sz (noupdate switched) +res.country: base.tc (noupdate switched) +res.country: base.td (noupdate switched) +res.country: base.tg (noupdate switched) +res.country: base.th (noupdate switched) +res.country: base.tj (noupdate switched) +res.country: base.tk (noupdate switched) +res.country: base.tl (noupdate switched) +res.country: base.tm (noupdate switched) +res.country: base.tn (noupdate switched) +res.country: base.to (noupdate switched) +res.country: base.tr (noupdate switched) +res.country: base.tt (noupdate switched) +res.country: base.tv (noupdate switched) +res.country: base.tw (noupdate switched) +res.country: base.tz (noupdate switched) +res.country: base.ua (noupdate switched) +res.country: base.ug (noupdate switched) +res.country: base.uk (noupdate switched) +res.country: base.us (noupdate switched) +res.country: base.uy (noupdate switched) +res.country: base.uz (noupdate switched) +res.country: base.va (noupdate switched) +res.country: base.vc (noupdate switched) +res.country: base.ve (noupdate switched) +res.country: base.vg (noupdate switched) +res.country: base.vi (noupdate switched) +res.country: base.vn (noupdate switched) +res.country: base.vu (noupdate switched) +res.country: base.ws (noupdate switched) +res.country: base.ye (noupdate switched) +res.country: base.za (noupdate switched) +res.country: base.zm (noupdate switched) +res.country: base.zw (noupdate switched) +res.currency: base.ANG (noupdate switched) +res.currency: base.ARS (noupdate switched) +res.currency: base.AUD (noupdate switched) +res.currency: base.BOB (noupdate switched) +res.currency: base.BRL (noupdate switched) +res.currency: base.CAD (noupdate switched) +res.currency: base.CHF (noupdate switched) +res.currency: base.CLP (noupdate switched) +res.currency: base.CNY (noupdate switched) +res.currency: base.COP (noupdate switched) +res.currency: base.CZK (noupdate switched) +res.currency: base.DKK (noupdate switched) +res.currency: base.DOP (noupdate switched) +res.currency: base.EGP (noupdate switched) +res.currency: base.EUR (noupdate switched) +res.currency: base.GBP (noupdate switched) +res.currency: base.GTQ (noupdate switched) +res.currency: base.HKD (noupdate switched) +res.currency: base.HNL (noupdate switched) +res.currency: base.HUF (noupdate switched) +res.currency: base.ILS (noupdate switched) +res.currency: base.INR (noupdate switched) +res.currency: base.JMD (noupdate switched) +res.currency: base.JPY (noupdate switched) +res.currency: base.KWD (noupdate switched) +res.currency: base.MAD (noupdate switched) +res.currency: base.MXN (noupdate switched) +res.currency: base.NIO (noupdate switched) +res.currency: base.NOK (noupdate switched) +res.currency: base.PAB (noupdate switched) +res.currency: base.PEN (noupdate switched) +res.currency: base.PLN (noupdate switched) +res.currency: base.PYG (noupdate switched) +res.currency: base.RON (noupdate switched) +res.currency: base.SAR (noupdate switched) +res.currency: base.SEK (noupdate switched) +res.currency: base.SGD (noupdate switched) +res.currency: base.THB (noupdate switched) +res.currency: base.TWD (noupdate switched) +res.currency: base.USD (noupdate switched) +res.currency: base.UYU (noupdate switched) +res.currency: base.VEF (noupdate switched) +res.currency: base.ZAR (noupdate switched) +res.partner: l10n_ar.par_cfa (noupdate switched) +res.partner: l10n_ar.par_iibb_pagar (noupdate switched) +res.partner: l10n_ar.partner_afip (noupdate switched) +uom.uom: uom.product_uom_cm (noupdate switched) +uom.uom: uom.product_uom_day (noupdate switched) +uom.uom: uom.product_uom_dozen (noupdate switched) +uom.uom: uom.product_uom_floz (noupdate switched) +uom.uom: uom.product_uom_foot (noupdate switched) +uom.uom: uom.product_uom_gal (noupdate switched) +uom.uom: uom.product_uom_gram (noupdate switched) +uom.uom: uom.product_uom_hour (noupdate switched) +uom.uom: uom.product_uom_inch (noupdate switched) +uom.uom: uom.product_uom_kgm (noupdate switched) +uom.uom: uom.product_uom_km (noupdate switched) +uom.uom: uom.product_uom_lb (noupdate switched) +uom.uom: uom.product_uom_litre (noupdate switched) +uom.uom: uom.product_uom_meter (noupdate switched) +uom.uom: uom.product_uom_mile (noupdate switched) +uom.uom: uom.product_uom_oz (noupdate switched) +uom.uom: uom.product_uom_qt (noupdate switched) +uom.uom: uom.product_uom_ton (noupdate switched) +uom.uom: uom.product_uom_unit (noupdate switched) diff --git a/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..7b89ff5ca13 --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..2835888f65c --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "l10n_pe_pos", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..5171fed0d3e --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,5 @@ +---Models in module 'l10n_pe_pos'--- +---Fields in module 'l10n_pe_pos'--- +---XML records in module 'l10n_pe_pos'--- +NEW ir.ui.view: l10n_pe_pos.view_partner_form_pos_ui_inherit_l10n_pe_pos +res.partner: l10n_pe_pos.partner_pe_cf (noupdate switched) diff --git a/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..c53ac2f0f41 --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pe_pos/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,7 @@ +---Models in module 'l10n_pe_pos'--- +---Fields in module 'l10n_pe_pos'--- +---XML records in module 'l10n_pe_pos'--- +NEW ir.ui.view: l10n_pe_pos.view_partner_form_pos_ui_inherit_l10n_pe_pos +# NOTHING TO DO: the record is not noupdate, so the module update creates it +res.partner: l10n_pe_pos.partner_pe_cf (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/noupdate_changes.xml new file mode 100644 index 00000000000..6e0e2a3170d --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + Business Identification + + diff --git a/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/post-migration.py b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/post-migration.py new file mode 100644 index 00000000000..b5898484ea0 --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "l10n_pk", "20.0.1.1/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "l10n_pk", + ["base.pk"], + ["vat_label"], + ) diff --git a/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..4fdf05a7048 --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,224 @@ +---Models in module 'l10n_pk'--- +---Fields in module 'l10n_pk'--- +l10n_pk / account.tax / l10n_pk_is_further_tax (boolean): NEW +---XML records in module 'l10n_pk'--- +DEL account.report: l10n_pk.l10n_pk_vat_form +DEL account.report: l10n_pk.l10n_pk_wh_vat_form +DEL account.report.column: l10n_pk.l10n_pk_vat_column_net +DEL account.report.column: l10n_pk.l10n_pk_vat_column_tax +DEL account.report.column: l10n_pk.l10n_pk_wh_vat_column_net +DEL account.report.column: l10n_pk.l10n_pk_wh_vat_column_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJS_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJS_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_BAS_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_BAS_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICS_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICS_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KPS_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KPS_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_AJK +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_BAL +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_ICT +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_KP +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_PUN +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_SIN +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NST_1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NST_P1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NST_S1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NS_1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NS_P1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NS_S1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_PP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_PP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_0_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_0_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_10_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_10_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_17_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_17_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_195_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_195_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_1_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_1_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_2_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_2_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_3_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_3_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_5_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_5_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_8_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_8_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SIS_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SIS_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_0_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_0_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SS_17_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SS_17_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_STP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_STP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_0_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_0_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_10_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_10_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_17_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_17_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_195_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_195_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_1_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_1_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_2_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_2_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_3_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_3_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_5_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_5_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_8_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_8_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P10_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P10_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P11_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P11_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P12_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P12_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P13_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P13_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P1_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P1_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P2_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P2_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P3_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P3_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P4_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P4_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P5_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P5_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P6_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P6_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P7_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P7_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P8_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P8_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P9_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P9_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S10_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S10_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S1_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S1_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S2_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S2_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S3_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S3_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S4_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S4_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S5_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S5_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S6_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S6_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S7_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S7_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S8_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S8_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S9_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S9_tax +DEL account.report.line: l10n_pk.l10n_pk_vat_line_AJP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_AJS_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_BAS_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_ICP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_ICS_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_KPS_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_KP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_AJK +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_BAL +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_ICT +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_KP +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_PUN +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_SIN +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NST_P +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NST_S +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NS_P +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NS_S +DEL account.report.line: l10n_pk.l10n_pk_vat_line_PP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_0 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_1 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_10 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_195 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_2 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_3 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_5 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_8 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SIS_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SP_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SP_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SS_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_STP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_0 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_1 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_10 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_195 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_2 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_3 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_5 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_8 +DEL account.report.line: l10n_pk.l10n_pk_vat_title_NSTP_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_NST_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_NS_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_purchases_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_sales_vat +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P1 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P10 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P11 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P12 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P13 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P2 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P3 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P4 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P5 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P6 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P7 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P8 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P9 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S1 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S10 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S2 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S3 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S4 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S5 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S6 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S7 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S8 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S9 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_title_purchases_vat +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_title_sales_vat +NEW ir.config_parameter: l10n_pk.l10n_pk_iap_endpoint +NEW ir.ui.view: l10n_pk.view_tax_form_inherit_l10n_pk diff --git a/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/upgrade_analysis_work.txt new file mode 100644 index 00000000000..19632cb5ceb --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_pk/20.0.1.1/upgrade_analysis_work.txt @@ -0,0 +1,227 @@ +---Models in module 'l10n_pk'--- +---Fields in module 'l10n_pk'--- +l10n_pk / account.tax / l10n_pk_is_further_tax (boolean): NEW +# NOTHING TO DO: empty is the right value for existing records +---XML records in module 'l10n_pk'--- +DEL account.report: l10n_pk.l10n_pk_vat_form +DEL account.report: l10n_pk.l10n_pk_wh_vat_form +DEL account.report.column: l10n_pk.l10n_pk_vat_column_net +DEL account.report.column: l10n_pk.l10n_pk_vat_column_tax +DEL account.report.column: l10n_pk.l10n_pk_wh_vat_column_net +DEL account.report.column: l10n_pk.l10n_pk_wh_vat_column_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJS_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_AJS_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_BAS_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_BAS_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICS_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_ICS_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KPS_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KPS_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_KP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_AJK +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_BAL +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_ICT +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_KP +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_PUN +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NSTP_SIN +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NST_1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NST_P1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NST_S1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NS_1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NS_P1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_NS_S1 +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_PP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_PP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_0_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_0_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_10_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_10_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_17_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_17_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_195_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_195_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_1_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_1_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_2_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_2_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_3_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_3_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_5_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_5_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_8_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_P_8_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SIS_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SIS_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_0_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_0_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SS_17_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_SS_17_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_STP_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_STP_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_0_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_0_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_10_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_10_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_13_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_13_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_15_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_15_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_16_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_16_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_17_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_17_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_195_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_195_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_1_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_1_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_2_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_2_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_3_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_3_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_5_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_5_tax +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_8_base +DEL account.report.expression: l10n_pk.l10n_pk_vat_expression_S_8_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P10_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P10_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P11_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P11_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P12_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P12_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P13_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P13_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P1_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P1_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P2_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P2_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P3_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P3_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P4_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P4_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P5_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P5_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P6_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P6_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P7_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P7_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P8_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P8_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P9_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_P9_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S10_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S10_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S1_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S1_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S2_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S2_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S3_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S3_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S4_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S4_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S5_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S5_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S6_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S6_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S7_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S7_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S8_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S8_tax +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S9_base +DEL account.report.expression: l10n_pk.l10n_pk_wh_vat_expression_S9_tax +DEL account.report.line: l10n_pk.l10n_pk_vat_line_AJP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_AJS_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_BAS_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_ICP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_ICS_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_KPS_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_KP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_AJK +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_BAL +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_ICT +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_KP +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_PUN +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NSTP_SIN +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NST_P +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NST_S +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NS_P +DEL account.report.line: l10n_pk.l10n_pk_vat_line_NS_S +DEL account.report.line: l10n_pk.l10n_pk_vat_line_PP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_0 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_1 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_10 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_195 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_2 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_3 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_5 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_P_8 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SIS_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SP_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SP_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_SS_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_STP_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_0 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_1 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_10 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_13 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_15 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_16 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_17 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_195 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_2 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_3 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_5 +DEL account.report.line: l10n_pk.l10n_pk_vat_line_S_8 +DEL account.report.line: l10n_pk.l10n_pk_vat_title_NSTP_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_NST_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_NS_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_purchases_vat +DEL account.report.line: l10n_pk.l10n_pk_vat_title_sales_vat +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P1 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P10 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P11 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P12 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P13 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P2 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P3 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P4 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P5 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P6 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P7 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P8 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_P9 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S1 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S10 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S2 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S3 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S4 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S5 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S6 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S7 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S8 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_line_S9 +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_title_purchases_vat +DEL account.report.line: l10n_pk.l10n_pk_wh_vat_title_sales_vat +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW ir.config_parameter: l10n_pk.l10n_pk_iap_endpoint +NEW ir.ui.view: l10n_pk.view_tax_form_inherit_l10n_pk +# NOTHING TO DO: the record is not noupdate, so the module update creates it diff --git a/openupgrade_scripts/scripts/l10n_th/20.0.2.0/pre-migration.py b/openupgrade_scripts/scripts/l10n_th/20.0.2.0/pre-migration.py new file mode 100644 index 00000000000..27dc3f571c9 --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_th/20.0.2.0/pre-migration.py @@ -0,0 +1,40 @@ +# Copyright 2026 Don Kendall +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +# 20.0 ships these withholding tax tags as records with external ids. In 19.0 +# they were created implicitly by the tax template csv, which names tags but +# does not give them ids, so the rows exist with no ir_model_data entry and the +# new records collide on account_account_tag_name_uniq. +_TAGS = [ + ("tag_th_pnd3", "PND3"), + ("tag_th_income_pnd3", "Income PND3"), + ("tag_th_pnd53", "PND53"), + ("tag_th_income_pnd53", "Income PND53"), +] + + +@openupgrade.migrate() +def migrate(env, version): + for xmlid, name in _TAGS: + env.cr.execute( + """ + SELECT tag.id + FROM account_account_tag tag + JOIN res_country country ON country.id = tag.country_id + WHERE tag.name ->> 'en_US' = %s + AND tag.applicability = 'taxes' + AND country.code = 'TH' + AND NOT EXISTS ( + SELECT 1 FROM ir_model_data imd + WHERE imd.model = 'account.account.tag' AND imd.res_id = tag.id + ) + """, + (name,), + ) + row = env.cr.fetchone() + if row: + openupgrade.add_xmlid( + env.cr, "l10n_th", xmlid, "account.account.tag", row[0], noupdate=True + ) diff --git a/openupgrade_scripts/scripts/l10n_th/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/l10n_th/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..b0c204b3b7e --- /dev/null +++ b/openupgrade_scripts/scripts/l10n_th/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,79 @@ +---Models in module 'l10n_th'--- +new model l10n_th.tax.invoice +new model report.l10n_th.report_50_tawi [abstract] +---Fields in module 'l10n_th'--- +l10n_th / account.move / l10n_th_tax_invoice_ids (one2many): NEW relation: l10n_th.tax.invoice +l10n_th / account.payment / l10n_th_wth_condition (selection): NEW selection_keys: ['at_source', 'forever', 'one_time'], hasdefault: compute +l10n_th / account.tax / l10n_th_income_tax_type (selection): NEW selection_keys: ['advertising', 'commission', 'contract', 'dividend', 'hire_of_work', 'insurance', 'interest', 'na', 'others', 'prize', 'prof_fees', 'public_actor', 'rentals', 'royalties', 'service', 'transportation'] +l10n_th / account.tax / l10n_th_income_tax_type_others (char): NEW +l10n_th / l10n_th.tax.invoice / amount_residual (float) : NEW +l10n_th / l10n_th.tax.invoice / company_id (many2one) : NEW relation: res.company, isrelated: related, stored +l10n_th / l10n_th.tax.invoice / date (date) : NEW +l10n_th / l10n_th.tax.invoice / invoice_move_id (many2one) : NEW relation: account.move, required +l10n_th / l10n_th.tax.invoice / is_partially_paid (boolean) : NEW +l10n_th / l10n_th.tax.invoice / payment_move_id (many2one) : NEW relation: account.move +l10n_th / l10n_th.tax.invoice / reference (char) : NEW +l10n_th / l10n_th.tax.invoice / state (selection) : NEW required, selection_keys: ['cancel', 'draft', 'posted'] +l10n_th / l10n_th.tax.invoice / tax_group_amounts (json) : NEW +l10n_th / l10n_th.tax.invoice / tax_invoice_lines (json) : NEW +l10n_th / l10n_th.tax.invoice / tax_invoice_number (char) : NEW +l10n_th / l10n_th.tax.invoice / total_amount (float) : NEW +l10n_th / l10n_th.tax.invoice / total_on_payment_amount (float): NEW +l10n_th / l10n_th.tax.invoice / vat_amount (float) : NEW +l10n_th / res.company / l10n_th_is_vat_registered (boolean): NEW +l10n_th / res.partner / l10n_th_company_type (selection): NEW selection_keys: ['asso', 'company_ltd', 'foundation', 'joint_venture', 'ltd_partner', 'others', 'pub_company_ltd'] +l10n_th / res.partner / l10n_th_title (selection) : NEW selection_keys: ['khun', 'mr', 'mrs', 'ms'] +l10n_th / res.partner.bank / proxy_type (False) : selection_keys removed: [uen] +---XML records in module 'l10n_th'--- +NEW account.account.tag: l10n_th.tag_th_income_pnd3 +NEW account.account.tag: l10n_th.tag_th_income_pnd53 +NEW account.account.tag: l10n_th.tag_th_pnd3 +NEW account.account.tag: l10n_th.tag_th_pnd53 +DEL account.report: l10n_th.tax_report_pnd3 +DEL account.report: l10n_th.tax_report_pnd53 +DEL account.report.column: l10n_th.tax_report_pnd3_balance +DEL account.report.column: l10n_th.tax_report_pnd53_balance +NEW account.report.expression: l10n_th.tax_report_out_tax_sale_tag_neg +NEW account.report.expression: l10n_th.tax_report_out_tax_sale_tag_pos +DEL account.report.expression: l10n_th.tax_report_surcharge_pnd3 +DEL account.report.expression: l10n_th.tax_report_surcharge_pnd53 +DEL account.report.expression: l10n_th.tax_report_total_income_pnd3 +DEL account.report.expression: l10n_th.tax_report_total_income_pnd53 +DEL account.report.expression: l10n_th.tax_report_total_pnd3 +DEL account.report.expression: l10n_th.tax_report_total_pnd53 +DEL account.report.expression: l10n_th.tax_report_total_remittance_pnd3 +DEL account.report.expression: l10n_th.tax_report_total_remittance_pnd53 +DEL account.report.line: l10n_th.tax_report_surcharge_pnd3_line +DEL account.report.line: l10n_th.tax_report_surcharge_pnd53_line +DEL account.report.line: l10n_th.tax_report_total_income_pnd3_line +DEL account.report.line: l10n_th.tax_report_total_income_pnd53_line +DEL account.report.line: l10n_th.tax_report_total_pnd3_line +DEL account.report.line: l10n_th.tax_report_total_pnd53_line +DEL account.report.line: l10n_th.tax_report_total_remittance_pnd3_line +DEL account.report.line: l10n_th.tax_report_total_remittance_pnd53_line +NEW ir.access: l10n_th.access_l10n_th_tax_invoice +NEW ir.access: l10n_th.access_l10n_th_tax_invoice_readonly +NEW ir.access: l10n_th.l10n_th_tax_invoice_comp_rule +NEW ir.actions.report: l10n_th.action_report_50_tawi +NEW ir.actions.report: l10n_th.action_report_tax_invoice +DEL ir.actions.report: l10n_th.action_report_commercial_invoice [renamed to l10n_ph module] +NEW ir.actions.server: l10n_th.action_download_50_tawi_zip +NEW ir.ui.view: l10n_th.company_address_list +NEW ir.ui.view: l10n_th.report_50_tawi +NEW ir.ui.view: l10n_th.report_50_tawi_document +NEW ir.ui.view: l10n_th.report_tax_invoice +NEW ir.ui.view: l10n_th.report_tax_invoice_document +NEW ir.ui.view: l10n_th.res_company_form_inherit_l10n_th +NEW ir.ui.view: l10n_th.res_config_settings_view_form +NEW ir.ui.view: l10n_th.tawi_square +NEW ir.ui.view: l10n_th.tax_invoice_document_tax_totals +NEW ir.ui.view: l10n_th.th_partner_address_form +NEW ir.ui.view: l10n_th.tickbox_with_desc +NEW ir.ui.view: l10n_th.view_account_payment_form_inherit_l10n_th +NEW ir.ui.view: l10n_th.view_account_payment_register_form_inherit_l10n_th +NEW ir.ui.view: l10n_th.view_move_form_th_inherit +NEW ir.ui.view: l10n_th.view_partner_form_inherit_l10n_th +NEW ir.ui.view: l10n_th.view_tax_form_inherit_l10n_th +NEW ir.ui.view: l10n_th.view_tax_tree_inherit_l10n_th +DEL ir.ui.view: l10n_th.report_commercial_invoice +NEW report.paperformat: l10n_th.paperformat_tawi diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/noupdate_changes.xml b/openupgrade_scripts/scripts/mail/20.0.1.19/noupdate_changes.xml new file mode 100644 index 00000000000..c33e1b7e117 --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/noupdate_changes.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + phone + + + mail + + + calendar_today + + + check + + + upload + + + warning + + + + + + + + + + Messages + + + Notes + + + diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py b/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py new file mode 100644 index 00000000000..f2053947539 --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "mail", "20.0.1.19/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "mail", + ["mt_comment", "mt_note"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py b/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py new file mode 100644 index 00000000000..abfceda2c7c --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py @@ -0,0 +1,45 @@ +# Copyright 2026 Don Kendall +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +def _claim_admin_channel_membership(env): + """Give the administrator's membership of the admin channel its new xml_id. + + 20.0 ships discuss.channel.member records for memberships that 19.0 created + implicitly through autosubscribe, so the data load tries to insert a row + that is already there and trips discuss_channel_member_partner_unique. + Claiming the existing row turns that insert into an update. + """ + env.cr.execute( + """ + SELECT m.id + FROM discuss_channel_member m + JOIN ir_model_data channel + ON channel.model = 'discuss.channel' + AND channel.module = 'mail' + AND channel.name = 'channel_admin' + AND channel.res_id = m.channel_id + JOIN ir_model_data partner + ON partner.model = 'res.partner' + AND partner.module = 'base' + AND partner.name = 'partner_admin' + AND partner.res_id = m.partner_id + """ + ) + row = env.cr.fetchone() + if row: + openupgrade.add_xmlid( + env.cr, + "mail", + "channel_member_channel_admin_partner_admin", + "discuss.channel.member", + row[0], + noupdate=True, + ) + + +@openupgrade.migrate() +def migrate(env, version): + _claim_admin_channel_membership(env) diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis.txt b/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis.txt new file mode 100644 index 00000000000..aa1589207c5 --- /dev/null +++ b/openupgrade_scripts/scripts/mail/20.0.1.19/upgrade_analysis.txt @@ -0,0 +1,471 @@ +---Models in module 'mail'--- +obsolete model mail.thread.cc [abstract] +obsolete model mail.tracking.value +new model bus.sync.mixin [abstract] +new model discuss.category +new model discuss.channel.last.interest.update +new model mail.call.artifact +new model mail.poll +new model mail.poll.option +new model mail.poll.vote +new model mail.thread.subject.suggested [abstract] +new model mail.track.mixin [abstract] +---Fields in module 'mail'--- +mail / discuss.call.history / artifact_ids (one2many) : NEW relation: mail.call.artifact +mail / discuss.category / channel_ids (one2many) : NEW relation: discuss.channel +mail / discuss.category / name (char) : NEW required +mail / discuss.category / sequence (integer) : NEW hasdefault: default +mail / discuss.channel / discuss_category_id (many2one): NEW relation: discuss.category +mail / discuss.channel / is_readonly (boolean) : NEW +mail / discuss.channel / member_indices (char) : NEW isfunction: function, stored +mail / discuss.channel / pinned_message_ids (one2many) : DEL relation: mail.message +mail / discuss.channel.last.interest.update / channel_id (many2one) : NEW relation: discuss.channel, required +mail / discuss.channel.last.interest.update / last_interest_dt (datetime) : NEW required +mail / discuss.channel.member / channel_role (selection) : NEW selection_keys: ['admin', 'owner'] +mail / discuss.channel.member / custom_channel_name (char) : DEL +mail / discuss.channel.member / fetched_message_id (many2one) : DEL relation: mail.message +mail / discuss.channel.member / invitation_sent_dt (datetime) : NEW +mail / discuss.channel.member / is_favorite (boolean) : NEW +mail / ir.access / message_follower_ids (one2many): NEW relation: mail.followers +mail / ir.access / message_ids (one2many) : NEW relation: mail.message +mail / ir.actions.server / activity_plan_id (many2one) : NEW relation: mail.activity.plan, hasdefault: compute +mail / ir.actions.server / activity_role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / ir.actions.server / activity_type_id (many2one) : not related anymore +mail / ir.actions.server / activity_user_type (selection): selection_keys added: [role] (most likely nothing to do) +mail / ir.actions.server / log_note_note (html) : NEW hasdefault: compute, translate +mail / ir.actions.server / mail_post_method (selection) : DEL selection_keys: ['comment', 'email', 'note'] +mail / ir.actions.server / state (False) : selection_keys added: [log_note] (most likely nothing to do) +mail / ir.actions.server / subtype_ids (many2many) : NEW relation: mail.message.subtype, hasdefault: default +mail / ir.ui.view / technical_usage (False) : NEW selection_keys: ['mail_post_source'], mode: modify +mail / ir.ui.view / type (False) : selection_keys added: [card] (most likely nothing to do) +mail / mail.activity / activity_plan_id (many2one) : NEW relation: mail.activity.plan +mail / mail.activity / activity_template_id (many2one): NEW relation: mail.activity.plan.template +mail / mail.activity / phone (char) : NEW hasdefault: compute +mail / mail.activity / previous_activity_type_id (many2one): DEL relation: mail.activity.type +mail / mail.activity / recommended_activity_type_id (many2one): DEL relation: mail.activity.type +mail / mail.activity / role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / mail.activity / technical_usage (selection) : NEW selection_keys: ['none'] +mail / mail.activity.plan.template / next_activity_ids (many2many) : DEL relation: mail.activity.type +mail / mail.activity.plan.template / responsible_type (selection) : selection_keys added: [role] (most likely nothing to do) +mail / mail.activity.plan.template / role_id (many2one) : NEW relation: res.role, hasdefault: compute +mail / mail.activity.type / chaining_type (selection) : DEL required, selection_keys: ['suggest', 'trigger'] +mail / mail.activity.type / default_role_id (many2one) : NEW relation: res.role +mail / mail.activity.type / kpi_provider_visibility (selection): NEW selection_keys: ['all', 'none', 'own'], hasdefault: default +mail / mail.activity.type / suggested_next_type_id (many2one): NEW relation: mail.activity.type +mail / mail.activity.type / suggested_next_type_ids (many2many): DEL relation: mail.activity.type +mail / mail.activity.type / triggered_next_type_id (many2one): DEL relation: mail.activity.type +mail / mail.call.artifact / discuss_call_history_id (many2one): NEW relation: discuss.call.history +mail / mail.call.artifact / end_ms (integer) : NEW required, hasdefault: default +mail / mail.call.artifact / recording_started_by_id (many2one): NEW relation: res.users +mail / mail.call.artifact / recording_upload_pending (boolean): NEW +mail / mail.call.artifact / start_ms (integer) : NEW required, hasdefault: default +mail / mail.guest / im_status (char) : selection_keys is now '['away', 'offline', 'online']' ('False') +mail / mail.guest / im_status (char) : type is now 'selection' ('char') +mail / mail.mail / recipient_cc_ids (many2many) : NEW relation: res.partner +mail / mail.message / bookmarked_partner_ids (many2many): NEW relation: res.partner +mail / mail.message / ended_poll_ids (one2many) : NEW relation: mail.poll +mail / mail.message / message_type (selection) : selection_keys added: [tracking] (most likely nothing to do) +mail / mail.message / partner_cc_ids (many2many) : NEW relation: res.partner +mail / mail.message / starred_partner_ids (many2many): DEL relation: res.partner +mail / mail.message / started_poll_ids (one2many) : NEW relation: mail.poll +mail / mail.message / tracking_value_ids (one2many) : DEL relation: mail.tracking.value +mail / mail.poll / allow_multiple_options (boolean): NEW +mail / mail.poll / end_message_id (many2one) : NEW relation: mail.message +mail / mail.poll / option_ids (one2many) : NEW relation: mail.poll.option, required +mail / mail.poll / poll_end_dt (datetime) : NEW +mail / mail.poll / poll_question (char) : NEW required +mail / mail.poll / start_message_id (many2one) : NEW relation: mail.message, required +mail / mail.poll.option / option_emoji (char) : NEW +mail / mail.poll.option / option_label (char) : NEW required +mail / mail.poll.option / poll_id (many2one) : NEW relation: mail.poll, required +mail / mail.poll.option / vote_ids (one2many) : NEW relation: mail.poll.vote +mail / mail.poll.vote / guest_id (many2one) : NEW relation: mail.guest +mail / mail.poll.vote / option_id (many2one) : NEW relation: mail.poll.option, required +mail / mail.poll.vote / user_id (many2one) : NEW relation: res.users +mail / mail.scheduled.message / partner_cc_ids (many2many) : NEW relation: res.partner +mail / mail.template / email_layout_force_footer (boolean): NEW hasdefault: default +mail / mail.template / email_layout_force_header (boolean): NEW hasdefault: default +mail / mail.template / partner_cc (char) : NEW +mail / mail.tracking.value / currency_id (many2one) : DEL relation: res.currency +mail / mail.tracking.value / field_id (many2one) : DEL relation: ir.model.fields +mail / mail.tracking.value / field_info (json) : DEL +mail / mail.tracking.value / mail_message_id (many2one) : DEL relation: mail.message, required +mail / mail.tracking.value / new_value_char (char) : DEL +mail / mail.tracking.value / new_value_datetime (datetime) : DEL +mail / mail.tracking.value / new_value_float (float) : DEL +mail / mail.tracking.value / new_value_integer (integer) : DEL +mail / mail.tracking.value / new_value_text (text) : DEL +mail / mail.tracking.value / old_value_char (char) : DEL +mail / mail.tracking.value / old_value_datetime (datetime) : DEL +mail / mail.tracking.value / old_value_float (float) : DEL +mail / mail.tracking.value / old_value_integer (integer) : DEL +mail / mail.tracking.value / old_value_text (text) : DEL +mail / res.partner / contact_address_inline (char) : module is now 'base' ('mail') +mail / res.role / active (boolean) : NEW hasdefault: default +mail / res.users / activity_date_deadline (date) : not related anymore +mail / res.users / activity_date_deadline (date) : now a function +mail / res.users / activity_exception_decoration (selection): not related anymore +mail / res.users / activity_exception_decoration (selection): now a function +mail / res.users / activity_exception_decoration (selection): selection_keys is now '['danger', 'warning']' ('function') +mail / res.users / activity_exception_icon (char): not related anymore +mail / res.users / activity_exception_icon (char): now a function +mail / res.users / activity_ids (one2many) : is now stored +mail / res.users / activity_ids (one2many) : not related anymore +mail / res.users / activity_state (selection) : not related anymore +mail / res.users / activity_state (selection) : now a function +mail / res.users / activity_state (selection) : selection_keys is now '['overdue', 'planned', 'today']' ('function') +mail / res.users / activity_user_id (many2one) : not related anymore +mail / res.users / activity_user_id (many2one) : now a function +mail / res.users / contact_address_inline (char) : module is now 'base' ('mail') +mail / res.users / has_message (boolean) : not related anymore +mail / res.users / has_message (boolean) : now a function +mail / res.users / im_status (char) : selection_keys is now '['away', 'busy', 'offline', 'online']' ('False') +mail / res.users / im_status (char) : type is now 'selection' ('char') +mail / res.users / message_attachment_count (integer): not related anymore +mail / res.users / message_attachment_count (integer): now a function +mail / res.users / message_follower_ids (one2many): is now stored +mail / res.users / message_follower_ids (one2many): not related anymore +mail / res.users / message_has_error (boolean) : not related anymore +mail / res.users / message_has_error (boolean) : now a function +mail / res.users / message_has_error_counter (integer): not related anymore +mail / res.users / message_has_error_counter (integer): now a function +mail / res.users / message_ids (one2many) : is now stored +mail / res.users / message_ids (one2many) : not related anymore +mail / res.users / message_is_follower (boolean) : not related anymore +mail / res.users / message_is_follower (boolean) : now a function +mail / res.users / message_needaction (boolean) : not related anymore +mail / res.users / message_needaction (boolean) : now a function +mail / res.users / message_needaction_counter (integer): not related anymore +mail / res.users / message_needaction_counter (integer): now a function +mail / res.users / message_partner_ids (many2many): not related anymore +mail / res.users / message_partner_ids (many2many): now a function +mail / res.users / my_activity_date_deadline (date): not related anymore +mail / res.users / my_activity_date_deadline (date): now a function +mail / res.users / offline_since (datetime) : not related anymore +mail / res.users / offline_since (datetime) : now a function +mail / res.users.settings / is_discuss_sidebar_category_channel_open (boolean): DEL +mail / res.users.settings / is_discuss_sidebar_category_chat_open (boolean): DEL +mail / res.users.settings / push_to_talk_key (char) : DEL +mail / res.users.settings / use_push_to_talk (boolean) : DEL +mail / res.users.settings / voice_active_duration (integer): DEL +---XML records in module 'mail'--- +discuss.channel: mail.channel_admin (noupdate switched) +discuss.channel: mail.channel_all_employees (noupdate switched) +NEW discuss.channel.member: mail.channel_member_channel_admin_partner_admin +discuss.channel.member: mail.channel_member_general_channel_for_admin (noupdate switched) +NEW ir.access: mail.access_discuss_category_erp_manager +NEW ir.access: mail.access_discuss_category_user +NEW ir.access: mail.access_discuss_channel_last_interest_update_system +NEW ir.access: mail.access_discuss_channel_rtc_session_system +NEW ir.access: mail.access_discuss_voice_metadata_user +NEW ir.access: mail.access_fetchmail_server +NEW ir.access: mail.access_mail_activity_plan_template_user +NEW ir.access: mail.access_mail_activity_plan_user +NEW ir.access: mail.access_mail_activity_schedule_line_user +NEW ir.access: mail.access_mail_activity_schedule_user +NEW ir.access: mail.access_mail_activity_type_system +NEW ir.access: mail.access_mail_activity_type_user +NEW ir.access: mail.access_mail_alias_domain_system +NEW ir.access: mail.access_mail_alias_domain_user +NEW ir.access: mail.access_mail_alias_system +NEW ir.access: mail.access_mail_alias_user +NEW ir.access: mail.access_mail_blacklist_remove_system +NEW ir.access: mail.access_mail_blacklist_system +NEW ir.access: mail.access_mail_call_artifact_admin +NEW ir.access: mail.access_mail_call_artifact_user +NEW ir.access: mail.access_mail_canned_reponse +NEW ir.access: mail.access_mail_compose_message +NEW ir.access: mail.access_mail_followers_edit +NEW ir.access: mail.access_mail_followers_system +NEW ir.access: mail.access_mail_followers_user +NEW ir.access: mail.access_mail_gateway_allowed_system +NEW ir.access: mail.access_mail_guest_system +NEW ir.access: mail.access_mail_guest_user +NEW ir.access: mail.access_mail_ice_server_system +NEW ir.access: mail.access_mail_link_preview_admin +NEW ir.access: mail.access_mail_mail_system +NEW ir.access: mail.access_mail_message_link_preview_erp_manager +NEW ir.access: mail.access_mail_message_reaction_system +NEW ir.access: mail.access_mail_message_scheduled_system +NEW ir.access: mail.access_mail_message_subtype_system +NEW ir.access: mail.access_mail_message_subtype_user +NEW ir.access: mail.access_mail_message_translation_system +NEW ir.access: mail.access_mail_notification_system +NEW ir.access: mail.access_mail_notification_user +NEW ir.access: mail.access_mail_poll_erp_manager +NEW ir.access: mail.access_mail_poll_option_erp_manager +NEW ir.access: mail.access_mail_poll_vote_erp_manager +NEW ir.access: mail.access_mail_presence +NEW ir.access: mail.access_mail_push_device_system +NEW ir.access: mail.access_mail_push_system +NEW ir.access: mail.access_mail_template +NEW ir.access: mail.access_mail_template_editor +NEW ir.access: mail.access_mail_template_preview +NEW ir.access: mail.access_mail_template_reset +NEW ir.access: mail.access_publisher_warranty_contract_all +NEW ir.access: mail.access_res_role_admin +NEW ir.access: mail.access_res_role_user +NEW ir.access: mail.discuss_gif_favorite_admin_rule +NEW ir.access: mail.discuss_gif_favorite_user_rule +NEW ir.access: mail.ir_actions_report_access_user +NEW ir.access: mail.ir_rule_discuss_call_history_read_all +NEW ir.access: mail.ir_rule_discuss_channel_all +NEW ir.access: mail.ir_rule_discuss_channel_all_user_write +NEW ir.access: mail.ir_rule_discuss_channel_group_system +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_group_matching_all +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_group_matching_group_user +NEW ir.access: mail.ir_rule_discuss_channel_member_create_is_member_group_user +NEW ir.access: mail.ir_rule_discuss_channel_member_group_system +NEW ir.access: mail.ir_rule_discuss_channel_member_is_channel_admin_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_is_channel_owner_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_is_self_all +NEW ir.access: mail.ir_rule_discuss_channel_member_is_self_unlink +NEW ir.access: mail.ir_rule_discuss_channel_member_read_all +NEW ir.access: mail.ir_rule_mail_canned_response_admin +NEW ir.access: mail.ir_rule_mail_canned_response_user_read +NEW ir.access: mail.ir_rule_mail_canned_response_user_update +NEW ir.access: mail.ir_rule_mail_notifications_group_portal +NEW ir.access: mail.ir_rule_mail_notifications_group_user +NEW ir.access: mail.ir_rule_mail_scheduled_message +NEW ir.access: mail.ir_rule_mail_scheduled_message_user +NEW ir.access: mail.mail_activity_plan_rule_admin +NEW ir.access: mail.mail_activity_plan_template_rule_admin +NEW ir.access: mail.mail_activity_rule_access_create +NEW ir.access: mail.mail_activity_rule_access_read +NEW ir.access: mail.mail_activity_rule_access_unlink +NEW ir.access: mail.mail_activity_rule_access_write +NEW ir.access: mail.mail_activity_rule_user +NEW ir.access: mail.mail_compose_message_rule +NEW ir.access: mail.mail_message_rule_access_create +NEW ir.access: mail.mail_message_rule_access_create_1 +NEW ir.access: mail.mail_message_rule_access_read +NEW ir.access: mail.mail_message_rule_access_unlink +NEW ir.access: mail.mail_message_rule_access_unlink_1 +NEW ir.access: mail.mail_message_rule_access_write +NEW ir.access: mail.mail_message_rule_access_write_1 +NEW ir.access: mail.mail_message_subtype_rule_public +NEW ir.access: mail.mail_template_editor_rule +NEW ir.access: mail.mail_template_employee_rule +NEW ir.access: mail.res_users_settings_volumes_rule_admin +NEW ir.access: mail.res_users_settings_volumes_rule_user +NEW ir.actions.act_url: mail.action_open_discuss_settings +ir.actions.act_window: base.ir_cron_act (deleted domain) +ir.actions.act_window: mail.act_server_history (deleted domain) +NEW ir.actions.act_window: mail.discuss_category_settings_action +ir.actions.act_window: mail.discuss_channel_action (deleted domain) +NEW ir.actions.act_window: mail.discuss_my_conversations_action +NEW ir.actions.act_window: mail.ir_ui_view_action_usage_mail_post +NEW ir.actions.act_window: mail.mail_activity_action_to_assign +ir.actions.act_window: mail.mail_activity_without_access_action (deleted domain) +DEL ir.actions.act_window: mail.action_view_mail_tracking_value +NEW ir.actions.act_window.view: mail.mail_activity_action_my_view_graph +NEW ir.actions.act_window.view: mail.mail_activity_action_my_view_pivot +NEW ir.actions.act_window.view: mail.mail_activity_action_to_assign_view_list +ir.config_parameter: mail.gc_delete_overdue_activities_year_threshold (noupdate switched) +ir.config_parameter: mail.restrict_template_rendering (noupdate switched) +ir.cron: mail.ir_cron_delete_notification (noupdate switched) +ir.cron: mail.ir_cron_discuss_channel_member_unmute (noupdate switched) +NEW ir.cron: mail.ir_cron_discuss_channel_sync_last_interest_dt +NEW ir.cron: mail.ir_cron_mail_end_polls +ir.cron: mail.ir_cron_mail_gateway_action (noupdate switched) +ir.cron: mail.ir_cron_mail_scheduler_action (noupdate switched) +ir.cron: mail.ir_cron_module_update_notification (noupdate switched) +ir.cron: mail.ir_cron_post_scheduled_message (noupdate switched) +ir.cron: mail.ir_cron_send_scheduled_message (noupdate switched) +ir.cron: mail.ir_cron_web_push_notification (noupdate switched) +DEL ir.model.access: mail.access_discuss_call_history_portal +DEL ir.model.access: mail.access_discuss_call_history_public +DEL ir.model.access: mail.access_discuss_call_history_user +DEL ir.model.access: mail.access_discuss_channel_member_portal +DEL ir.model.access: mail.access_discuss_channel_member_public +DEL ir.model.access: mail.access_discuss_channel_member_user +DEL ir.model.access: mail.access_discuss_channel_portal +DEL ir.model.access: mail.access_discuss_channel_public +DEL ir.model.access: mail.access_discuss_channel_rtc_session_system +DEL ir.model.access: mail.access_discuss_channel_system +DEL ir.model.access: mail.access_discuss_channel_user +DEL ir.model.access: mail.access_discuss_gif_favorite +DEL ir.model.access: mail.access_discuss_voice_metadata_user +DEL ir.model.access: mail.access_fetchmail_server +DEL ir.model.access: mail.access_mail_activity_plan_system +DEL ir.model.access: mail.access_mail_activity_plan_template_system +DEL ir.model.access: mail.access_mail_activity_plan_template_user +DEL ir.model.access: mail.access_mail_activity_plan_user +DEL ir.model.access: mail.access_mail_activity_schedule_line_user +DEL ir.model.access: mail.access_mail_activity_schedule_user +DEL ir.model.access: mail.access_mail_activity_type_system +DEL ir.model.access: mail.access_mail_activity_type_user +DEL ir.model.access: mail.access_mail_activity_user +DEL ir.model.access: mail.access_mail_alias_domain_system +DEL ir.model.access: mail.access_mail_alias_domain_user +DEL ir.model.access: mail.access_mail_alias_system +DEL ir.model.access: mail.access_mail_alias_user +DEL ir.model.access: mail.access_mail_blacklist_remove_system +DEL ir.model.access: mail.access_mail_blacklist_system +DEL ir.model.access: mail.access_mail_canned_reponse +DEL ir.model.access: mail.access_mail_compose_message +DEL ir.model.access: mail.access_mail_followers_edit +DEL ir.model.access: mail.access_mail_followers_system +DEL ir.model.access: mail.access_mail_followers_user +DEL ir.model.access: mail.access_mail_gateway_allowed_system +DEL ir.model.access: mail.access_mail_guest_system +DEL ir.model.access: mail.access_mail_guest_user +DEL ir.model.access: mail.access_mail_ice_server_system +DEL ir.model.access: mail.access_mail_link_preview_admin +DEL ir.model.access: mail.access_mail_mail_system +DEL ir.model.access: mail.access_mail_message_all +DEL ir.model.access: mail.access_mail_message_link_preview_erp_manager +DEL ir.model.access: mail.access_mail_message_portal +DEL ir.model.access: mail.access_mail_message_reaction_system +DEL ir.model.access: mail.access_mail_message_scheduled_system +DEL ir.model.access: mail.access_mail_message_subtype_portal +DEL ir.model.access: mail.access_mail_message_subtype_public +DEL ir.model.access: mail.access_mail_message_subtype_system +DEL ir.model.access: mail.access_mail_message_subtype_user +DEL ir.model.access: mail.access_mail_message_translation_system +DEL ir.model.access: mail.access_mail_message_user +DEL ir.model.access: mail.access_mail_notification_portal +DEL ir.model.access: mail.access_mail_notification_system +DEL ir.model.access: mail.access_mail_notification_user +DEL ir.model.access: mail.access_mail_presence +DEL ir.model.access: mail.access_mail_push_device_system +DEL ir.model.access: mail.access_mail_push_system +DEL ir.model.access: mail.access_mail_scheduled_message +DEL ir.model.access: mail.access_mail_template +DEL ir.model.access: mail.access_mail_template_editor +DEL ir.model.access: mail.access_mail_template_preview +DEL ir.model.access: mail.access_mail_template_reset +DEL ir.model.access: mail.access_mail_template_system +DEL ir.model.access: mail.access_mail_tracking_value_system +DEL ir.model.access: mail.access_publisher_warranty_contract_all +DEL ir.model.access: mail.access_res_role_admin +DEL ir.model.access: mail.access_res_role_user +DEL ir.model.access: mail.access_res_users_settings_volumes_user +DEL ir.model.access: mail.ir_actions_report_access_user +ir.model.constraint: mail.constraint_discuss_call_history_channel_id_end_dt_idx (changed definition: is now 'False' ('INDEX (channel_id, end_dt) WHERE end_dt IS NULL')) +ir.model.constraint: mail.constraint_discuss_call_history_channel_id_not_null_constraint (changed definition: is now 'False' ('CHECK (channel_id IS NOT NULL)')) +ir.model.constraint: mail.constraint_discuss_call_history_message_id_unique_constraint (changed definition: is now 'False' ('UNIQUE (start_call_message_id)')) +ir.model.constraint: mail.constraint_discuss_call_history_start_dt_is_not_null_constraint (changed definition: is now 'False' ('CHECK (start_dt IS NOT NULL)')) +NEW ir.model.constraint: mail.constraint_discuss_category_name_unique +ir.model.constraint: mail.constraint_discuss_channel_from_message_id_unique (changed definition: is now 'False' ('UNIQUE(from_message_id)')) +ir.model.constraint: mail.constraint_discuss_channel_group_public_id_check (changed definition: is now 'False' ('CHECK (channel_type = 'channel' OR group_public_id IS NULL)')) +NEW ir.model.constraint: mail.constraint_discuss_channel_member_channel_id_id_idx +ir.model.constraint: mail.constraint_discuss_channel_member_guest_unique (changed definition: is now 'False' ('UNIQUE INDEX (channel_id, guest_id) WHERE guest_id IS NOT NULL')) +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_channel_check +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_chat_check +NEW ir.model.constraint: mail.constraint_discuss_channel_member_indices_unique +ir.model.constraint: mail.constraint_discuss_channel_member_partner_or_guest_exists (changed definition: is now 'False' ('CHECK((partner_id IS NOT NULL AND guest_id IS NULL) OR (partner_id IS NULL AND guest_id IS NOT NULL))')) +ir.model.constraint: mail.constraint_discuss_channel_member_partner_unique (changed definition: is now 'False' ('UNIQUE INDEX (channel_id, partner_id) WHERE partner_id IS NOT NULL')) +ir.model.constraint: mail.constraint_discuss_channel_member_seen_message_id_idx (changed definition: is now 'False' ('INDEX (channel_id, partner_id, seen_message_id)')) +NEW ir.model.constraint: mail.constraint_discuss_channel_readonly_channel_type_check +ir.model.constraint: mail.constraint_discuss_channel_rtc_session_channel_member_unique (changed definition: is now 'False' ('UNIQUE(channel_member_id)')) +ir.model.constraint: mail.constraint_discuss_channel_uuid_unique (changed definition: is now 'False' ('UNIQUE(uuid)')) +ir.model.constraint: mail.constraint_discuss_gif_favorite_user_gif_favorite (changed definition: is now 'False' ('unique(create_uid,tenor_gif_id)')) +NEW ir.model.constraint: mail.constraint_ir_attachment_mail_call_artifact_uniq +ir.model.constraint: mail.constraint_ir_mail_server_unique_owner_user_id (changed definition: is now 'False' ('UNIQUE(owner_user_id)')) +ir.model.constraint: mail.constraint_mail_activity_check_res_id_is_set_if_model (changed definition: is now 'False' ('CHECK( (COALESCE(res_model, '') <> '' AND (res_id IS NOT NULL AND res_id != 0)) OR (COALESCE(res_model, '') = '' AND (res_id IS NULL OR res_id = 0)) )')) +ir.model.constraint: mail.constraint_mail_activity_check_user_id_is_set_if_model (changed definition: is now 'False' ('CHECK( (COALESCE(res_model, '') <> '' OR user_id IS NOT NULL) )')) +NEW ir.model.constraint: mail.constraint_mail_activity_unassigned_role_idx +ir.model.constraint: mail.constraint_mail_alias_domain_bounce_email_uniques (changed definition: is now 'False' ('UNIQUE(bounce_alias, name)')) +ir.model.constraint: mail.constraint_mail_alias_domain_catchall_email_uniques (changed definition: is now 'False' ('UNIQUE(catchall_alias, name)')) +ir.model.constraint: mail.constraint_mail_alias_name_domain_unique (changed definition: is now 'False' ('UNIQUE INDEX (alias_name, COALESCE(alias_domain_id, 0))')) +ir.model.constraint: mail.constraint_mail_blacklist_unique_email (changed definition: is now 'False' ('unique (email)')) +NEW ir.model.constraint: mail.constraint_mail_call_artifact_artifact_has_possessor +NEW ir.model.constraint: mail.constraint_mail_call_artifact_start_before_end +ir.model.constraint: mail.constraint_mail_followers_mail_followers_res_partner_res_model_id_uniq (changed definition: is now 'False' ('unique(res_model,res_id,partner_id)')) +ir.model.constraint: mail.constraint_mail_link_preview_unique_source_url (changed definition: is now 'False' ('UNIQUE INDEX (source_url)')) +ir.model.constraint: mail.constraint_mail_message_link_preview_unique_message_link_preview (changed definition: is now 'False' ('UNIQUE INDEX (message_id, link_preview_id)')) +ir.model.constraint: mail.constraint_mail_message_model_res_id_id_idx (changed definition: is now 'False' ('INDEX (model, res_id, id)')) +ir.model.constraint: mail.constraint_mail_message_model_res_id_idx (changed definition: is now 'False' ('INDEX (model, res_id)')) +ir.model.constraint: mail.constraint_mail_message_reaction_guest_unique (changed definition: is now 'False' ('UNIQUE INDEX (message_id, content, guest_id) WHERE guest_id IS NOT NULL')) +ir.model.constraint: mail.constraint_mail_message_reaction_partner_or_guest_exists (changed definition: is now 'False' ('CHECK((partner_id IS NOT NULL AND guest_id IS NULL) OR (partner_id IS NULL AND guest_id IS NOT NULL))')) +ir.model.constraint: mail.constraint_mail_message_reaction_partner_unique (changed definition: is now 'False' ('UNIQUE INDEX (message_id, content, partner_id) WHERE partner_id IS NOT NULL')) +ir.model.constraint: mail.constraint_mail_message_translation_unique (changed definition: is now 'False' ('UNIQUE INDEX (message_id, target_lang)')) +ir.model.constraint: mail.constraint_mail_notification_author_id_notification_status_failure (changed definition: is now 'False' ('INDEX (author_id, notification_status) WHERE notification_status IN ('bounce', 'exception')')) +ir.model.constraint: mail.constraint_mail_notification_notification_partner_or_email_required (changed definition: is now 'False' ('CHECK(notification_type != 'email' OR failure_type IS NOT NULL OR res_partner_id IS NOT NULL OR COALESCE(mail_email_address, '') != '')')) +ir.model.constraint: mail.constraint_mail_notification_notification_partner_required (changed definition: is now 'False' ('CHECK(notification_type != 'inbox' OR res_partner_id IS NOT NULL)')) +ir.model.constraint: mail.constraint_mail_notification_res_partner_id_is_read_notification__e5e0b7fb (changed definition: is now 'False' ('INDEX (res_partner_id, is_read, notification_status, mail_message_id)')) +ir.model.constraint: mail.constraint_mail_notification_unique_mail_message_id_res_partner_id_ (changed definition: is now 'False' ('UNIQUE INDEX (mail_message_id, res_partner_id) WHERE res_partner_id IS NOT NULL')) +NEW ir.model.constraint: mail.constraint_mail_poll_option_check_option_label +NEW ir.model.constraint: mail.constraint_mail_poll_unique_end_message_id +NEW ir.model.constraint: mail.constraint_mail_poll_unique_start_message_id +NEW ir.model.constraint: mail.constraint_mail_poll_vote_check_user_or_guest_set +NEW ir.model.constraint: mail.constraint_mail_poll_vote_unique_option_id_guest_id +NEW ir.model.constraint: mail.constraint_mail_poll_vote_unique_option_id_user_id +ir.model.constraint: mail.constraint_mail_presence_guest_unique (changed definition: is now 'False' ('UNIQUE INDEX (guest_id) WHERE guest_id IS NOT NULL')) +ir.model.constraint: mail.constraint_mail_presence_partner_or_guest_exists (changed definition: is now 'False' ('CHECK((user_id IS NOT NULL AND guest_id IS NULL) OR (user_id IS NULL AND guest_id IS NOT NULL))')) +ir.model.constraint: mail.constraint_mail_presence_user_unique (changed definition: is now 'False' ('UNIQUE INDEX (user_id) WHERE user_id IS NOT NULL')) +ir.model.constraint: mail.constraint_mail_push_device_endpoint_unique (changed definition: is now 'False' ('unique(endpoint)')) +ir.model.constraint: mail.constraint_res_role_unique_name (changed definition: is now 'False' ('UNIQUE INDEX (name)')) +ir.model.constraint: mail.constraint_res_users_notification_type (changed definition: is now 'False' ('CHECK (notification_type = 'email' OR NOT share)')) +ir.model.constraint: mail.constraint_res_users_settings_volumes_guest_unique (changed definition: is now 'False' ('UNIQUE INDEX (user_setting_id, guest_id) WHERE guest_id IS NOT NULL')) +ir.model.constraint: mail.constraint_res_users_settings_volumes_partner_or_guest_exists (changed definition: is now 'False' ('CHECK((partner_id IS NOT NULL AND guest_id IS NULL) OR (partner_id IS NULL AND guest_id IS NOT NULL))')) +ir.model.constraint: mail.constraint_res_users_settings_volumes_partner_unique (changed definition: is now 'False' ('UNIQUE INDEX (user_setting_id, partner_id) WHERE partner_id IS NOT NULL')) +DEL ir.rule: mail.discuss_gif_favorite_admin_rule (noupdate) +DEL ir.rule: mail.discuss_gif_favorite_user_rule (noupdate) +DEL ir.rule: mail.ir_rule_discuss_call_history_read_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_group_system (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_group_matching_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_group_matching_group_user (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_create_is_member_group_user (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_group_system (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_is_self_all (noupdate) +DEL ir.rule: mail.ir_rule_discuss_channel_member_read_all (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_admin (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_user_read (noupdate) +DEL ir.rule: mail.ir_rule_mail_canned_response_user_update (noupdate) +DEL ir.rule: mail.ir_rule_mail_notifications_group_portal (noupdate) +DEL ir.rule: mail.ir_rule_mail_notifications_group_user (noupdate) +DEL ir.rule: mail.ir_rule_mail_scheduled_message_user (noupdate) +DEL ir.rule: mail.mail_activity_plan_rule_admin (noupdate) +DEL ir.rule: mail.mail_activity_plan_template_rule_admin (noupdate) +DEL ir.rule: mail.mail_activity_rule_user (noupdate) +DEL ir.rule: mail.mail_compose_message_rule (noupdate) +DEL ir.rule: mail.mail_message_subtype_rule_public (noupdate) +DEL ir.rule: mail.mail_template_editor_rule (noupdate) +DEL ir.rule: mail.mail_template_employee_rule (noupdate) +DEL ir.rule: mail.res_users_settings_volumes_rule_admin (noupdate) +DEL ir.rule: mail.res_users_settings_volumes_rule_user (noupdate) +NEW ir.ui.menu: mail.ir_ui_view_menu_usage_mail_post +NEW ir.ui.menu: mail.menu_discuss_category +NEW ir.ui.menu: mail.menu_discuss_user_settings +NEW ir.ui.menu: mail.menu_settings +DEL ir.ui.menu: mail.discuss_technical +DEL ir.ui.menu: mail.menu_mail_tracking_value +NEW ir.ui.view: mail.content_markdown +NEW ir.ui.view: mail.content_text +NEW ir.ui.view: mail.discuss_call_history_view_search +NEW ir.ui.view: mail.discuss_category_view_form +NEW ir.ui.view: mail.discuss_category_view_kanban +NEW ir.ui.view: mail.discuss_category_view_search +NEW ir.ui.view: mail.discuss_category_view_tree +NEW ir.ui.view: mail.discuss_my_conversations_view_search +NEW ir.ui.view: mail.group_change_template +NEW ir.ui.view: mail.ir_access_form_view_inherit_mail +NEW ir.ui.view: mail.ir_attachment_view_list +NEW ir.ui.view: mail.ir_ui_view_view_search_mail +NEW ir.ui.view: mail.mail_activity_view_graph +NEW ir.ui.view: mail.mail_activity_view_pivot +NEW ir.ui.view: mail.mail_tracking_template +NEW ir.ui.view: mail.res_config_settings_view_form_sfu_client_source +DEL ir.ui.view: mail.view_mail_tracking_value_form +DEL ir.ui.view: mail.view_mail_tracking_value_tree +mail.activity.type: mail.mail_activity_data_call (noupdate switched) +mail.activity.type: mail.mail_activity_data_email (noupdate switched) +mail.activity.type: mail.mail_activity_data_meeting (noupdate switched) +mail.activity.type: mail.mail_activity_data_todo (noupdate switched) +mail.activity.type: mail.mail_activity_data_upload_document (noupdate switched) +mail.activity.type: mail.mail_activity_data_warning (noupdate switched) +mail.canned.response: mail.mail_canned_response_data_hello (noupdate switched) +mail.message: mail.module_install_notification (noupdate switched) +mail.message.subtype: mail.mt_activities (noupdate switched) +mail.message.subtype: mail.mt_comment (noupdate switched) +NEW mail.message.subtype: mail.mt_important_notification +mail.message.subtype: mail.mt_note (noupdate switched) +res.groups: mail.group_mail_canned_response_admin (noupdate switched) +res.groups: mail.group_mail_notification_type_inbox (noupdate switched) +res.groups: mail.group_mail_template_editor (noupdate switched) +res.groups.privilege: mail.res_groups_privilege_canned_response (noupdate switched) +res.partner: base.partner_root (noupdate switched) +res.users: base.user_root (noupdate switched) diff --git a/openupgrade_scripts/scripts/mail_group/20.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/mail_group/20.0.1.1/noupdate_changes.xml new file mode 100644 index 00000000000..85339a541c6 --- /dev/null +++ b/openupgrade_scripts/scripts/mail_group/20.0.1.1/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/openupgrade_scripts/scripts/mail_group/20.0.1.1/post-migration.py b/openupgrade_scripts/scripts/mail_group/20.0.1.1/post-migration.py new file mode 100644 index 00000000000..0a474d11d6d --- /dev/null +++ b/openupgrade_scripts/scripts/mail_group/20.0.1.1/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "mail_group", "20.0.1.1/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/mail_group/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/mail_group/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..1fbefb37137 --- /dev/null +++ b/openupgrade_scripts/scripts/mail_group/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,38 @@ +---Models in module 'mail_group'--- +---Fields in module 'mail_group'--- +---XML records in module 'mail_group'--- +NEW ir.access: mail_group.access_mail_group_message_reject +NEW ir.access: mail_group.access_mail_group_user +NEW ir.access: mail_group.mail_group_member_rule_administrator +NEW ir.access: mail_group.mail_group_member_rule_user +NEW ir.access: mail_group.mail_group_message_rule_administrator +NEW ir.access: mail_group.mail_group_message_rule_public +NEW ir.access: mail_group.mail_group_message_rule_user +NEW ir.access: mail_group.mail_group_message_rule_user_write +NEW ir.access: mail_group.mail_group_moderation_rule_administrator +NEW ir.access: mail_group.mail_group_moderation_rule_user +NEW ir.access: mail_group.mail_group_rule_administrator +NEW ir.access: mail_group.mail_group_rule_read_all +NEW ir.access: mail_group.mail_group_rule_write_all +DEL ir.model.access: mail_group.access_mail_group_all_portal +DEL ir.model.access: mail_group.access_mail_group_all_public +DEL ir.model.access: mail_group.access_mail_group_member +DEL ir.model.access: mail_group.access_mail_group_message_all_portal +DEL ir.model.access: mail_group.access_mail_group_message_all_public +DEL ir.model.access: mail_group.access_mail_group_message_reject +DEL ir.model.access: mail_group.access_mail_group_message_user +DEL ir.model.access: mail_group.access_mail_group_moderation +DEL ir.model.access: mail_group.access_mail_group_user +ir.model.constraint: mail_group.constraint_mail_group_member_unique_partner (changed definition: is now 'False' ('UNIQUE(partner_id, mail_group_id)')) +ir.model.constraint: mail_group.constraint_mail_group_moderation_mail_group_email_uniq (changed definition: is now 'False' ('UNIQUE(mail_group_id, email)')) +DEL ir.rule: mail_group.mail_group_member_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_member_rule_user (noupdate) +DEL ir.rule: mail_group.mail_group_message_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_message_rule_public (noupdate) +DEL ir.rule: mail_group.mail_group_message_rule_user (noupdate) +DEL ir.rule: mail_group.mail_group_moderation_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_moderation_rule_user (noupdate) +DEL ir.rule: mail_group.mail_group_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_rule_read_all (noupdate) +DEL ir.rule: mail_group.mail_group_rule_write_all (noupdate) +res.groups: mail_group.group_mail_group_manager (noupdate switched) diff --git a/openupgrade_scripts/scripts/mail_group/20.0.1.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/mail_group/20.0.1.1/upgrade_analysis_work.txt new file mode 100644 index 00000000000..689911f5b83 --- /dev/null +++ b/openupgrade_scripts/scripts/mail_group/20.0.1.1/upgrade_analysis_work.txt @@ -0,0 +1,42 @@ +---Models in module 'mail_group'--- +---Fields in module 'mail_group'--- +---XML records in module 'mail_group'--- +NEW ir.access: mail_group.access_mail_group_message_reject +NEW ir.access: mail_group.access_mail_group_user +NEW ir.access: mail_group.mail_group_member_rule_administrator +NEW ir.access: mail_group.mail_group_member_rule_user +NEW ir.access: mail_group.mail_group_message_rule_administrator +NEW ir.access: mail_group.mail_group_message_rule_public +NEW ir.access: mail_group.mail_group_message_rule_user +NEW ir.access: mail_group.mail_group_message_rule_user_write +NEW ir.access: mail_group.mail_group_moderation_rule_administrator +NEW ir.access: mail_group.mail_group_moderation_rule_user +NEW ir.access: mail_group.mail_group_rule_administrator +NEW ir.access: mail_group.mail_group_rule_read_all +NEW ir.access: mail_group.mail_group_rule_write_all +DEL ir.model.access: mail_group.access_mail_group_all_portal +DEL ir.model.access: mail_group.access_mail_group_all_public +DEL ir.model.access: mail_group.access_mail_group_member +DEL ir.model.access: mail_group.access_mail_group_message_all_portal +DEL ir.model.access: mail_group.access_mail_group_message_all_public +DEL ir.model.access: mail_group.access_mail_group_message_reject +DEL ir.model.access: mail_group.access_mail_group_message_user +DEL ir.model.access: mail_group.access_mail_group_moderation +DEL ir.model.access: mail_group.access_mail_group_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.model.constraint: mail_group.constraint_mail_group_member_unique_partner (changed definition: is now 'False' ('UNIQUE(partner_id, mail_group_id)')) +ir.model.constraint: mail_group.constraint_mail_group_moderation_mail_group_email_uniq (changed definition: is now 'False' ('UNIQUE(mail_group_id, email)')) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites it +DEL ir.rule: mail_group.mail_group_member_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_member_rule_user (noupdate) +DEL ir.rule: mail_group.mail_group_message_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_message_rule_public (noupdate) +DEL ir.rule: mail_group.mail_group_message_rule_user (noupdate) +DEL ir.rule: mail_group.mail_group_moderation_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_moderation_rule_user (noupdate) +DEL ir.rule: mail_group.mail_group_rule_administrator (noupdate) +DEL ir.rule: mail_group.mail_group_rule_read_all (noupdate) +DEL ir.rule: mail_group.mail_group_rule_write_all (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +res.groups: mail_group.group_mail_group_manager (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/noupdate_changes.xml new file mode 100644 index 00000000000..56061dce5c5 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/noupdate_changes.xml @@ -0,0 +1,367 @@ + + + + True + + + + + + partial + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + full_only + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + + + + True + + + + + + + + + + + + + + + + + + + + + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + 50 + + + + + + + + + + + + + + True + + + + + + partial + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + + + + none + + + + + + + + + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + partial + True + + + + + + + + + + + + + + + + + + + + + 50 + + + + partial + + + + + + partial + + + + + + + + + + + partial + True + + + + + diff --git a/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/post-migration.py b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/post-migration.py new file mode 100644 index 00000000000..e219a1167ff --- /dev/null +++ b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_adyen", "20.0.2.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..60a635f3fbc --- /dev/null +++ b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,77 @@ +---Models in module 'payment_adyen'--- +---Fields in module 'payment_adyen'--- +---XML records in module 'payment_adyen'--- +NEW payment.method: payment_adyen.payment_method_ach_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_affirm [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_afterpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_alipay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_alipay_hk [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_alma [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_amex [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_bacs_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_bancontact [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_benefit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_bizum [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_blik [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_card [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_carnet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_cartes_bancaires [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_cash_app_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_clearpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_dana [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_dankort [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_diners [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_discover [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_duitnow [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_elo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_eps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_fpx [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_gcash [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_gopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_hipercard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_ideal [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_ideal_brand [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_jcb [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_kakaopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_klarna [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_klarna_pay_over_time [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_klarna_paynow [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_maestro [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_mastercard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_mbway [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_mobile_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_momo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_multibanco [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_napas_card [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_czech_republic [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_india [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_slovakia [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_thailand [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_open_banking [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_p24 [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paybright [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paynow [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paypal [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paysafecard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paytm [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paytrail [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_pix [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_promptpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_ratepay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_samsung_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_sepa_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_swish [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_touch_n_go [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_troy [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_trustly [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_twint [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_unionpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_upi [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_vipps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_visa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_wallets_india [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_walley [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_wechat_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_wero_brand +NEW payment.method: payment_adyen.payment_method_zip [renamed from payment module] (noupdate switched) +payment.provider: payment.payment_provider_adyen (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..d11d9cdbe54 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_adyen/20.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,80 @@ +---Models in module 'payment_adyen'--- +---Fields in module 'payment_adyen'--- +---XML records in module 'payment_adyen'--- +NEW payment.method: payment_adyen.payment_method_ach_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_affirm [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_afterpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_alipay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_alipay_hk [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_alma [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_amex [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_bacs_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_bancontact [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_benefit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_bizum [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_blik [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_card [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_carnet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_cartes_bancaires [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_cash_app_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_clearpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_dana [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_dankort [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_diners [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_discover [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_duitnow [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_elo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_eps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_fpx [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_gcash [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_gopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_hipercard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_ideal [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_ideal_brand [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_jcb [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_kakaopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_klarna [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_klarna_pay_over_time [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_klarna_paynow [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_maestro [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_mastercard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_mbway [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_mobile_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_momo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_multibanco [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_napas_card [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_czech_republic [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_india [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_slovakia [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_online_banking_thailand [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_open_banking [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_p24 [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paybright [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paynow [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paypal [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paysafecard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paytm [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_paytrail [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_pix [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_promptpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_ratepay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_samsung_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_sepa_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_swish [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_touch_n_go [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_troy [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_trustly [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_twint [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_unionpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_upi [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_vipps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_visa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_wallets_india [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_walley [renamed from payment module] (noupdate switched) +NEW payment.method: payment_adyen.payment_method_wechat_pay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_adyen.payment_method_wero_brand +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_adyen.payment_method_zip [renamed from payment module] (noupdate switched) +payment.provider: payment.payment_provider_adyen (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/payment_aps/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..bf4f283febd --- /dev/null +++ b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_aps/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..49ede61afe2 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_aps", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_aps/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..a16f8116b69 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,14 @@ +---Models in module 'payment_aps'--- +---Fields in module 'payment_aps'--- +---XML records in module 'payment_aps'--- +DEL ir.ui.view: payment_aps.redirect_form +NEW payment.method: payment_aps.payment_method_amex +NEW payment.method: payment_aps.payment_method_benefit +NEW payment.method: payment_aps.payment_method_knet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_mada [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_mastercard +NEW payment.method: payment_aps.payment_method_meeza [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_naps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_omannet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_visa +payment.provider: payment.payment_provider_aps (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_aps/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..8be7bdd7ea3 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_aps/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,21 @@ +---Models in module 'payment_aps'--- +---Fields in module 'payment_aps'--- +---XML records in module 'payment_aps'--- +DEL ir.ui.view: payment_aps.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_aps.payment_method_amex +NEW payment.method: payment_aps.payment_method_benefit +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_aps.payment_method_knet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_mada [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_aps.payment_method_mastercard +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_aps.payment_method_meeza [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_naps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_aps.payment_method_omannet [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_aps.payment_method_visa +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_aps (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..e86d3d02d59 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + Bangkok Bank CWF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JKO Pay + + + + + + + + Krung Thai Bank CWF + + + + + + + + + + + + + + + + + + + + + + Maybank2u + + + + + + + + + + + + + + + Pace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SCB Easy + + + + + + + + + + + + + + + Tenpay + + + + + + + + TMB Bank + + + + + + + + + + + + + + + TTB - TMBThanachart Bank + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..7129439a53e --- /dev/null +++ b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/post-migration.py @@ -0,0 +1,25 @@ +# Copyright 2026 Don Kendall +# 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, "payment_asiapay", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "payment_asiapay", + [ + "payment_method_bangkok_bank", + "payment_method_jkopay", + "payment_method_krungthai_bank", + "payment_method_maybank", + "payment_method_pace", + "payment_method_scb", + "payment_method_tenpay", + "payment_method_tmb", + "payment_method_ttb", + ], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..3bb3f3a9508 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,46 @@ +---Models in module 'payment_asiapay'--- +---Fields in module 'payment_asiapay'--- +---XML records in module 'payment_asiapay'--- +DEL ir.ui.view: payment_asiapay.redirect_form +NEW payment.method: payment_asiapay.payment_method_alipay +NEW payment.method: payment_asiapay.payment_method_alipay_hk +NEW payment.method: payment_asiapay.payment_method_amex +NEW payment.method: payment_asiapay.payment_method_atome [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_bangkok_bank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_bank_of_ayudhya [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_card +NEW payment.method: payment_asiapay.payment_method_diners +NEW payment.method: payment_asiapay.payment_method_duitnow +NEW payment.method: payment_asiapay.payment_method_enets [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_fps [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_gcash +NEW payment.method: payment_asiapay.payment_method_hoolah [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_humm [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_jcb +NEW payment.method: payment_asiapay.payment_method_jkopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_krungthai_bank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_linepay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_mastercard +NEW payment.method: payment_asiapay.payment_method_maya [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_maybank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_momo +NEW payment.method: payment_asiapay.payment_method_octopus [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_pace [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_pay_id [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_payme [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_paypal +NEW payment.method: payment_asiapay.payment_method_poli [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_samsung_pay +NEW payment.method: payment_asiapay.payment_method_scb [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_tendopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_tenpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_tmb [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_touch_n_go +NEW payment.method: payment_asiapay.payment_method_truemoney [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_ttb [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_unionpay +NEW payment.method: payment_asiapay.payment_method_uob [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_visa +NEW payment.method: payment_asiapay.payment_method_wechat_pay +NEW payment.method: payment_asiapay.payment_method_zip +payment.provider: payment.payment_provider_asiapay (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..613a439a1fa --- /dev/null +++ b/openupgrade_scripts/scripts/payment_asiapay/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,69 @@ +---Models in module 'payment_asiapay'--- +---Fields in module 'payment_asiapay'--- +---XML records in module 'payment_asiapay'--- +DEL ir.ui.view: payment_asiapay.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_asiapay.payment_method_alipay +NEW payment.method: payment_asiapay.payment_method_alipay_hk +NEW payment.method: payment_asiapay.payment_method_amex +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_atome [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_bangkok_bank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_bank_of_ayudhya [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_card +NEW payment.method: payment_asiapay.payment_method_diners +NEW payment.method: payment_asiapay.payment_method_duitnow +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_enets [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_fps [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_gcash +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_hoolah [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_humm [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_jcb +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_jkopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_krungthai_bank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_linepay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_mastercard +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_maya [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_maybank [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_momo +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_octopus [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_pace [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_pay_id [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_payme [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_paypal +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_poli [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_samsung_pay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_scb [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_tendopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_tenpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_tmb [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_touch_n_go +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_truemoney [renamed from payment module] (noupdate switched) +NEW payment.method: payment_asiapay.payment_method_ttb [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_unionpay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_asiapay.payment_method_uob [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_asiapay.payment_method_visa +NEW payment.method: payment_asiapay.payment_method_wechat_pay +NEW payment.method: payment_asiapay.payment_method_zip +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_asiapay (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/noupdate_changes.xml new file mode 100644 index 00000000000..e3c2076d088 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/noupdate_changes.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wero + + + + + + diff --git a/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/post-migration.py b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/post-migration.py new file mode 100644 index 00000000000..1bc435ae5ed --- /dev/null +++ b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "payment_buckaroo", "20.0.2.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "payment_buckaroo", + ["payment_method_wero"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..ac6107057da --- /dev/null +++ b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,36 @@ +---Models in module 'payment_buckaroo'--- +---Fields in module 'payment_buckaroo'--- +---XML records in module 'payment_buckaroo'--- +DEL ir.ui.view: payment_buckaroo.redirect_form +NEW payment.method: payment_buckaroo.payment_method_afterpay_riverty [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_alipay +NEW payment.method: payment_buckaroo.payment_method_amex +NEW payment.method: payment_buckaroo.payment_method_banco_de_bogota [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_bancolombia [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_bancontact +NEW payment.method: payment_buckaroo.payment_method_bank_reference [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_belfius [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_billink [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_card +NEW payment.method: payment_buckaroo.payment_method_cartes_bancaires +NEW payment.method: payment_buckaroo.payment_method_dankort +NEW payment.method: payment_buckaroo.payment_method_davivienda [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_eps +NEW payment.method: payment_buckaroo.payment_method_ideal +NEW payment.method: payment_buckaroo.payment_method_ideal_brand +NEW payment.method: payment_buckaroo.payment_method_in3 [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_kbc_cbc [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_klarna +NEW payment.method: payment_buckaroo.payment_method_maestro +NEW payment.method: payment_buckaroo.payment_method_mastercard +NEW payment.method: payment_buckaroo.payment_method_p24 +NEW payment.method: payment_buckaroo.payment_method_paypal +NEW payment.method: payment_buckaroo.payment_method_poste_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_sepa_direct_debit +NEW payment.method: payment_buckaroo.payment_method_tinka [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_trustly +NEW payment.method: payment_buckaroo.payment_method_visa +NEW payment.method: payment_buckaroo.payment_method_wechat_pay +NEW payment.method: payment_buckaroo.payment_method_wero [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_wero_brand +payment.provider: payment.payment_provider_buckaroo (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..9156076e2f6 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_buckaroo/20.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,54 @@ +---Models in module 'payment_buckaroo'--- +---Fields in module 'payment_buckaroo'--- +---XML records in module 'payment_buckaroo'--- +DEL ir.ui.view: payment_buckaroo.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_buckaroo.payment_method_afterpay_riverty [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_alipay +NEW payment.method: payment_buckaroo.payment_method_amex +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_banco_de_bogota [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_bancolombia [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_bancontact +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_bank_reference [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_belfius [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_billink [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_card +NEW payment.method: payment_buckaroo.payment_method_cartes_bancaires +NEW payment.method: payment_buckaroo.payment_method_dankort +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_davivienda [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_eps +NEW payment.method: payment_buckaroo.payment_method_ideal +NEW payment.method: payment_buckaroo.payment_method_ideal_brand +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_in3 [renamed from payment module] (noupdate switched) +NEW payment.method: payment_buckaroo.payment_method_kbc_cbc [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_klarna +NEW payment.method: payment_buckaroo.payment_method_maestro +NEW payment.method: payment_buckaroo.payment_method_mastercard +NEW payment.method: payment_buckaroo.payment_method_p24 +NEW payment.method: payment_buckaroo.payment_method_paypal +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_poste_pay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_sepa_direct_debit +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_tinka [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_trustly +NEW payment.method: payment_buckaroo.payment_method_visa +NEW payment.method: payment_buckaroo.payment_method_wechat_pay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_buckaroo.payment_method_wero [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_buckaroo.payment_method_wero_brand +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_buckaroo (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_custom/20.0.2.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_custom/20.0.2.0/noupdate_changes.xml new file mode 100644 index 00000000000..91a90ca1c8c --- /dev/null +++ b/openupgrade_scripts/scripts/payment_custom/20.0.2.0/noupdate_changes.xml @@ -0,0 +1,24 @@ + + + + custom + pay_on_invoice + +

Your order is confirmed, you will receive your invoice shortly.

+
+ True + + 50 +
+ + + +

Please find the payment details below.

+
+ + True +
+ + + +
diff --git a/openupgrade_scripts/scripts/payment_custom/20.0.2.0/post-migration.py b/openupgrade_scripts/scripts/payment_custom/20.0.2.0/post-migration.py new file mode 100644 index 00000000000..6e77ed7cc25 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_custom/20.0.2.0/post-migration.py @@ -0,0 +1,21 @@ +# Copyright 2026 Don Kendall +# 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, "payment_custom", "20.0.2.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "payment_custom", + ["payment.payment_provider_pay_on_invoice"], + ["done_msg"], + ) + openupgrade.delete_record_translations( + env.cr, + "payment_custom", + ["payment.payment_provider_transfer"], + ["pending_msg"], + ) diff --git a/openupgrade_scripts/scripts/payment_custom/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_custom/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..9f76d19a07e --- /dev/null +++ b/openupgrade_scripts/scripts/payment_custom/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,12 @@ +---Models in module 'payment_custom'--- +---Fields in module 'payment_custom'--- +payment_custom / payment.provider / custom_mode (selection) : selection_keys added: [pay_on_invoice] (most likely nothing to do) +payment_custom / payment.provider / partner_bank_id (many2one) : NEW relation: res.partner.bank, hasdefault: compute +---XML records in module 'payment_custom'--- +ir.model.constraint: payment_custom.constraint_payment_provider_custom_providers_setup (changed definition: is now 'False' ('CHECK(custom_mode IS NULL OR (code = 'custom' AND custom_mode IS NOT NULL))')) +NEW ir.ui.view: payment_custom.custom_payment_transfer_details +NEW ir.ui.view: payment_custom.payment_provider_kanban +DEL ir.ui.view: payment_custom.redirect_form +NEW payment.method: payment_custom.payment_method_pay_on_invoice +payment.method: payment_custom.payment_method_wire_transfer (noupdate switched) +payment.provider: payment.payment_provider_transfer (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_demo/20.0.2.0/noupdate_changes-transformation.xml b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/noupdate_changes-transformation.xml new file mode 100644 index 00000000000..3a457ddb372 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/noupdate_changes-transformation.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/openupgrade_scripts/scripts/payment_demo/20.0.2.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/noupdate_changes.xml new file mode 100644 index 00000000000..f74383096f3 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/noupdate_changes.xml @@ -0,0 +1,14 @@ + + + + + + + True + + + + Express Checkout + + + diff --git a/openupgrade_scripts/scripts/payment_demo/20.0.2.0/post-migration.py b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/post-migration.py new file mode 100644 index 00000000000..a7ca69099a7 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/post-migration.py @@ -0,0 +1,20 @@ +# Copyright 2026 Don Kendall +# 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, + "payment_demo", + "20.0.2.0/noupdate_changes.xml", + xml_transformation_filename="20.0.2.0/noupdate_changes-transformation.xml", + ) + openupgrade.delete_record_translations( + env.cr, + "payment_demo", + ["payment_method_unknown"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/payment_demo/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..b3fa450ed13 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,7 @@ +---Models in module 'payment_demo'--- +---Fields in module 'payment_demo'--- +payment_demo / payment.transaction / capture_manually (boolean) : module is now 'payment' ('payment_demo') +---XML records in module 'payment_demo'--- +payment.method: payment_demo.payment_method_demo (noupdate switched) +NEW payment.method: payment_demo.payment_method_unknown [renamed from payment module] (noupdate switched) +payment.provider: payment.payment_provider_demo (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_demo/20.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..bf8641cbc2a --- /dev/null +++ b/openupgrade_scripts/scripts/payment_demo/20.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,11 @@ +---Models in module 'payment_demo'--- +---Fields in module 'payment_demo'--- +payment_demo / payment.transaction / capture_manually (boolean) : module is now 'payment' ('payment_demo') +# NOTHING TO DO: the field only changed owning module, the column is the same +---XML records in module 'payment_demo'--- +payment.method: payment_demo.payment_method_demo (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml +NEW payment.method: payment_demo.payment_method_unknown [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +payment.provider: payment.payment_provider_demo (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..d5fb3fde6c8 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..4ceae6e26eb --- /dev/null +++ b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_flutterwave", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..e6c33bf4d98 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,17 @@ +---Models in module 'payment_flutterwave'--- +---Fields in module 'payment_flutterwave'--- +---XML records in module 'payment_flutterwave'--- +DEL ir.ui.view: payment_flutterwave.redirect_form +NEW payment.method: payment_flutterwave.payment_method_amex +NEW payment.method: payment_flutterwave.payment_method_bank_account [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_bank_transfer [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_card +NEW payment.method: payment_flutterwave.payment_method_credit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_discover +NEW payment.method: payment_flutterwave.payment_method_mastercard +NEW payment.method: payment_flutterwave.payment_method_mobile_money [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_mpesa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_paypal +NEW payment.method: payment_flutterwave.payment_method_ussd [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_visa +payment.provider: payment.payment_provider_flutterwave (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..806b7f55629 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_flutterwave/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,28 @@ +---Models in module 'payment_flutterwave'--- +---Fields in module 'payment_flutterwave'--- +---XML records in module 'payment_flutterwave'--- +DEL ir.ui.view: payment_flutterwave.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_flutterwave.payment_method_amex +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_flutterwave.payment_method_bank_account [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_bank_transfer [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_flutterwave.payment_method_card +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_flutterwave.payment_method_credit [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_flutterwave.payment_method_discover +NEW payment.method: payment_flutterwave.payment_method_mastercard +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_flutterwave.payment_method_mobile_money [renamed from payment module] (noupdate switched) +NEW payment.method: payment_flutterwave.payment_method_mpesa [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_flutterwave.payment_method_paypal +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_flutterwave.payment_method_ussd [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_flutterwave.payment_method_visa +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_flutterwave (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..6c6ef9308de --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OCA + + + + + + + + + Shopping + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..e9cf6ee036a --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "payment_mercado_pago", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "payment_mercado_pago", + ["payment_method_oca", "payment_method_shopping"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..79b019e1c89 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,29 @@ +---Models in module 'payment_mercado_pago'--- +---Fields in module 'payment_mercado_pago'--- +---XML records in module 'payment_mercado_pago'--- +DEL ir.ui.view: payment_mercado_pago.redirect_form +NEW payment.method: payment_mercado_pago.payment_method_amex +NEW payment.method: payment_mercado_pago.payment_method_argencard [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_bank_transfer +NEW payment.method: payment_mercado_pago.payment_method_cabal [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_caixa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_card +NEW payment.method: payment_mercado_pago.payment_method_cencosud [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_codensa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_cordial [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_cordobesa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_elo +NEW payment.method: payment_mercado_pago.payment_method_hipercard +NEW payment.method: payment_mercado_pago.payment_method_lider [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_magna [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_mastercard +NEW payment.method: payment_mercado_pago.payment_method_mercado_livre [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_mercado_pago_wallet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_naranja [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_nativa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_oca [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_presto [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_shopping [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_tarjeta_mercadopago [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_visa +payment.provider: payment.payment_provider_mercado_pago (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..8860041c0ff --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mercado_pago/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,42 @@ +---Models in module 'payment_mercado_pago'--- +---Fields in module 'payment_mercado_pago'--- +---XML records in module 'payment_mercado_pago'--- +DEL ir.ui.view: payment_mercado_pago.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_mercado_pago.payment_method_amex +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_mercado_pago.payment_method_argencard [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_mercado_pago.payment_method_bank_transfer +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_mercado_pago.payment_method_cabal [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_caixa [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_mercado_pago.payment_method_card +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_mercado_pago.payment_method_cencosud [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_codensa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_cordial [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_cordobesa [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_mercado_pago.payment_method_elo +NEW payment.method: payment_mercado_pago.payment_method_hipercard +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_mercado_pago.payment_method_lider [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_magna [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_mercado_pago.payment_method_mastercard +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_mercado_pago.payment_method_mercado_livre [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_mercado_pago_wallet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_naranja [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_nativa [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_oca [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_presto [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_shopping [renamed from payment module] (noupdate switched) +NEW payment.method: payment_mercado_pago.payment_method_tarjeta_mercadopago [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_mercado_pago.payment_method_visa +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_mercado_pago (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..14a87700664 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,7 @@ + + + + + True + + diff --git a/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..188bbca8a0b --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_mollie", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..1c80ae92516 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,33 @@ +---Models in module 'payment_mollie'--- +---Fields in module 'payment_mollie'--- +payment_mollie / payment.token / mollie_customer_id (char) : NEW +---XML records in module 'payment_mollie'--- +DEL ir.ui.view: payment_mollie.redirect_form +NEW payment.method: payment_mollie.payment_method_amex +NEW payment.method: payment_mollie.payment_method_apple_pay +NEW payment.method: payment_mollie.payment_method_bancontact +NEW payment.method: payment_mollie.payment_method_bank_transfer +NEW payment.method: payment_mollie.payment_method_belfius +NEW payment.method: payment_mollie.payment_method_blik +NEW payment.method: payment_mollie.payment_method_card +NEW payment.method: payment_mollie.payment_method_cartes_bancaires +NEW payment.method: payment_mollie.payment_method_discover +NEW payment.method: payment_mollie.payment_method_eps +NEW payment.method: payment_mollie.payment_method_google_pay +NEW payment.method: payment_mollie.payment_method_ideal +NEW payment.method: payment_mollie.payment_method_ideal_brand +NEW payment.method: payment_mollie.payment_method_in3 +NEW payment.method: payment_mollie.payment_method_kbc_cbc +NEW payment.method: payment_mollie.payment_method_klarna +NEW payment.method: payment_mollie.payment_method_maestro +NEW payment.method: payment_mollie.payment_method_mastercard +NEW payment.method: payment_mollie.payment_method_mbway +NEW payment.method: payment_mollie.payment_method_multibanco +NEW payment.method: payment_mollie.payment_method_p24 +NEW payment.method: payment_mollie.payment_method_paypal +NEW payment.method: payment_mollie.payment_method_paysafecard +NEW payment.method: payment_mollie.payment_method_swish +NEW payment.method: payment_mollie.payment_method_twint +NEW payment.method: payment_mollie.payment_method_visa +NEW payment.method: payment_mollie.payment_method_wero_brand +payment.provider: payment.payment_provider_mollie (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..8f7be216539 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_mollie/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,37 @@ +---Models in module 'payment_mollie'--- +---Fields in module 'payment_mollie'--- +payment_mollie / payment.token / mollie_customer_id (char) : NEW +# NOTHING TO DO: empty is the right value for existing records +---XML records in module 'payment_mollie'--- +DEL ir.ui.view: payment_mollie.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_mollie.payment_method_amex +NEW payment.method: payment_mollie.payment_method_apple_pay +NEW payment.method: payment_mollie.payment_method_bancontact +NEW payment.method: payment_mollie.payment_method_bank_transfer +NEW payment.method: payment_mollie.payment_method_belfius +NEW payment.method: payment_mollie.payment_method_blik +NEW payment.method: payment_mollie.payment_method_card +NEW payment.method: payment_mollie.payment_method_cartes_bancaires +NEW payment.method: payment_mollie.payment_method_discover +NEW payment.method: payment_mollie.payment_method_eps +NEW payment.method: payment_mollie.payment_method_google_pay +NEW payment.method: payment_mollie.payment_method_ideal +NEW payment.method: payment_mollie.payment_method_ideal_brand +NEW payment.method: payment_mollie.payment_method_in3 +NEW payment.method: payment_mollie.payment_method_kbc_cbc +NEW payment.method: payment_mollie.payment_method_klarna +NEW payment.method: payment_mollie.payment_method_maestro +NEW payment.method: payment_mollie.payment_method_mastercard +NEW payment.method: payment_mollie.payment_method_mbway +NEW payment.method: payment_mollie.payment_method_multibanco +NEW payment.method: payment_mollie.payment_method_p24 +NEW payment.method: payment_mollie.payment_method_paypal +NEW payment.method: payment_mollie.payment_method_paysafecard +NEW payment.method: payment_mollie.payment_method_swish +NEW payment.method: payment_mollie.payment_method_twint +NEW payment.method: payment_mollie.payment_method_visa +NEW payment.method: payment_mollie.payment_method_wero_brand +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_mollie (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..387e4c54a73 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + partial + + + + + diff --git a/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..8946d851ca4 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_nuvei", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..2dcbcf4ede6 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,27 @@ +---Models in module 'payment_nuvei'--- +---Fields in module 'payment_nuvei'--- +---XML records in module 'payment_nuvei'--- +DEL ir.ui.view: payment_nuvei.redirect_form +NEW payment.method: payment_nuvei.payment_method_abitab [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_amex +NEW payment.method: payment_nuvei.payment_method_astropay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_banco_guayaquil [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_banco_pichincha [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_boleto [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_card +NEW payment.method: payment_nuvei.payment_method_diners +NEW payment.method: payment_nuvei.payment_method_discover +NEW payment.method: payment_nuvei.payment_method_facilito [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_mastercard +NEW payment.method: payment_nuvei.payment_method_naranja +NEW payment.method: payment_nuvei.payment_method_nuvei_local [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_oxxopay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_pix +NEW payment.method: payment_nuvei.payment_method_pse [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_redpagos [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_spei [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_tarjeta_mercadopago +NEW payment.method: payment_nuvei.payment_method_unionpay +NEW payment.method: payment_nuvei.payment_method_visa +NEW payment.method: payment_nuvei.payment_method_webpay [renamed from payment module] (noupdate switched) +payment.provider: payment.payment_provider_nuvei (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..cf2aa89ecf9 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_nuvei/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,40 @@ +---Models in module 'payment_nuvei'--- +---Fields in module 'payment_nuvei'--- +---XML records in module 'payment_nuvei'--- +DEL ir.ui.view: payment_nuvei.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_nuvei.payment_method_abitab [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_nuvei.payment_method_amex +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_nuvei.payment_method_astropay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_banco_guayaquil [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_banco_pichincha [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_boleto [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_nuvei.payment_method_card +NEW payment.method: payment_nuvei.payment_method_diners +NEW payment.method: payment_nuvei.payment_method_discover +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_nuvei.payment_method_facilito [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_nuvei.payment_method_mastercard +NEW payment.method: payment_nuvei.payment_method_naranja +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_nuvei.payment_method_nuvei_local [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_oxxopay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_nuvei.payment_method_pix +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_nuvei.payment_method_pse [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_redpagos [renamed from payment module] (noupdate switched) +NEW payment.method: payment_nuvei.payment_method_spei [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_nuvei.payment_method_tarjeta_mercadopago +NEW payment.method: payment_nuvei.payment_method_unionpay +NEW payment.method: payment_nuvei.payment_method_visa +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_nuvei.payment_method_webpay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +payment.provider: payment.payment_provider_nuvei (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/noupdate_changes.xml new file mode 100644 index 00000000000..9079903d519 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/noupdate_changes.xml @@ -0,0 +1,22 @@ + + + + True + + + + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/post-migration.py b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/post-migration.py new file mode 100644 index 00000000000..ab1da51e239 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_paypal", "20.0.2.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..e726dd8a9ad --- /dev/null +++ b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,29 @@ +---Models in module 'payment_paypal'--- +---Fields in module 'payment_paypal'--- +payment_paypal / payment.provider / paypal_account_id (char) : NEW +payment_paypal / payment.provider / paypal_email_confirmed (boolean): NEW +payment_paypal / payment.provider / paypal_is_oauth_onboarded (boolean): NEW +payment_paypal / payment.provider / paypal_payments_receivable (boolean): NEW +payment_paypal / payment.provider / paypal_seller_nonce (char) : NEW +payment_paypal / payment.transaction / paypal_setup_token_ref (char) : NEW +---XML records in module 'payment_paypal'--- +NEW ir.ui.view: payment_paypal.inline_form +NEW payment.method: payment_paypal.payment_method_amex +NEW payment.method: payment_paypal.payment_method_bancontact +NEW payment.method: payment_paypal.payment_method_blik +NEW payment.method: payment_paypal.payment_method_card +NEW payment.method: payment_paypal.payment_method_diners +NEW payment.method: payment_paypal.payment_method_eps +NEW payment.method: payment_paypal.payment_method_ideal +NEW payment.method: payment_paypal.payment_method_jcb +NEW payment.method: payment_paypal.payment_method_maestro +NEW payment.method: payment_paypal.payment_method_mastercard +NEW payment.method: payment_paypal.payment_method_multibanco +NEW payment.method: payment_paypal.payment_method_mybank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_paypal.payment_method_p24 +NEW payment.method: payment_paypal.payment_method_paypal +NEW payment.method: payment_paypal.payment_method_paypal_paylater +NEW payment.method: payment_paypal.payment_method_trustly +NEW payment.method: payment_paypal.payment_method_venmo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_paypal.payment_method_visa +payment.provider: payment.payment_provider_paypal (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..c4dce670519 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_paypal/20.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,36 @@ +---Models in module 'payment_paypal'--- +---Fields in module 'payment_paypal'--- +payment_paypal / payment.provider / paypal_account_id (char) : NEW +payment_paypal / payment.provider / paypal_email_confirmed (boolean): NEW +payment_paypal / payment.provider / paypal_is_oauth_onboarded (boolean): NEW +payment_paypal / payment.provider / paypal_payments_receivable (boolean): NEW +payment_paypal / payment.provider / paypal_seller_nonce (char) : NEW +payment_paypal / payment.transaction / paypal_setup_token_ref (char) : NEW +# NOTHING TO DO: empty is the right value for existing records +---XML records in module 'payment_paypal'--- +NEW ir.ui.view: payment_paypal.inline_form +NEW payment.method: payment_paypal.payment_method_amex +NEW payment.method: payment_paypal.payment_method_bancontact +NEW payment.method: payment_paypal.payment_method_blik +NEW payment.method: payment_paypal.payment_method_card +NEW payment.method: payment_paypal.payment_method_diners +NEW payment.method: payment_paypal.payment_method_eps +NEW payment.method: payment_paypal.payment_method_ideal +NEW payment.method: payment_paypal.payment_method_jcb +NEW payment.method: payment_paypal.payment_method_maestro +NEW payment.method: payment_paypal.payment_method_mastercard +NEW payment.method: payment_paypal.payment_method_multibanco +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_paypal.payment_method_mybank [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_paypal.payment_method_p24 +NEW payment.method: payment_paypal.payment_method_paypal +NEW payment.method: payment_paypal.payment_method_paypal_paylater +NEW payment.method: payment_paypal.payment_method_trustly +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_paypal.payment_method_venmo [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_paypal.payment_method_visa +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_paypal (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..59396b10549 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..f6cbbe507d0 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_razorpay", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..da7d1d2859b --- /dev/null +++ b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,19 @@ +---Models in module 'payment_razorpay'--- +---Fields in module 'payment_razorpay'--- +---XML records in module 'payment_razorpay'--- +NEW payment.method: payment_razorpay.payment_method_amex +NEW payment.method: payment_razorpay.payment_method_card +NEW payment.method: payment_razorpay.payment_method_diners +NEW payment.method: payment_razorpay.payment_method_discover +NEW payment.method: payment_razorpay.payment_method_emi_india [renamed from payment module] (noupdate switched) +NEW payment.method: payment_razorpay.payment_method_fpx +NEW payment.method: payment_razorpay.payment_method_maestro +NEW payment.method: payment_razorpay.payment_method_mastercard +NEW payment.method: payment_razorpay.payment_method_netbanking [renamed from payment module] (noupdate switched) +NEW payment.method: payment_razorpay.payment_method_paylater_india [renamed from payment module] (noupdate switched) +NEW payment.method: payment_razorpay.payment_method_paynow +NEW payment.method: payment_razorpay.payment_method_rupay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_razorpay.payment_method_upi +NEW payment.method: payment_razorpay.payment_method_visa +NEW payment.method: payment_razorpay.payment_method_wallets_india +payment.provider: payment.payment_provider_razorpay (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..8d57a7694cc --- /dev/null +++ b/openupgrade_scripts/scripts/payment_razorpay/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,27 @@ +---Models in module 'payment_razorpay'--- +---Fields in module 'payment_razorpay'--- +---XML records in module 'payment_razorpay'--- +NEW payment.method: payment_razorpay.payment_method_amex +NEW payment.method: payment_razorpay.payment_method_card +NEW payment.method: payment_razorpay.payment_method_diners +NEW payment.method: payment_razorpay.payment_method_discover +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_razorpay.payment_method_emi_india [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_razorpay.payment_method_fpx +NEW payment.method: payment_razorpay.payment_method_maestro +NEW payment.method: payment_razorpay.payment_method_mastercard +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_razorpay.payment_method_netbanking [renamed from payment module] (noupdate switched) +NEW payment.method: payment_razorpay.payment_method_paylater_india [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_razorpay.payment_method_paynow +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_razorpay.payment_method_rupay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_razorpay.payment_method_upi +NEW payment.method: payment_razorpay.payment_method_visa +NEW payment.method: payment_razorpay.payment_method_wallets_india +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_razorpay (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/noupdate_changes.xml new file mode 100644 index 00000000000..5b5a21c1e4a --- /dev/null +++ b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/noupdate_changes.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + True + + + + + diff --git a/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/post-migration.py b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/post-migration.py new file mode 100644 index 00000000000..ac0cacdfd44 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_stripe", "20.0.2.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/upgrade_analysis.txt new file mode 100644 index 00000000000..8ac44e72423 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/upgrade_analysis.txt @@ -0,0 +1,52 @@ +---Models in module 'payment_stripe'--- +---Fields in module 'payment_stripe'--- +---XML records in module 'payment_stripe'--- +DEL ir.ui.view: payment_stripe.no_pms_available_warning +NEW payment.method: payment_stripe.payment_method_ach_direct_debit +NEW payment.method: payment_stripe.payment_method_acss_direct_debit +NEW payment.method: payment_stripe.payment_method_affirm +NEW payment.method: payment_stripe.payment_method_afterpay +NEW payment.method: payment_stripe.payment_method_alipay +NEW payment.method: payment_stripe.payment_method_alma +NEW payment.method: payment_stripe.payment_method_amazon_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_stripe.payment_method_amex +NEW payment.method: payment_stripe.payment_method_apple_pay +NEW payment.method: payment_stripe.payment_method_bacs_direct_debit +NEW payment.method: payment_stripe.payment_method_bancontact +NEW payment.method: payment_stripe.payment_method_becs_direct_debit [renamed from payment module] (noupdate switched) +NEW payment.method: payment_stripe.payment_method_boleto +NEW payment.method: payment_stripe.payment_method_card +NEW payment.method: payment_stripe.payment_method_cartes_bancaires +NEW payment.method: payment_stripe.payment_method_cash_app_pay +NEW payment.method: payment_stripe.payment_method_clearpay +NEW payment.method: payment_stripe.payment_method_diners +NEW payment.method: payment_stripe.payment_method_discover +NEW payment.method: payment_stripe.payment_method_eps +NEW payment.method: payment_stripe.payment_method_fpx +NEW payment.method: payment_stripe.payment_method_google_pay +NEW payment.method: payment_stripe.payment_method_grabpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_stripe.payment_method_ideal +NEW payment.method: payment_stripe.payment_method_ideal_brand +NEW payment.method: payment_stripe.payment_method_jcb +NEW payment.method: payment_stripe.payment_method_klarna +NEW payment.method: payment_stripe.payment_method_mastercard +NEW payment.method: payment_stripe.payment_method_mobile_pay +NEW payment.method: payment_stripe.payment_method_multibanco +NEW payment.method: payment_stripe.payment_method_p24 +NEW payment.method: payment_stripe.payment_method_paynow +NEW payment.method: payment_stripe.payment_method_paypal +NEW payment.method: payment_stripe.payment_method_pix +NEW payment.method: payment_stripe.payment_method_promptpay +NEW payment.method: payment_stripe.payment_method_revolut_pay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_stripe.payment_method_satispay +NEW payment.method: payment_stripe.payment_method_sepa_direct_debit +NEW payment.method: payment_stripe.payment_method_swish +NEW payment.method: payment_stripe.payment_method_twint +NEW payment.method: payment_stripe.payment_method_unionpay +NEW payment.method: payment_stripe.payment_method_unknown +NEW payment.method: payment_stripe.payment_method_upi +NEW payment.method: payment_stripe.payment_method_visa +NEW payment.method: payment_stripe.payment_method_wechat_pay +NEW payment.method: payment_stripe.payment_method_wero_brand +NEW payment.method: payment_stripe.payment_method_zip +payment.provider: payment.payment_provider_stripe (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..e8ee8b41be5 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_stripe/20.0.2.0/upgrade_analysis_work.txt @@ -0,0 +1,63 @@ +---Models in module 'payment_stripe'--- +---Fields in module 'payment_stripe'--- +---XML records in module 'payment_stripe'--- +DEL ir.ui.view: payment_stripe.no_pms_available_warning +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_stripe.payment_method_ach_direct_debit +NEW payment.method: payment_stripe.payment_method_acss_direct_debit +NEW payment.method: payment_stripe.payment_method_affirm +NEW payment.method: payment_stripe.payment_method_afterpay +NEW payment.method: payment_stripe.payment_method_alipay +NEW payment.method: payment_stripe.payment_method_alma +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_stripe.payment_method_amazon_pay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_stripe.payment_method_amex +NEW payment.method: payment_stripe.payment_method_apple_pay +NEW payment.method: payment_stripe.payment_method_bacs_direct_debit +NEW payment.method: payment_stripe.payment_method_bancontact +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_stripe.payment_method_becs_direct_debit [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_stripe.payment_method_boleto +NEW payment.method: payment_stripe.payment_method_card +NEW payment.method: payment_stripe.payment_method_cartes_bancaires +NEW payment.method: payment_stripe.payment_method_cash_app_pay +NEW payment.method: payment_stripe.payment_method_clearpay +NEW payment.method: payment_stripe.payment_method_diners +NEW payment.method: payment_stripe.payment_method_discover +NEW payment.method: payment_stripe.payment_method_eps +NEW payment.method: payment_stripe.payment_method_fpx +NEW payment.method: payment_stripe.payment_method_google_pay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_stripe.payment_method_grabpay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_stripe.payment_method_ideal +NEW payment.method: payment_stripe.payment_method_ideal_brand +NEW payment.method: payment_stripe.payment_method_jcb +NEW payment.method: payment_stripe.payment_method_klarna +NEW payment.method: payment_stripe.payment_method_mastercard +NEW payment.method: payment_stripe.payment_method_mobile_pay +NEW payment.method: payment_stripe.payment_method_multibanco +NEW payment.method: payment_stripe.payment_method_p24 +NEW payment.method: payment_stripe.payment_method_paynow +NEW payment.method: payment_stripe.payment_method_paypal +NEW payment.method: payment_stripe.payment_method_pix +NEW payment.method: payment_stripe.payment_method_promptpay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_stripe.payment_method_revolut_pay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_stripe.payment_method_satispay +NEW payment.method: payment_stripe.payment_method_sepa_direct_debit +NEW payment.method: payment_stripe.payment_method_swish +NEW payment.method: payment_stripe.payment_method_twint +NEW payment.method: payment_stripe.payment_method_unionpay +NEW payment.method: payment_stripe.payment_method_unknown +NEW payment.method: payment_stripe.payment_method_upi +NEW payment.method: payment_stripe.payment_method_visa +NEW payment.method: payment_stripe.payment_method_wechat_pay +NEW payment.method: payment_stripe.payment_method_wero_brand +NEW payment.method: payment_stripe.payment_method_zip +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_stripe (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..a4a86495495 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..6821fd28a2a --- /dev/null +++ b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_worldline", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..c90f370e800 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,40 @@ +---Models in module 'payment_worldline'--- +---Fields in module 'payment_worldline'--- +---XML records in module 'payment_worldline'--- +DEL ir.ui.view: payment_worldline.redirect_form +NEW payment.method: payment_worldline.payment_method_alipay_plus [renamed from payment module] (noupdate switched) +NEW payment.method: payment_worldline.payment_method_amex +NEW payment.method: payment_worldline.payment_method_bancontact +NEW payment.method: payment_worldline.payment_method_bizum +NEW payment.method: payment_worldline.payment_method_card +NEW payment.method: payment_worldline.payment_method_cartes_bancaires +NEW payment.method: payment_worldline.payment_method_cirrus [renamed from payment module] (noupdate switched) +NEW payment.method: payment_worldline.payment_method_cofidis [renamed from payment module] (noupdate switched) +NEW payment.method: payment_worldline.payment_method_dankort +NEW payment.method: payment_worldline.payment_method_diners +NEW payment.method: payment_worldline.payment_method_discover +NEW payment.method: payment_worldline.payment_method_eps +NEW payment.method: payment_worldline.payment_method_floa_bank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_worldline.payment_method_ideal +NEW payment.method: payment_worldline.payment_method_ideal_brand +NEW payment.method: payment_worldline.payment_method_jcb +NEW payment.method: payment_worldline.payment_method_klarna +NEW payment.method: payment_worldline.payment_method_maestro +NEW payment.method: payment_worldline.payment_method_mastercard +NEW payment.method: payment_worldline.payment_method_mbway +NEW payment.method: payment_worldline.payment_method_meeza +NEW payment.method: payment_worldline.payment_method_multibanco +NEW payment.method: payment_worldline.payment_method_naps +NEW payment.method: payment_worldline.payment_method_omannet +NEW payment.method: payment_worldline.payment_method_p24 +NEW payment.method: payment_worldline.payment_method_paypal +NEW payment.method: payment_worldline.payment_method_post_finance [renamed from payment module] (noupdate switched) +NEW payment.method: payment_worldline.payment_method_rupay +NEW payment.method: payment_worldline.payment_method_troy +NEW payment.method: payment_worldline.payment_method_twint +NEW payment.method: payment_worldline.payment_method_unionpay +NEW payment.method: payment_worldline.payment_method_visa +NEW payment.method: payment_worldline.payment_method_wechat_pay +NEW payment.method: payment_worldline.payment_method_wero +NEW payment.method: payment_worldline.payment_method_wero_brand +payment.provider: payment.payment_provider_worldline (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..3fee98a2802 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_worldline/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,50 @@ +---Models in module 'payment_worldline'--- +---Fields in module 'payment_worldline'--- +---XML records in module 'payment_worldline'--- +DEL ir.ui.view: payment_worldline.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_worldline.payment_method_alipay_plus [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_worldline.payment_method_amex +NEW payment.method: payment_worldline.payment_method_bancontact +NEW payment.method: payment_worldline.payment_method_bizum +NEW payment.method: payment_worldline.payment_method_card +NEW payment.method: payment_worldline.payment_method_cartes_bancaires +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_worldline.payment_method_cirrus [renamed from payment module] (noupdate switched) +NEW payment.method: payment_worldline.payment_method_cofidis [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_worldline.payment_method_dankort +NEW payment.method: payment_worldline.payment_method_diners +NEW payment.method: payment_worldline.payment_method_discover +NEW payment.method: payment_worldline.payment_method_eps +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_worldline.payment_method_floa_bank [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_worldline.payment_method_ideal +NEW payment.method: payment_worldline.payment_method_ideal_brand +NEW payment.method: payment_worldline.payment_method_jcb +NEW payment.method: payment_worldline.payment_method_klarna +NEW payment.method: payment_worldline.payment_method_maestro +NEW payment.method: payment_worldline.payment_method_mastercard +NEW payment.method: payment_worldline.payment_method_mbway +NEW payment.method: payment_worldline.payment_method_meeza +NEW payment.method: payment_worldline.payment_method_multibanco +NEW payment.method: payment_worldline.payment_method_naps +NEW payment.method: payment_worldline.payment_method_omannet +NEW payment.method: payment_worldline.payment_method_p24 +NEW payment.method: payment_worldline.payment_method_paypal +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_worldline.payment_method_post_finance [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_worldline.payment_method_rupay +NEW payment.method: payment_worldline.payment_method_troy +NEW payment.method: payment_worldline.payment_method_twint +NEW payment.method: payment_worldline.payment_method_unionpay +NEW payment.method: payment_worldline.payment_method_visa +NEW payment.method: payment_worldline.payment_method_wechat_pay +NEW payment.method: payment_worldline.payment_method_wero +NEW payment.method: payment_worldline.payment_method_wero_brand +# NOTHING TO DO: the record is not noupdate, so the module update creates it +payment.provider: payment.payment_provider_worldline (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..3a46ec70f0e --- /dev/null +++ b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kfh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..05ca2313464 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "payment_xendit", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..65d06fdb60f --- /dev/null +++ b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,52 @@ +---Models in module 'payment_xendit'--- +---Fields in module 'payment_xendit'--- +---XML records in module 'payment_xendit'--- +DEL ir.ui.view: payment_xendit.redirect_form +NEW payment.method: payment_xendit.payment_method_7eleven [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_akulaku [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_amex +NEW payment.method: payment_xendit.payment_method_appota [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bangkok_bank +NEW payment.method: payment_xendit.payment_method_bank_bca [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bank_permata [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_billease [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bni [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bri [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bsi [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_card +NEW payment.method: payment_xendit.payment_method_cashalo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_cebuana [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_cimb_niaga [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_dana +NEW payment.method: payment_xendit.payment_method_fpx +NEW payment.method: payment_xendit.payment_method_gcash +NEW payment.method: payment_xendit.payment_method_grabpay +NEW payment.method: payment_xendit.payment_method_jcb +NEW payment.method: payment_xendit.payment_method_jeniuspay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_kfh [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_kredivo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_krungthai_bank +NEW payment.method: payment_xendit.payment_method_linepay +NEW payment.method: payment_xendit.payment_method_linkaja [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_mandiri [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_mastercard +NEW payment.method: payment_xendit.payment_method_maya +NEW payment.method: payment_xendit.payment_method_ovo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_paynow +NEW payment.method: payment_xendit.payment_method_promptpay +NEW payment.method: payment_xendit.payment_method_qris [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_scb +NEW payment.method: payment_xendit.payment_method_shopeepay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_touch_n_go +NEW payment.method: payment_xendit.payment_method_truemoney +NEW payment.method: payment_xendit.payment_method_unionpay +NEW payment.method: payment_xendit.payment_method_uob +NEW payment.method: payment_xendit.payment_method_vietcapital [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_viettelpay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_visa +NEW payment.method: payment_xendit.payment_method_vnptwallet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_vpbank [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_wechat_pay +NEW payment.method: payment_xendit.payment_method_woori [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_zalopay [renamed from payment module] (noupdate switched) +payment.provider: payment.payment_provider_xendit (noupdate switched) diff --git a/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..a38e019d049 --- /dev/null +++ b/openupgrade_scripts/scripts/payment_xendit/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,77 @@ +---Models in module 'payment_xendit'--- +---Fields in module 'payment_xendit'--- +---XML records in module 'payment_xendit'--- +DEL ir.ui.view: payment_xendit.redirect_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +NEW payment.method: payment_xendit.payment_method_7eleven [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_akulaku [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_amex +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_appota [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_bangkok_bank +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_bank_bca [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bank_permata [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_billease [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bni [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bri [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_bsi [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_card +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_cashalo [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_cebuana [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_cimb_niaga [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_dana +NEW payment.method: payment_xendit.payment_method_fpx +NEW payment.method: payment_xendit.payment_method_gcash +NEW payment.method: payment_xendit.payment_method_grabpay +NEW payment.method: payment_xendit.payment_method_jcb +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_jeniuspay [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_kfh [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_kredivo [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_krungthai_bank +NEW payment.method: payment_xendit.payment_method_linepay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_linkaja [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_mandiri [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_mastercard +NEW payment.method: payment_xendit.payment_method_maya +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_ovo [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_paynow +NEW payment.method: payment_xendit.payment_method_promptpay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_qris [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_scb +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_shopeepay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_touch_n_go +NEW payment.method: payment_xendit.payment_method_truemoney +NEW payment.method: payment_xendit.payment_method_unionpay +NEW payment.method: payment_xendit.payment_method_uob +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_vietcapital [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_viettelpay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_visa +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_vnptwallet [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_vpbank [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW payment.method: payment_xendit.payment_method_wechat_pay +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW payment.method: payment_xendit.payment_method_woori [renamed from payment module] (noupdate switched) +NEW payment.method: payment_xendit.payment_method_zalopay [renamed from payment module] (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +payment.provider: payment.payment_provider_xendit (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/portal/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/portal/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..08e4c471cac --- /dev/null +++ b/openupgrade_scripts/scripts/portal/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,18 @@ + + + + diff --git a/openupgrade_scripts/scripts/portal/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/portal/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..fae5501cc23 --- /dev/null +++ b/openupgrade_scripts/scripts/portal/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "portal", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/portal/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/portal/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..03801a08335 --- /dev/null +++ b/openupgrade_scripts/scripts/portal/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,51 @@ +---Models in module 'portal'--- +new model portal.entry +---Fields in module 'portal'--- +portal / account.analytic.account / website_message_ids (one2many): DEL relation: mail.message +portal / calendar.event / website_message_ids (one2many): DEL relation: mail.message +portal / crm.team / website_message_ids (one2many): DEL relation: mail.message +portal / crm.team.member / website_message_ids (one2many): DEL relation: mail.message +portal / discuss.channel / website_message_ids (one2many): DEL relation: mail.message +portal / fleet.vehicle / website_message_ids (one2many): DEL relation: mail.message +portal / fleet.vehicle.log.contract / website_message_ids (one2many): DEL relation: mail.message +portal / fleet.vehicle.log.services / website_message_ids (one2many): DEL relation: mail.message +portal / fleet.vehicle.model / website_message_ids (one2many): DEL relation: mail.message +portal / gamification.badge / website_message_ids (one2many): DEL relation: mail.message +portal / gamification.badge.user / website_message_ids (one2many): DEL relation: mail.message +portal / gamification.challenge / website_message_ids (one2many): DEL relation: mail.message +portal / iap.account / website_message_ids (one2many): DEL relation: mail.message +portal / ir.actions.server / website_message_ids (one2many): DEL relation: mail.message +portal / ir.cron / website_message_ids (one2many): DEL relation: mail.message +portal / lunch.supplier / website_message_ids (one2many): DEL relation: mail.message +portal / mail.blacklist / website_message_ids (one2many): DEL relation: mail.message +portal / maintenance.equipment / website_message_ids (one2many): DEL relation: mail.message +portal / maintenance.request / website_message_ids (one2many): DEL relation: mail.message +portal / maintenance.team / website_message_ids (one2many): DEL relation: mail.message +portal / phone.blacklist / website_message_ids (one2many): DEL relation: mail.message +portal / portal.entry / category (char) : NEW hasdefault: default +portal / portal.entry / description (text) : NEW translate +portal / portal.entry / image (binary) : NEW attachment: True +portal / portal.entry / is_config_card (boolean) : NEW hasdefault: default +portal / portal.entry / name (char) : NEW required, translate +portal / portal.entry / placeholder_count (char) : NEW +portal / portal.entry / sequence (integer) : NEW hasdefault: default +portal / portal.entry / show_in_portal (boolean) : NEW hasdefault: default +portal / portal.entry / url (char) : NEW +portal / product.category / website_message_ids (one2many): DEL relation: mail.message +portal / product.pricelist / website_message_ids (one2many): DEL relation: mail.message +portal / product.product / website_message_ids (one2many): DEL relation: mail.message +portal / product.template / website_message_ids (one2many): DEL relation: mail.message +portal / res.partner / website_message_ids (one2many): DEL relation: mail.message +---XML records in module 'portal'--- +NEW ir.access: portal.access_portal_entry_public +NEW ir.access: portal.access_portal_share +NEW ir.access: portal.access_portal_wizard +NEW ir.access: portal.access_portal_wizard_user +DEL ir.model.access: portal.access_portal_share +DEL ir.model.access: portal.access_portal_wizard +DEL ir.model.access: portal.access_portal_wizard_user +NEW ir.ui.view: portal.address_warning_icon +ir.ui.view: portal.portal_share_template (noupdate switched) +NEW ir.ui.view: portal.profile_picture_card +NEW portal.entry: portal.portal_entry_addresses +NEW portal.entry: portal.portal_entry_base diff --git a/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..8f78329f083 --- /dev/null +++ b/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..5b850abf626 --- /dev/null +++ b/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "pos_restaurant", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..8c2af2c9457 --- /dev/null +++ b/openupgrade_scripts/scripts/pos_restaurant/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,54 @@ +---Models in module 'pos_restaurant'--- +new model pos.course +---Fields in module 'pos_restaurant'--- +pos_restaurant / pos.category / course_id (many2one) : NEW relation: pos.course +pos_restaurant / pos.config / floor_plan_settings (json) : NEW +pos_restaurant / pos.config / iface_printbill (boolean) : module is now 'point_of_sale' ('pos_restaurant') +pos_restaurant / pos.config / iface_splitbill (boolean) : DEL +pos_restaurant / pos.config / set_tip_after_payment (boolean): module is now 'point_of_sale' ('pos_restaurant') +pos_restaurant / pos.config / use_course_allocation (boolean): NEW +pos_restaurant / pos.config / use_show_items_on_course_ticket (boolean): NEW +pos_restaurant / pos.course / category_ids (one2many) : NEW relation: pos.category +pos_restaurant / pos.course / name (char) : NEW required +pos_restaurant / pos.course / sequence (integer) : NEW hasdefault: default +pos_restaurant / restaurant.floor / background_color (char) : DEL +pos_restaurant / restaurant.floor / background_image (binary) : DEL attachment: True +pos_restaurant / restaurant.floor / floor_background_image (binary): DEL attachment: True +pos_restaurant / restaurant.floor / floor_plan_layout (json) : NEW +pos_restaurant / restaurant.order.course / course_id (many2one) : NEW relation: pos.course +pos_restaurant / restaurant.order.course / name (char) : NEW +pos_restaurant / restaurant.table / color (char) : DEL +pos_restaurant / restaurant.table / floor_plan_layout (json) : NEW +pos_restaurant / restaurant.table / height (float) : DEL +pos_restaurant / restaurant.table / parent_side (selection) : NEW selection_keys: ['bottom', 'left', 'right', 'top'] +pos_restaurant / restaurant.table / position_h (float) : DEL +pos_restaurant / restaurant.table / position_v (float) : DEL +pos_restaurant / restaurant.table / shape (selection) : DEL required, selection_keys: ['round', 'square'] +pos_restaurant / restaurant.table / width (float) : DEL +---XML records in module 'pos_restaurant'--- +NEW ir.access: pos_restaurant.access_pos_course +NEW ir.access: pos_restaurant.access_pos_course_manager +NEW ir.access: pos_restaurant.access_restaurant_floor +NEW ir.access: pos_restaurant.access_restaurant_floor_manager +NEW ir.access: pos_restaurant.access_restaurant_order_course +NEW ir.access: pos_restaurant.access_restaurant_table +NEW ir.access: pos_restaurant.access_restaurant_table_manager +NEW ir.actions.act_window: pos_restaurant.action_pos_course +DEL ir.model.access: pos_restaurant.access_restaurant_floor +DEL ir.model.access: pos_restaurant.access_restaurant_floor_manager +DEL ir.model.access: pos_restaurant.access_restaurant_order_course +DEL ir.model.access: pos_restaurant.access_restaurant_table +DEL ir.model.access: pos_restaurant.access_restaurant_table_manager +NEW ir.model.constraint: pos_restaurant.constraint_pos_course_name_unique +NEW ir.ui.menu: pos_restaurant.menu_pos_course +NEW ir.ui.view: pos_restaurant.pos_order_change_receipt +NEW ir.ui.view: pos_restaurant.pos_order_receipt_header +NEW ir.ui.view: pos_restaurant.pos_restaurant_pos_category_kanban_view +NEW ir.ui.view: pos_restaurant.pos_restaurant_product_pos_category_tree_view +NEW ir.ui.view: pos_restaurant.view_pos_category_form_inherit_course +NEW ir.ui.view: pos_restaurant.view_pos_course_form +NEW ir.ui.view: pos_restaurant.view_pos_course_list +pos.preset: pos_restaurant.pos_delivery_preset (noupdate switched) +pos.preset: pos_restaurant.pos_takein_preset (noupdate switched) +pos.preset: pos_restaurant.pos_takeout_preset (noupdate switched) +resource.calendar: pos_restaurant.pos_resource_preset (noupdate switched) diff --git a/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..2824bbd9bbd --- /dev/null +++ b/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,57 @@ + + + + +
+ + + + + + + + + +
+ Hello Client name, + Hello, +
+
+
Your order ... amounting in $xx.xx has been confirmed. It will be ready at 12:00 pm at street, state, zip, city, country
+
+
Thank you,
+
+
+
You can download your receipt here
+
+
+ Store name +
+
+ Sent to customers with a link to download their receipt +
+ + +
+ + + +
+ Hello Client name, + Hello, +
+
+
Your order ... amounting in $xx.xx has been confirmed. It will be ready at 12:00 pm
+
+
Thank you,
+
+
+
You can download your receipt here
+
+
+ Store name +
+
+ Sent to customers with a link to download their receipt +
+
diff --git a/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..dc70f9e1960 --- /dev/null +++ b/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "pos_self_order", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "pos_self_order", + ["delivery_email_template", "takeout_email_template"], + ["body_html", "description"], + ) diff --git a/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..c6023d04582 --- /dev/null +++ b/openupgrade_scripts/scripts/pos_self_order/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,36 @@ +---Models in module 'pos_self_order'--- +---Fields in module 'pos_self_order'--- +pos_self_order / pos.category / pos_config_ids (many2many) : module is now 'point_of_sale' ('pos_self_order') +pos_self_order / pos.config / self_ordering_primary_color (char): NEW hasdefault: default +pos_self_order / pos.config / self_ordering_service_mode (selection): selection_keys added: [dynamic_qr] (most likely nothing to do) +pos_self_order / pos.preset / delivery_distance_unit (selection): NEW selection_keys: ['km', 'mi'], hasdefault: default +pos_self_order / pos.preset / delivery_from_address (char) : NEW isfunction: function, stored +pos_self_order / pos.preset / delivery_from_city (char) : NEW +pos_self_order / pos.preset / delivery_from_country_id (many2one): NEW relation: res.country +pos_self_order / pos.preset / delivery_from_latitude (float): NEW +pos_self_order / pos.preset / delivery_from_longitude (float): NEW +pos_self_order / pos.preset / delivery_from_state_id (many2one): NEW relation: res.country.state +pos_self_order / pos.preset / delivery_from_street (char) : NEW +pos_self_order / pos.preset / delivery_from_zip (char) : NEW +pos_self_order / pos.preset / delivery_max_distance_km (float): NEW hasdefault: default +pos_self_order / pos.preset / delivery_product_id (many2one): NEW relation: product.product, hasdefault: default +pos_self_order / pos.preset / delivery_product_price (float): NEW hasdefault: default +pos_self_order / pos.preset / free_delivery_min_amount (float): NEW +pos_self_order / pos.snooze / type (False) : NEW selection_keys: ['product', 'self-ordering'], mode: modify +---XML records in module 'pos_self_order'--- +NEW ir.access: pos_self_order.access_pos_self_order_custom_link_manager +NEW ir.access: pos_self_order.access_pos_self_order_custom_link_user +DEL ir.model.access: pos_self_order.access_pos_self_order_custom_link_manager +DEL ir.model.access: pos_self_order.access_pos_self_order_custom_link_user +NEW ir.ui.view: pos_self_order.DynamicQrReceipt +NEW ir.ui.view: pos_self_order.pos_config_view_form_inherit_pos_self_order +NEW ir.ui.view: pos_self_order.pos_order_change_receipt +NEW ir.ui.view: pos_self_order.pos_order_receipt_header +NEW ir.ui.view: pos_self_order.view_pos_preset_tree +DEL ir.ui.view: pos_self_order.pos_self_view_pos_session_form +mail.template: pos_self_order.delivery_email_template (noupdate switched) +mail.template: pos_self_order.takeout_email_template (noupdate switched) +pos.preset: pos_restaurant.pos_delivery_preset (noupdate switched) +pos.preset: pos_restaurant.pos_takein_preset (noupdate switched) +pos.preset: pos_restaurant.pos_takeout_preset (noupdate switched) +NEW product.template: pos_self_order.product_delivery_template diff --git a/openupgrade_scripts/scripts/project/20.0.1.4/noupdate_changes.xml b/openupgrade_scripts/scripts/project/20.0.1.4/noupdate_changes.xml new file mode 100644 index 00000000000..b71ac130fee --- /dev/null +++ b/openupgrade_scripts/scripts/project/20.0.1.4/noupdate_changes.xml @@ -0,0 +1,29 @@ + + + + mail.mail_notification_light + + + + [ + ('project_id.privacy_visibility', 'in', ['invited_users', 'portal']), + ('has_template_ancestor', '=', False), + ('active', '=', True), + ('project_id.collaborator_ids', 'any', [ + ('partner_id', '=', user.partner_id.id), + ('access_mode', 'in', ['edit', 'advanced_edit']) + ]), + ] + + cu + + + mail.mail_notification_light + + diff --git a/openupgrade_scripts/scripts/project/20.0.1.4/post-migration.py b/openupgrade_scripts/scripts/project/20.0.1.4/post-migration.py new file mode 100644 index 00000000000..7b15311bf88 --- /dev/null +++ b/openupgrade_scripts/scripts/project/20.0.1.4/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "project", "20.0.1.4/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/project/20.0.1.4/upgrade_analysis.txt b/openupgrade_scripts/scripts/project/20.0.1.4/upgrade_analysis.txt new file mode 100644 index 00000000000..9cc06233158 --- /dev/null +++ b/openupgrade_scripts/scripts/project/20.0.1.4/upgrade_analysis.txt @@ -0,0 +1,306 @@ +---Models in module 'project'--- +new model project.task.stage.report [sql_view] +---Fields in module 'project'--- +project / project.collaborator / access_mode (selection) : NEW required, selection_keys: ['advanced_edit', 'edit', 'view'], hasdefault: default +project / project.collaborator / limited_access (boolean) : DEL +project / project.milestone / website_message_ids (one2many): DEL relation: mail.message +project / project.project / allowed_internal_user_ids (many2many): NEW relation: res.users, hasdefault: compute +project / project.project / date_last_stage_update (datetime): NEW hasdefault: default +project / project.project / duration_tracking (json) : is now stored +project / project.project / website_message_ids (one2many): DEL relation: mail.message +project / project.project.stage / color (integer) : DEL +project / project.project.stage / rotting_threshold_days (integer): NEW hasdefault: default +project / project.role / user_ids (many2many) : NEW relation: res.users +project / project.task / allow_recurring_tasks (boolean): not related anymore +project / project.task / allow_recurring_tasks (boolean): now a function +project / project.task / allow_task_dependencies (boolean): not related anymore +project / project.task / allow_task_dependencies (boolean): now a function +project / project.task / duration_tracking (json) : is now stored +project / project.task / email_cc (char) : DEL +project / project.task / website_message_ids (one2many): DEL relation: mail.message +project / project.task.type / color (integer) : DEL +project / project.update / _order : _order is now 'date desc, id desc' ('id desc') +project / project.update / email_cc (char) : DEL +project / project.update / website_message_ids (one2many): DEL relation: mail.message +project / res.users / followed_project_ids (many2many): NEW relation: project.project, stored: False +project / res.users / project_role_ids (many2many) : NEW relation: project.role +---XML records in module 'project'--- +digest.digest: digest.digest_digest_default (noupdate switched) +NEW digest.tip: project.digest_tip_project_4 +NEW digest.tip: project.digest_tip_project_5 +NEW digest.tip: project.digest_tip_project_6 +NEW digest.tip: project.digest_tip_project_7 +NEW digest.tip: project.digest_tip_project_8 +NEW digest.tip: project.digest_tip_project_9 +NEW ir.access: project.access_account_analytic_account_manager +NEW ir.access: project.access_account_analytic_account_user +NEW ir.access: project.access_mail_activity_plan_project_manager +NEW ir.access: project.access_mail_activity_plan_template_project_manager +NEW ir.access: project.access_mail_activity_type_project_manager +NEW ir.access: project.access_project_collaborator_manager +NEW ir.access: project.access_project_collaborator_user +NEW ir.access: project.access_project_personal_stage +NEW ir.access: project.access_project_project_stage +NEW ir.access: project.access_project_project_stage_delete_wizard +NEW ir.access: project.access_project_project_stage_manager +NEW ir.access: project.access_project_role_manager +NEW ir.access: project.access_project_role_user +NEW ir.access: project.access_project_share_collaborator_manager +NEW ir.access: project.access_project_share_manager +NEW ir.access: project.access_project_tags_portal +NEW ir.access: project.access_project_task_recurrence +NEW ir.access: project.access_project_task_share_manager +NEW ir.access: project.access_project_task_stage_report +NEW ir.access: project.access_project_task_type_delete_wizard +NEW ir.access: project.access_project_task_type_portal +NEW ir.access: project.access_project_task_type_user +NEW ir.access: project.access_project_template_create_wizard_manager +NEW ir.access: project.access_project_template_create_wizard_user +NEW ir.access: project.access_project_template_role_to_users_map_manager +NEW ir.access: project.access_project_template_role_to_users_map_user +NEW ir.access: project.access_resource_calendar +NEW ir.access: project.access_resource_calendar_attendance +NEW ir.access: project.account_analytic_line_rule_manager +NEW ir.access: project.burndown_chart_project_manager_rule +NEW ir.access: project.burndown_chart_project_user_rule +NEW ir.access: project.ir_rule_private_task +NEW ir.access: project.ir_rule_project_personal_stage_my +NEW ir.access: project.mail_plan_rule_group_project_manager_task +NEW ir.access: project.mail_plan_templates_rule_group_project_manager_task +NEW ir.access: project.milestone_comp_rule +NEW ir.access: project.milestone_visibility_project_admin +NEW ir.access: project.milestone_visibility_rule +NEW ir.access: project.milestone_visibility_rule_1 +NEW ir.access: project.project_collaborator_rule_portal +NEW ir.access: project.project_comp_rule +NEW ir.access: project.project_manager_all_project_tasks_rule +NEW ir.access: project.project_milestone_rule_portal_project_sharing +NEW ir.access: project.project_project_manager_rule +NEW ir.access: project.project_project_rule_portal +NEW ir.access: project.project_project_stage_rule +NEW ir.access: project.project_public_members_rule +NEW ir.access: project.project_task_rule_portal +NEW ir.access: project.project_task_rule_portal_project_sharing +NEW ir.access: project.project_user_read_on_tasks_templates_without_project_rule +NEW ir.access: project.report_project_task_manager_rule +NEW ir.access: project.report_project_task_user_report_comp_rule +NEW ir.access: project.res_partner_rule_user +NEW ir.access: project.resource_calendar_leaves_rule_group_user_create +NEW ir.access: project.resource_calendar_leaves_rule_group_user_modify +NEW ir.access: project.tags_manager_rule +NEW ir.access: project.tags_user_rule +NEW ir.access: project.task_comp_rule +NEW ir.access: project.task_type_manager_rule +NEW ir.access: project.task_type_own_write_rule +NEW ir.access: project.task_type_visibility_rule +NEW ir.access: project.task_visibility_rule +NEW ir.access: project.task_visibility_rule_project_user +NEW ir.access: project.update_comp_rule +NEW ir.access: project.update_visibility_project_admin +NEW ir.access: project.update_visibility_rule +NEW ir.access: project.update_visibility_rule_1 +ir.actions.act_window: project.act_project_project_2_project_task_all (deleted domain) +ir.actions.act_window: project.action_project_task_burndown_chart_report (deleted domain) +ir.actions.act_window: project.action_project_task_user_tree (deleted domain) +NEW ir.actions.act_window: project.action_project_time_by_stage_report +ir.actions.act_window: project.action_view_all_task (deleted domain) +ir.actions.act_window: project.action_view_my_task (deleted domain) +ir.actions.act_window: project.action_view_task (deleted domain) +ir.actions.act_window: project.action_view_task_from_milestone (deleted domain) +ir.actions.act_window: project.action_view_task_overpassed_draft (deleted domain) +ir.actions.act_window: project.dblc_proj (deleted domain) +ir.actions.act_window: project.mail_activity_plan_action_config_project_task_plan (deleted domain) +ir.actions.act_window: project.mail_activity_type_action_config_project_types (deleted domain) +NEW ir.actions.act_window: project.open_create_project_template +ir.actions.act_window: project.open_task_type_form (deleted domain) +ir.actions.act_window: project.open_task_type_form_domain (deleted domain) +ir.actions.act_window: project.open_view_project_all (deleted domain) +ir.actions.act_window: project.open_view_project_all_config (deleted domain) +ir.actions.act_window: project.open_view_project_all_config_group_stage (deleted domain) +ir.actions.act_window: project.open_view_project_all_group_stage (deleted domain) +NEW ir.actions.act_window: project.open_view_project_template +ir.actions.act_window: project.project_milestone_action (deleted domain) +ir.actions.act_window: project.project_sharing_project_task_action (deleted domain) +ir.actions.act_window: project.project_sharing_project_task_action_blocking_tasks (deleted domain) +ir.actions.act_window: project.project_sharing_project_task_action_sub_task (deleted domain) +ir.actions.act_window: project.project_task_action_from_partner (deleted domain) +ir.actions.act_window: project.project_task_action_sub_task (deleted domain) +ir.actions.act_window: project.project_update_all_action (deleted domain) +ir.actions.act_window: project.rating_rating_action_project_report (deleted domain) +ir.actions.act_window: project.rating_rating_action_task (deleted domain) +ir.actions.act_window: project.rating_rating_action_view_project_rating (deleted domain) +DEL ir.actions.act_window: project.project_milestone_action_view_tasks +NEW ir.actions.act_window.view: project.open_view_project_template_form_action_view +NEW ir.actions.act_window.view: project.open_view_project_template_kanban_action_view +NEW ir.actions.act_window.view: project.open_view_project_template_tree_action_view +DEL ir.actions.act_window.view: project.project_milestone_action_view_graph +DEL ir.actions.act_window.view: project.project_milestone_action_view_pivot +DEL ir.actions.act_window.view: project.project_milestone_action_view_tasks_calendar +DEL ir.actions.act_window.view: project.project_milestone_action_view_tasks_kanban +DEL ir.actions.act_window.view: project.project_milestone_action_view_tasks_list +NEW ir.actions.server: project.action_server_share_project +NEW ir.actions.server: project.action_server_share_task +NEW ir.config_parameter: project.portal_task_page_limit_param +ir.cron: project.ir_cron_rating_project (noupdate switched) +NEW ir.embedded.actions: project.project_embedded_action_project_burndown_chart +NEW ir.embedded.actions: project.project_embedded_action_project_overview +NEW ir.embedded.actions: project.project_embedded_action_time_by_stage +NEW ir.embedded.actions: project.project_embedded_action_update_burndown_chart +ir.exports: project.project_task_export_template (noupdate switched) +ir.exports.line: project.project_task_export_template_line_id (noupdate switched) +ir.exports.line: project.project_task_export_template_line_name (noupdate switched) +ir.exports.line: project.project_task_export_template_line_project_id (noupdate switched) +ir.exports.line: project.project_task_export_template_line_stage_id (noupdate switched) +ir.exports.line: project.project_task_export_template_line_state (noupdate switched) +ir.exports.line: project.project_task_export_template_line_tag_ids (noupdate switched) +ir.exports.line: project.project_task_export_template_line_user_ids (noupdate switched) +DEL ir.model.access: project.access_account_analytic_account_manager +DEL ir.model.access: project.access_account_analytic_account_user +DEL ir.model.access: project.access_account_analytic_line_project +DEL ir.model.access: project.access_mail_activity_plan_project_manager +DEL ir.model.access: project.access_mail_activity_plan_template_project_manager +DEL ir.model.access: project.access_mail_activity_type_project_manager +DEL ir.model.access: project.access_partner_task_user +DEL ir.model.access: project.access_project_collaborator_manager +DEL ir.model.access: project.access_project_collaborator_portal +DEL ir.model.access: project.access_project_collaborator_user +DEL ir.model.access: project.access_project_milestone_portal +DEL ir.model.access: project.access_project_milestone_project_manager +DEL ir.model.access: project.access_project_milestone_project_user +DEL ir.model.access: project.access_project_milestone_user +DEL ir.model.access: project.access_project_personal_stage +DEL ir.model.access: project.access_project_portal +DEL ir.model.access: project.access_project_project +DEL ir.model.access: project.access_project_project_manager +DEL ir.model.access: project.access_project_project_stage +DEL ir.model.access: project.access_project_project_stage_delete_wizard +DEL ir.model.access: project.access_project_project_stage_manager +DEL ir.model.access: project.access_project_role_manager +DEL ir.model.access: project.access_project_role_user +DEL ir.model.access: project.access_project_share_collaborator_manager +DEL ir.model.access: project.access_project_share_manager +DEL ir.model.access: project.access_project_sharing_task_portal (noupdate) +DEL ir.model.access: project.access_project_tags_all +DEL ir.model.access: project.access_project_tags_manager +DEL ir.model.access: project.access_project_tags_portal +DEL ir.model.access: project.access_project_task +DEL ir.model.access: project.access_project_task_burndown_chart_report +DEL ir.model.access: project.access_project_task_burndown_chart_report_user +DEL ir.model.access: project.access_project_task_recurrence +DEL ir.model.access: project.access_project_task_share_manager +DEL ir.model.access: project.access_project_task_share_user +DEL ir.model.access: project.access_project_task_type_delete_wizard +DEL ir.model.access: project.access_project_task_type_manager +DEL ir.model.access: project.access_project_task_type_portal +DEL ir.model.access: project.access_project_task_type_project_user +DEL ir.model.access: project.access_project_task_type_user +DEL ir.model.access: project.access_project_template_create_wizard_manager +DEL ir.model.access: project.access_project_template_create_wizard_user +DEL ir.model.access: project.access_project_template_role_to_users_map_manager +DEL ir.model.access: project.access_project_template_role_to_users_map_user +DEL ir.model.access: project.access_project_update_portal +DEL ir.model.access: project.access_project_update_project_manager +DEL ir.model.access: project.access_project_update_project_user +DEL ir.model.access: project.access_project_update_user +DEL ir.model.access: project.access_project_user +DEL ir.model.access: project.access_report_project_task_user +DEL ir.model.access: project.access_report_project_task_user_project_user +DEL ir.model.access: project.access_resource_calendar +DEL ir.model.access: project.access_resource_calendar_attendance +DEL ir.model.access: project.access_resource_calendar_leaves_user +DEL ir.model.access: project.access_task_on_partner +DEL ir.model.access: project.access_task_portal +NEW ir.model.constraint: project.constraint_mail_activity_task_user_active_idx +ir.model.constraint: project.constraint_mail_message_date_res_id_id_for_burndown_chart (changed definition: is now 'False' ('INDEX (date, res_id, id) WHERE model = 'project.task' AND message_type = 'notification'')) +ir.model.constraint: project.constraint_project_collaborator_unique_collaborator (changed definition: is now 'False' ('UNIQUE(project_id, partner_id)')) +ir.model.constraint: project.constraint_project_project_project_date_greater (changed definition: is now 'False' ('check(date >= date_start)')) +ir.model.constraint: project.constraint_project_tags_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: project.constraint_project_task_is_template_idx (changed definition: is now 'False' ('INDEX (is_template) WHERE is_template IS TRUE')) +ir.model.constraint: project.constraint_project_task_private_task_has_no_parent (changed definition: is now 'False' ('CHECK (NOT (project_id IS NULL AND parent_id IS NOT NULL))')) +ir.model.constraint: project.constraint_project_task_recurring_task_has_no_parent (changed definition: is now 'False' ('CHECK (NOT (recurring_task IS TRUE AND parent_id IS NOT NULL))')) +ir.model.constraint: project.constraint_project_task_user_rel_project_personal_stage_unique (changed definition: is now 'False' ('UNIQUE (task_id, user_id)')) +DEL ir.rule: project.burndown_chart_project_manager_rule (noupdate) +DEL ir.rule: project.burndown_chart_project_user_rule (noupdate) +DEL ir.rule: project.ir_rule_private_task (noupdate) +DEL ir.rule: project.ir_rule_project_personal_stage_my (noupdate) +DEL ir.rule: project.mail_plan_rule_group_project_manager_task (noupdate) +DEL ir.rule: project.mail_plan_templates_rule_group_project_manager_task (noupdate) +DEL ir.rule: project.milestone_comp_rule (noupdate) +DEL ir.rule: project.milestone_visibility_project_admin (noupdate) +DEL ir.rule: project.milestone_visibility_rule (noupdate) +DEL ir.rule: project.project_collaborator_rule_portal (noupdate) +DEL ir.rule: project.project_comp_rule (noupdate) +DEL ir.rule: project.project_manager_all_project_tasks_rule (noupdate) +DEL ir.rule: project.project_milestone_rule_portal_project_sharing (noupdate) +DEL ir.rule: project.project_project_manager_rule (noupdate) +DEL ir.rule: project.project_project_rule_portal (noupdate) +DEL ir.rule: project.project_project_stage_rule (noupdate) +DEL ir.rule: project.project_public_members_rule (noupdate) +DEL ir.rule: project.project_task_rule_portal (noupdate) +DEL ir.rule: project.project_task_rule_portal_project_sharing (noupdate) +DEL ir.rule: project.report_project_task_manager_rule (noupdate) +DEL ir.rule: project.report_project_task_user_report_comp_rule (noupdate) +DEL ir.rule: project.report_project_task_user_rule (noupdate) +DEL ir.rule: project.task_comp_rule (noupdate) +DEL ir.rule: project.task_type_manager_rule (noupdate) +DEL ir.rule: project.task_type_own_write_rule (noupdate) +DEL ir.rule: project.task_type_visibility_rule (noupdate) +DEL ir.rule: project.task_visibility_rule (noupdate) +DEL ir.rule: project.task_visibility_rule_project_user (noupdate) +DEL ir.rule: project.update_comp_rule (noupdate) +DEL ir.rule: project.update_visibility_project_admin (noupdate) +DEL ir.rule: project.update_visibility_rule (noupdate) +NEW ir.ui.menu: project.menu_project_config_project_template +NEW ir.ui.view: project.portal_format_date +ir.ui.view: project.project_message_user_assigned (noupdate switched) +NEW ir.ui.view: project.project_sharing_project_task_view_card +NEW ir.ui.view: project.project_templates_view_card +NEW ir.ui.view: project.project_time_by_stage_report_view_graph +NEW ir.ui.view: project.project_time_by_stage_report_view_pivot +NEW ir.ui.view: project.project_time_by_stage_report_view_search +NEW ir.ui.view: project.project_update_view_graph +NEW ir.ui.view: project.project_view_card_inherit_project +ir.ui.view: project.task_invitation_follower (noupdate switched) +NEW ir.ui.view: project.view_project_card +NEW ir.ui.view: project.view_project_card_group_stage +NEW ir.ui.view: project.view_task_card +NEW ir.ui.view: project.view_task_card_subtask_mobile +NEW ir.ui.view: project.view_task_kanban_no_default_grouping +DEL ir.ui.view: project.portal_my_home +DEL ir.ui.view: project.project_task_graph_view_project_milestone +DEL ir.ui.view: project.project_task_kanban_view_project_milestone +DEL ir.ui.view: project.project_task_pivot_view_project_milestone +DEL ir.ui.view: project.project_task_templates_kanban +DEL ir.ui.view: project.project_task_templates_list +DEL ir.ui.view: project.project_task_tree_view_project_milestone +DEL ir.ui.view: project.project_view_kanban_inherit_project +DEL ir.ui.view: project.view_task_template_search_form +mail.message.subtype: project.mt_project_stage_change (noupdate switched) +mail.message.subtype: project.mt_project_task_approved (noupdate switched) +mail.message.subtype: project.mt_project_task_canceled (noupdate switched) +mail.message.subtype: project.mt_project_task_changes_requested (noupdate switched) +mail.message.subtype: project.mt_project_task_done (noupdate switched) +mail.message.subtype: project.mt_project_task_in_progress (noupdate switched) +mail.message.subtype: project.mt_project_task_new (noupdate switched) +mail.message.subtype: project.mt_project_task_rating (noupdate switched) +mail.message.subtype: project.mt_project_task_stage (noupdate switched) +mail.message.subtype: project.mt_project_task_waiting (noupdate switched) +mail.message.subtype: project.mt_project_update_create (noupdate switched) +mail.message.subtype: project.mt_task_approved (noupdate switched) +mail.message.subtype: project.mt_task_canceled (noupdate switched) +mail.message.subtype: project.mt_task_changes_requested (noupdate switched) +mail.message.subtype: project.mt_task_done (noupdate switched) +mail.message.subtype: project.mt_task_in_progress (noupdate switched) +mail.message.subtype: project.mt_task_new (noupdate switched) +mail.message.subtype: project.mt_task_rating (noupdate switched) +mail.message.subtype: project.mt_task_stage (noupdate switched) +mail.message.subtype: project.mt_task_waiting (noupdate switched) +mail.message.subtype: project.mt_update_create (noupdate switched) +mail.template: project.mail_template_data_project_task (noupdate switched) +mail.template: project.rating_project_request_email_template (noupdate switched) +NEW portal.entry: project.portal_projects +NEW portal.entry: project.portal_tasks +project.project.stage: project.project_project_stage_0 (noupdate switched) +project.project.stage: project.project_project_stage_1 (noupdate switched) +project.project.stage: project.project_project_stage_2 (noupdate switched) +project.project.stage: project.project_project_stage_3 (noupdate switched) diff --git a/openupgrade_scripts/scripts/project_todo/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/project_todo/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..60e60c7045f --- /dev/null +++ b/openupgrade_scripts/scripts/project_todo/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,193 @@ + + + + diff --git a/openupgrade_scripts/scripts/project_todo/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/project_todo/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..add2b43cc2e --- /dev/null +++ b/openupgrade_scripts/scripts/project_todo/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "project_todo", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/project_todo/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/project_todo/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..87466be7de9 --- /dev/null +++ b/openupgrade_scripts/scripts/project_todo/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,24 @@ +---Models in module 'project_todo'--- +---Fields in module 'project_todo'--- +---XML records in module 'project_todo'--- +NEW digest.tip: project_todo.digest_tip_project_todo_0 +NEW ir.access: project_todo.access_mail_activity_todo_create +NEW ir.access: project_todo.access_project_task_type_user +NEW ir.access: project_todo.ir_rule_private_task +NEW ir.access: project_todo.project_manager_all_project_tasks_rule +NEW ir.access: project_todo.project_user_read_on_tasks_templates_without_project_rule +NEW ir.access: project_todo.tags_manager_rule +NEW ir.access: project_todo.tags_own_write_rule +NEW ir.access: project_todo.tags_user_rule +NEW ir.access: project_todo.task_edition_rule_internal +NEW ir.access: project_todo.task_type_manager_rule +NEW ir.access: project_todo.task_type_own_write_rule +NEW ir.access: project_todo.task_visibility_rule +NEW ir.access: project_todo.task_visibility_rule_project_user +ir.actions.act_window: project_todo.project_task_action_todo (deleted domain) +DEL ir.model.access: project_todo.access_mail_activity_todo_create +DEL ir.model.access: project_todo.access_project_tags_user +DEL ir.model.access: project_todo.access_project_task_type_user +DEL ir.model.access: project_todo.access_task_on_partner +DEL ir.rule: project_todo.task_edition_rule_internal (noupdate) +ir.ui.view: project_todo.todo_user_onboarding (noupdate switched) diff --git a/openupgrade_scripts/scripts/project_todo/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/project_todo/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..165410dccd5 --- /dev/null +++ b/openupgrade_scripts/scripts/project_todo/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,29 @@ +---Models in module 'project_todo'--- +---Fields in module 'project_todo'--- +---XML records in module 'project_todo'--- +NEW digest.tip: project_todo.digest_tip_project_todo_0 +# NOTHING TO DO: the record is not noupdate, so the module update creates it +NEW ir.access: project_todo.access_mail_activity_todo_create +NEW ir.access: project_todo.access_project_task_type_user +NEW ir.access: project_todo.ir_rule_private_task +NEW ir.access: project_todo.project_manager_all_project_tasks_rule +NEW ir.access: project_todo.project_user_read_on_tasks_templates_without_project_rule +NEW ir.access: project_todo.tags_manager_rule +NEW ir.access: project_todo.tags_own_write_rule +NEW ir.access: project_todo.tags_user_rule +NEW ir.access: project_todo.task_edition_rule_internal +NEW ir.access: project_todo.task_type_manager_rule +NEW ir.access: project_todo.task_type_own_write_rule +NEW ir.access: project_todo.task_visibility_rule +NEW ir.access: project_todo.task_visibility_rule_project_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.actions.act_window: project_todo.project_task_action_todo (deleted domain) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites the domain +DEL ir.model.access: project_todo.access_mail_activity_todo_create +DEL ir.model.access: project_todo.access_project_tags_user +DEL ir.model.access: project_todo.access_project_task_type_user +DEL ir.model.access: project_todo.access_task_on_partner +DEL ir.rule: project_todo.task_edition_rule_internal (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.ui.view: project_todo.todo_user_onboarding (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..80fb06971f0 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + mail.mail_notification_layout + + diff --git a/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..788064512e8 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "sale_gelato", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..6ca890913d3 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,10 @@ +---Models in module 'sale_gelato'--- +---Fields in module 'sale_gelato'--- +sale_gelato / product.product / gelato_variant_image_ids (one2many): NEW relation: product.document +---XML records in module 'sale_gelato'--- +delivery.carrier: sale_gelato.express_delivery (noupdate switched) +delivery.carrier: sale_gelato.standard_delivery (noupdate switched) +DEL ir.ui.view: sale_gelato.product_product_easy_form +mail.template: sale_gelato.order_status_update (noupdate switched) +product.product: sale_gelato.express_delivery_product (noupdate switched) +product.product: sale_gelato.standard_delivery_product (noupdate switched) diff --git a/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..37b366a98e5 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_gelato/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,15 @@ +---Models in module 'sale_gelato'--- +---Fields in module 'sale_gelato'--- +sale_gelato / product.product / gelato_variant_image_ids (one2many): NEW relation: product.document +# NOTHING TO DO: a one2many has no column of its own +---XML records in module 'sale_gelato'--- +delivery.carrier: sale_gelato.express_delivery (noupdate switched) +delivery.carrier: sale_gelato.standard_delivery (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +DEL ir.ui.view: sale_gelato.product_product_easy_form +# NOTHING TO DO: the record is not noupdate, so the module update removes it +mail.template: sale_gelato.order_status_update (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml +product.product: sale_gelato.express_delivery_product (noupdate switched) +product.product: sale_gelato.standard_delivery_product (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..9e74fea8f42 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..4998b7f86f0 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "sale_timesheet", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..d185cbc88e5 --- /dev/null +++ b/openupgrade_scripts/scripts/sale_timesheet/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,33 @@ +---Models in module 'sale_timesheet'--- +---Fields in module 'sale_timesheet'--- +sale_timesheet / account.analytic.line / order_id (many2one) : module is now 'sale' ('sale_timesheet') +sale_timesheet / account.analytic.line / product_id (False) : NEW mode: modify, hasdefault: compute +sale_timesheet / account.analytic.line / so_line (False) : DEL mode: modify +sale_timesheet / account.analytic.line / timesheet_invoice_id (many2one): DEL relation: account.move +sale_timesheet / account.analytic.line / timesheet_invoice_type (selection): DEL selection_keys: ['billable_fixed', 'billable_manual', 'billable_milestones', 'billable_time', 'non_billable', 'other_costs', 'other_revenues', 'service_revenues', 'timesheet_revenues'] +---XML records in module 'sale_timesheet'--- +NEW ir.access: sale_timesheet.access_project_sale_line_employee_map +NEW ir.access: sale_timesheet.access_project_sale_line_employee_map_manager +NEW ir.access: sale_timesheet.account_analytic_line_rule_billing_user +NEW ir.access: sale_timesheet.account_analytic_line_rule_readonly_user +ir.actions.act_window: sale_timesheet.action_timesheet_from_invoice (deleted domain) +ir.actions.act_window: sale_timesheet.timesheet_action_billing_report (deleted domain) +ir.actions.act_window: sale_timesheet.timesheet_action_from_plan (deleted domain) +ir.actions.act_window: sale_timesheet.timesheet_action_from_sales_order (deleted domain) +ir.actions.act_window: sale_timesheet.timesheet_action_from_sales_order_item (deleted domain) +ir.actions.act_window: sale_timesheet.timesheet_action_plan_pivot (deleted domain) +DEL ir.model.access: sale_timesheet.access_project_sale_line_employee_map +DEL ir.model.access: sale_timesheet.access_project_sale_line_employee_map_manager +ir.model.constraint: sale_timesheet.constraint_project_sale_line_employee_map_uniqueness_employee (changed definition: is now 'False' ('UNIQUE(project_id,employee_id)')) +NEW ir.ui.view: sale_timesheet.account_analytic_line_view_search +NEW ir.ui.view: sale_timesheet.hr_timesheet_line_search +NEW ir.ui.view: sale_timesheet.portal_timesheet_table_with_total_inherit +NEW ir.ui.view: sale_timesheet.project_project_view_card_inherit_sale_timesheet +NEW ir.ui.view: sale_timesheet.project_project_view_card_inherit_sale_timesheet_so_button +NEW ir.ui.view: sale_timesheet.report_timesheet_sale_timesheet +NEW ir.ui.view: sale_timesheet.view_task_form2_inherit_sale_timesheet +DEL ir.ui.view: sale_timesheet.project_project_view_kanban_inherit_sale_timesheet +DEL ir.ui.view: sale_timesheet.project_project_view_kanban_inherit_sale_timesheet_so_button +DEL ir.ui.view: sale_timesheet.view_hr_timesheet_line_graph_invoice_employee +product.product: sale_timesheet.time_product (noupdate switched) +res.groups: base.group_user (noupdate switched) diff --git a/openupgrade_scripts/scripts/stock_sms/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..e6740473dcb --- /dev/null +++ b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,8 @@ + + + + + {{ (object.company_id.name + ': Your order n° ' + object.origin + ' has been collected.' if object.origin else object.company_id.name + ': Your order has been collected.') if hasattr(object, 'delivery_type') and object.delivery_type == 'in_store' else (object.company_id.name + ': We are glad to inform you that your order n° ' + object.origin + ' has been shipped.' if object.origin else object.company_id.name + ': We are glad to inform you that your order has been shipped.') + (' Your tracking reference is ' + (object.carrier_tracking_ref) + '.' if hasattr(object, 'carrier_tracking_ref') and object.carrier_tracking_ref else '') }} + + + diff --git a/openupgrade_scripts/scripts/stock_sms/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..c7c244fd8f6 --- /dev/null +++ b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "stock_sms", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "stock_sms", + ["sms_template_data_stock_delivery"], + ["body"], + ) diff --git a/openupgrade_scripts/scripts/stock_sms/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..9c142cc26ae --- /dev/null +++ b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,10 @@ +---Models in module 'stock_sms'--- +---Fields in module 'stock_sms'--- +---XML records in module 'stock_sms'--- +NEW ir.access: stock_sms.access_confirm_stock_sms +NEW ir.access: stock_sms.access_sms_template_stock_manager +NEW ir.access: stock_sms.ir_rule_sms_template_stock_manager +DEL ir.model.access: stock_sms.access_confirm_stock_sms +DEL ir.model.access: stock_sms.access_sms_template_stock_manager +DEL ir.rule: stock_sms.ir_rule_sms_template_stock_manager (noupdate) +sms.template: stock_sms.sms_template_data_stock_delivery (noupdate switched) diff --git a/openupgrade_scripts/scripts/stock_sms/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..d949a309569 --- /dev/null +++ b/openupgrade_scripts/scripts/stock_sms/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,12 @@ +---Models in module 'stock_sms'--- +---Fields in module 'stock_sms'--- +---XML records in module 'stock_sms'--- +NEW ir.access: stock_sms.access_confirm_stock_sms +NEW ir.access: stock_sms.access_sms_template_stock_manager +NEW ir.access: stock_sms.ir_rule_sms_template_stock_manager +DEL ir.model.access: stock_sms.access_confirm_stock_sms +DEL ir.model.access: stock_sms.access_sms_template_stock_manager +DEL ir.rule: stock_sms.ir_rule_sms_template_stock_manager (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +sms.template: stock_sms.sms_template_data_stock_delivery (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/uom/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/uom/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..8e93a999de3 --- /dev/null +++ b/openupgrade_scripts/scripts/uom/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + t + + diff --git a/openupgrade_scripts/scripts/uom/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/uom/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..e3031c3a8de --- /dev/null +++ b/openupgrade_scripts/scripts/uom/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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, "uom", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "uom", + ["product_uom_ton"], + ["name"], + ) diff --git a/openupgrade_scripts/scripts/uom/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/uom/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..54ac20e9f22 --- /dev/null +++ b/openupgrade_scripts/scripts/uom/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,45 @@ +---Models in module 'uom'--- +---Fields in module 'uom'--- +---XML records in module 'uom'--- +decimal.precision: uom.decimal_product_uom (noupdate switched) +NEW ir.access: uom.access_uom_uom_manager +NEW ir.access: uom.access_uom_uom_user +NEW ir.actions.act_window: uom.uom_uom_action_list +DEL ir.actions.act_window: uom.product_uom_form_action +DEL ir.model.access: uom.access_uom_uom_manager +DEL ir.model.access: uom.access_uom_uom_user +ir.model.constraint: uom.constraint_uom_uom_factor_gt_zero (changed definition: is now 'False' ('CHECK (relative_factor!=0)')) +NEW ir.ui.view: uom.uom_uom_view_form +NEW ir.ui.view: uom.uom_uom_view_list +DEL ir.ui.view: uom.product_uom_form_view +DEL ir.ui.view: uom.product_uom_tree_view +uom.uom: uom.product_uom_cm (noupdate switched) +uom.uom: uom.product_uom_cubic_foot (noupdate switched) +uom.uom: uom.product_uom_cubic_inch (noupdate switched) +uom.uom: uom.product_uom_cubic_meter (noupdate switched) +uom.uom: uom.product_uom_day (noupdate switched) +uom.uom: uom.product_uom_dozen (noupdate switched) +uom.uom: uom.product_uom_floz (noupdate switched) +uom.uom: uom.product_uom_foot (noupdate switched) +uom.uom: uom.product_uom_gal (noupdate switched) +uom.uom: uom.product_uom_gram (noupdate switched) +uom.uom: uom.product_uom_hour (noupdate switched) +uom.uom: uom.product_uom_inch (noupdate switched) +uom.uom: uom.product_uom_kgm (noupdate switched) +uom.uom: uom.product_uom_km (noupdate switched) +uom.uom: uom.product_uom_kwh (noupdate switched) +uom.uom: uom.product_uom_lb (noupdate switched) +uom.uom: uom.product_uom_litre (noupdate switched) +uom.uom: uom.product_uom_meter (noupdate switched) +uom.uom: uom.product_uom_mile (noupdate switched) +uom.uom: uom.product_uom_milliliter (noupdate switched) +uom.uom: uom.product_uom_millimeter (noupdate switched) +uom.uom: uom.product_uom_minute (noupdate switched) +uom.uom: uom.product_uom_oz (noupdate switched) +uom.uom: uom.product_uom_pack_6 (noupdate switched) +uom.uom: uom.product_uom_qt (noupdate switched) +uom.uom: uom.product_uom_square_foot (noupdate switched) +uom.uom: uom.product_uom_square_meter (noupdate switched) +uom.uom: uom.product_uom_ton (noupdate switched) +uom.uom: uom.product_uom_unit (noupdate switched) +uom.uom: uom.product_uom_yard (noupdate switched) diff --git a/openupgrade_scripts/scripts/uom/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/uom/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..bcba398fe9d --- /dev/null +++ b/openupgrade_scripts/scripts/uom/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,56 @@ +---Models in module 'uom'--- +---Fields in module 'uom'--- +---XML records in module 'uom'--- +decimal.precision: uom.decimal_product_uom (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +NEW ir.access: uom.access_uom_uom_manager +NEW ir.access: uom.access_uom_uom_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +NEW ir.actions.act_window: uom.uom_uom_action_list +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL ir.actions.act_window: uom.product_uom_form_action +# NOTHING TO DO: the record is not noupdate, so the module update removes it +DEL ir.model.access: uom.access_uom_uom_manager +DEL ir.model.access: uom.access_uom_uom_user +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.model.constraint: uom.constraint_uom_uom_factor_gt_zero (changed definition: is now 'False' ('CHECK (relative_factor!=0)')) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites it +NEW ir.ui.view: uom.uom_uom_view_form +NEW ir.ui.view: uom.uom_uom_view_list +# NOTHING TO DO: the record is not noupdate, so the module update creates it +DEL ir.ui.view: uom.product_uom_form_view +DEL ir.ui.view: uom.product_uom_tree_view +# NOTHING TO DO: the record is not noupdate, so the module update removes it +uom.uom: uom.product_uom_cm (noupdate switched) +uom.uom: uom.product_uom_cubic_foot (noupdate switched) +uom.uom: uom.product_uom_cubic_inch (noupdate switched) +uom.uom: uom.product_uom_cubic_meter (noupdate switched) +uom.uom: uom.product_uom_day (noupdate switched) +uom.uom: uom.product_uom_dozen (noupdate switched) +uom.uom: uom.product_uom_floz (noupdate switched) +uom.uom: uom.product_uom_foot (noupdate switched) +uom.uom: uom.product_uom_gal (noupdate switched) +uom.uom: uom.product_uom_gram (noupdate switched) +uom.uom: uom.product_uom_hour (noupdate switched) +uom.uom: uom.product_uom_inch (noupdate switched) +uom.uom: uom.product_uom_kgm (noupdate switched) +uom.uom: uom.product_uom_km (noupdate switched) +uom.uom: uom.product_uom_kwh (noupdate switched) +uom.uom: uom.product_uom_lb (noupdate switched) +uom.uom: uom.product_uom_litre (noupdate switched) +uom.uom: uom.product_uom_meter (noupdate switched) +uom.uom: uom.product_uom_mile (noupdate switched) +uom.uom: uom.product_uom_milliliter (noupdate switched) +uom.uom: uom.product_uom_millimeter (noupdate switched) +uom.uom: uom.product_uom_minute (noupdate switched) +uom.uom: uom.product_uom_oz (noupdate switched) +uom.uom: uom.product_uom_pack_6 (noupdate switched) +uom.uom: uom.product_uom_qt (noupdate switched) +uom.uom: uom.product_uom_square_foot (noupdate switched) +uom.uom: uom.product_uom_square_meter (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same +uom.uom: uom.product_uom_ton (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml +uom.uom: uom.product_uom_unit (noupdate switched) +uom.uom: uom.product_uom_yard (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/utm/20.0.1.2/noupdate_changes.xml b/openupgrade_scripts/scripts/utm/20.0.1.2/noupdate_changes.xml new file mode 100644 index 00000000000..b5a99f5674f --- /dev/null +++ b/openupgrade_scripts/scripts/utm/20.0.1.2/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + Mass Mailing + + diff --git a/openupgrade_scripts/scripts/utm/20.0.1.2/post-migration.py b/openupgrade_scripts/scripts/utm/20.0.1.2/post-migration.py new file mode 100644 index 00000000000..939081f2951 --- /dev/null +++ b/openupgrade_scripts/scripts/utm/20.0.1.2/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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, "utm", "20.0.1.2/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/utm/20.0.1.2/upgrade_analysis.txt b/openupgrade_scripts/scripts/utm/20.0.1.2/upgrade_analysis.txt new file mode 100644 index 00000000000..cb9388ea142 --- /dev/null +++ b/openupgrade_scripts/scripts/utm/20.0.1.2/upgrade_analysis.txt @@ -0,0 +1,55 @@ +---Models in module 'utm'--- +obsolete model utm.source.mixin [abstract] +---Fields in module 'utm'--- +---XML records in module 'utm'--- +NEW ir.access: utm.access_utm_campaign_system +NEW ir.access: utm.access_utm_campaign_user +NEW ir.access: utm.access_utm_medium_system +NEW ir.access: utm.access_utm_medium_user +NEW ir.access: utm.access_utm_source_system +NEW ir.access: utm.access_utm_source_user +NEW ir.access: utm.access_utm_stage_system +NEW ir.access: utm.access_utm_stage_user +NEW ir.access: utm.access_utm_tag_system +NEW ir.access: utm.access_utm_tag_user +DEL ir.model.access: utm.access_utm_campaign_system +DEL ir.model.access: utm.access_utm_campaign_user +DEL ir.model.access: utm.access_utm_medium_system +DEL ir.model.access: utm.access_utm_medium_user +DEL ir.model.access: utm.access_utm_source_system +DEL ir.model.access: utm.access_utm_source_user +DEL ir.model.access: utm.access_utm_stage_system +DEL ir.model.access: utm.access_utm_stage_user +DEL ir.model.access: utm.access_utm_tag_system +DEL ir.model.access: utm.access_utm_tag_user +ir.model.constraint: utm.constraint_utm_campaign_unique_name (changed definition: is now 'False' ('UNIQUE(name)')) +ir.model.constraint: utm.constraint_utm_medium_unique_name (changed definition: is now 'False' ('UNIQUE(name)')) +ir.model.constraint: utm.constraint_utm_source_unique_name (changed definition: is now 'False' ('UNIQUE(name)')) +ir.model.constraint: utm.constraint_utm_tag_name_uniq (changed definition: is now 'False' ('unique (name)')) +utm.medium: utm.utm_medium_direct (noupdate switched) +utm.medium: utm.utm_medium_email (noupdate switched) +NEW utm.medium: utm.utm_medium_messaging +utm.medium: utm.utm_medium_phone (noupdate switched) +NEW utm.medium: utm.utm_medium_social_media +utm.medium: utm.utm_medium_website (noupdate switched) +DEL utm.medium: utm.utm_medium_banner (noupdate) +DEL utm.medium: utm.utm_medium_facebook (noupdate) +DEL utm.medium: utm.utm_medium_google_adwords (noupdate) +DEL utm.medium: utm.utm_medium_linkedin (noupdate) +DEL utm.medium: utm.utm_medium_television (noupdate) +DEL utm.medium: utm.utm_medium_twitter (noupdate) +utm.source: utm.utm_source_craigslist (noupdate switched) +utm.source: utm.utm_source_facebook (noupdate switched) +utm.source: utm.utm_source_glassdoor (noupdate switched) +NEW utm.source: utm.utm_source_google +NEW utm.source: utm.utm_source_instagram +utm.source: utm.utm_source_linkedin (noupdate switched) +NEW utm.source: utm.utm_source_livechat [renamed from crm_livechat module] (noupdate switched) +utm.source: utm.utm_source_mailing (noupdate switched) +utm.source: utm.utm_source_monster (noupdate switched) +utm.source: utm.utm_source_newsletter (noupdate switched) +utm.source: utm.utm_source_referral (noupdate switched) +NEW utm.source: utm.utm_source_survey +utm.source: utm.utm_source_twitter (noupdate switched) +NEW utm.source: utm.utm_source_youtube +DEL utm.source: utm.utm_source_search_engine (noupdate) diff --git a/openupgrade_scripts/scripts/website/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/website/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..757c161f744 --- /dev/null +++ b/openupgrade_scripts/scripts/website/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,17 @@ + + + + + + + True + True + + + + + + + + + diff --git a/openupgrade_scripts/scripts/website/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..f43be8ad3e1 --- /dev/null +++ b/openupgrade_scripts/scripts/website/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/website/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/website/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..ac725baef20 --- /dev/null +++ b/openupgrade_scripts/scripts/website/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,456 @@ +---Models in module 'website'--- +model website (moved to base) +new model website.llms [transient] +new model website.located.mixin [abstract] +new model website.structured_data.mixin [abstract] +new model website.trackable.mixin [abstract] +---Fields in module 'website'--- +website / digest.digest / kpi_website_track_count (boolean): NEW +website / digest.digest / kpi_website_visitor_count (boolean): NEW +website / ir.ui.view / visibility (selection) : now required +website / ir.ui.view / visibility (selection) : selection_keys added: [public], removed: [] +website / res.partner / publish_on (datetime) : NEW +website / res.partner / published_date (datetime) : NEW +website / theme.website.page / breadcrumb_color (char) : NEW +website / theme.website.page / breadcrumb_overlay (boolean) : NEW +website / theme.website.page / breadcrumb_text_color (char) : NEW +website / theme.website.page / breadcrumb_visible (boolean) : NEW hasdefault: default +website / theme.website.page / url (char) : now translatable +website / website / _order : module is now 'base' ('website') +website / website / company_id (many2one) : module is now 'base' ('website') +website / website / cookie_policy_id (many2one) : NEW relation: website.page +website / website / display_name (char) : module is now 'base' ('website') +website / website / domain (char) : module is now 'base' ('website') +website / website / domain_punycode (char) : module is now 'base' ('website') +website / website / header_search_limit (integer) : NEW hasdefault: default +website / website / header_search_order_by (char) : NEW required, hasdefault: default +website / website / header_search_type (char) : NEW required, hasdefault: default +website / website / llms_txt (text) : NEW +website / website / name (char) : module is now 'base' ('website') +website / website / sequence (integer) : module is now 'base' ('website') +website / website / social_discord (char) : DEL +website / website / social_facebook (char) : DEL +website / website / social_github (char) : DEL +website / website / social_instagram (char) : DEL +website / website / social_linkedin (char) : DEL +website / website / social_tiktok (char) : DEL +website / website / social_twitter (char) : DEL +website / website / social_youtube (char) : DEL +website / website / user_id (many2one) : module is now 'base' ('website') +website / website.configurator.feature / icon_class (char) : NEW +website / website.controller.page / publish_on (datetime) : NEW +website / website.controller.page / published_date (datetime) : NEW +website / website.controller.page / visibility (selection) : now required +website / website.menu / manual_url (char) : NEW +website / website.menu / url (char) : not stored anymore +website / website.menu / url (char) : now a function +website / website.page / breadcrumb_color (char) : NEW +website / website.page / breadcrumb_overlay (boolean) : NEW +website / website.page / breadcrumb_text_color (char) : NEW +website / website.page / breadcrumb_visible (boolean) : NEW hasdefault: default +website / website.page / date_publish (datetime) : DEL +website / website.page / name (char) : is now stored +website / website.page / name (char) : not related anymore +website / website.page / name (char) : now a function +website / website.page / name (char) : now translatable +website / website.page / parent_id (many2one) : NEW relation: website.page +website / website.page / publish_on (datetime) : NEW +website / website.page / published_date (datetime) : NEW +website / website.page / url (char) : now translatable +website / website.page / visibility (selection) : now required +website / website.rewrite / redirect_type (selection) : now required +website / website.rewrite / url_from (char) : now required +website / website.snippet.filter / publish_on (datetime) : NEW +website / website.snippet.filter / published_date (datetime) : NEW +website / website.track / _order : _order is now 'visit_datetime DESC, id DESC' ('visit_datetime DESC') +---XML records in module 'website'--- +NEW ir.access: website.access_portal_entry +NEW ir.access: website.access_seo_designer +NEW ir.access: website.access_seo_public_public +NEW ir.access: website.access_theme_ir_asset_group_system +NEW ir.access: website.access_theme_ir_attachment +NEW ir.access: website.access_theme_ir_ui_view +NEW ir.access: website.access_theme_website_menu +NEW ir.access: website.access_theme_website_page +NEW ir.access: website.access_website_configurator_feature_designer +NEW ir.access: website.access_website_custom_blocked_third_party_domains +NEW ir.access: website.access_website_designer +NEW ir.access: website.access_website_dynamic_filter_system +NEW ir.access: website.access_website_ir_asset_designer +NEW ir.access: website.access_website_llms +NEW ir.access: website.access_website_menu_designer +NEW ir.access: website.access_website_menu_public +NEW ir.access: website.access_website_page_designer +NEW ir.access: website.access_website_page_properties_base_designer +NEW ir.access: website.access_website_page_properties_base_employee +NEW ir.access: website.access_website_page_properties_designer +NEW ir.access: website.access_website_page_properties_employee +NEW ir.access: website.access_website_rewrite_designer +NEW ir.access: website.access_website_robots +NEW ir.access: website.access_website_route_designer +NEW ir.access: website.access_website_technical_page +NEW ir.access: website.access_website_track_designer +NEW ir.access: website.access_website_visitor_designer +NEW ir.access: website.website_designer_edit_qweb +NEW ir.access: website.website_designer_view +NEW ir.access: website.website_group_system_edit_all_views +NEW ir.access: website.website_menu +NEW ir.access: website.website_page_controller_rule_designer +NEW ir.access: website.website_page_controller_rule_public +ir.actions.act_window: base.open_module_tree (deleted domain) +ir.actions.act_window: website.action_website_add_features (deleted domain) +ir.actions.act_window: website.theme_install_kanban_action (deleted domain) +ir.actions.act_window: website.visitor_partner_action (deleted domain) +ir.actions.act_window: website.website_visitor_page_action (deleted domain) +NEW ir.asset: website.s_age_verification_popup_001_scss +NEW ir.asset: website.s_animated_cover_000_scss +NEW ir.asset: website.s_avatars_000_scss +NEW ir.asset: website.s_bento_features_000_scss +NEW ir.asset: website.s_bento_grid_000_scss +NEW ir.asset: website.s_bento_grid_avatars_000_scss +NEW ir.asset: website.s_countdown_000_scss +NEW ir.asset: website.s_countdown_001_scss +NEW ir.asset: website.s_icon_list_000_scss +NEW ir.asset: website.s_mega_menu_dropzone_000_scss +NEW ir.asset: website.s_references_tiles_000_scss +NEW ir.asset: website.s_splash_intro_000_scss +NEW ir.asset: website.s_whatsapp_000_scss +NEW ir.asset: website.s_whatsapp_chatbox_xml +DEL ir.asset: website.s_image_gallery_000_xml +DEL ir.asset: website.s_image_gallery_001_xml +NEW ir.attachment: website.landscape_md_1 +NEW ir.attachment: website.landscape_md_2 +NEW ir.attachment: website.landscape_md_3 +NEW ir.attachment: website.landscape_md_4 +NEW ir.attachment: website.landscape_md_5 +NEW ir.attachment: website.landscape_md_6 +NEW ir.attachment: website.landscape_md_7 +NEW ir.attachment: website.landscape_md_8 +NEW ir.attachment: website.landscape_md_9 +NEW ir.attachment: website.landscape_xl_1 +NEW ir.attachment: website.landscape_xl_2 +NEW ir.attachment: website.landscape_xl_3 +NEW ir.attachment: website.portrait_lg_1 +NEW ir.attachment: website.portrait_lg_2 +NEW ir.attachment: website.portrait_lg_3 +NEW ir.attachment: website.s_launch_countdown_default_image +NEW ir.attachment: website.s_newsletter_aside_default_image +NEW ir.attachment: website.s_splash_intro_default_image +NEW ir.attachment: website.set_1_landscape_md_1 +NEW ir.attachment: website.set_1_landscape_md_2 +NEW ir.attachment: website.set_1_landscape_md_3 +NEW ir.attachment: website.set_2_square_md_1 +NEW ir.attachment: website.set_2_square_md_2 +NEW ir.attachment: website.set_2_square_md_3 +NEW ir.attachment: website.set_2_square_md_4 +NEW ir.attachment: website.set_2_square_md_5 +NEW ir.attachment: website.set_2_square_md_6 +NEW ir.attachment: website.set_2_square_md_7 +NEW ir.attachment: website.set_avatars_square_md_1 +NEW ir.attachment: website.set_avatars_square_md_2 +NEW ir.attachment: website.set_avatars_square_md_3 +NEW ir.attachment: website.set_avatars_square_md_4 +NEW ir.attachment: website.set_avatars_square_md_5 +NEW ir.attachment: website.set_avatars_square_md_6 +NEW ir.attachment: website.set_catalog_landscape_lg_1 +NEW ir.attachment: website.set_catalog_landscape_lg_2 +NEW ir.attachment: website.set_catalog_landscape_lg_3 +NEW ir.attachment: website.set_catalog_landscape_lg_4 +NEW ir.attachment: website.set_catalog_portrait_md_1 +NEW ir.attachment: website.set_catalog_square_md_1 +NEW ir.attachment: website.set_catalog_square_md_2 +NEW ir.attachment: website.set_catalog_square_md_3 +NEW ir.attachment: website.set_catalog_square_md_4 +NEW ir.attachment: website.set_catalog_square_md_5 +NEW ir.attachment: website.set_catalog_square_md_6 +NEW ir.attachment: website.set_doers_portrait_lg_1 +NEW ir.attachment: website.set_ui_landscape_xl_1 +NEW ir.attachment: website.ultrawide_lg_1 +NEW ir.attachment: website.ultrawide_lg_2 +NEW ir.attachment: website.ultrawide_lg_3 +NEW ir.attachment: website.ultrawide_lg_4 +NEW ir.attachment: website.ultrawide_lg_5 +NEW ir.attachment: website.ultrawide_lg_6 +NEW ir.cron: website.ir_cron_publish_scheduled_pages +DEL ir.model.access: website.access_seo_designer +DEL ir.model.access: website.access_seo_public_employee +DEL ir.model.access: website.access_seo_public_portal +DEL ir.model.access: website.access_seo_public_public +DEL ir.model.access: website.access_theme_ir_asset_group_system +DEL ir.model.access: website.access_theme_ir_attachment +DEL ir.model.access: website.access_theme_ir_ui_view +DEL ir.model.access: website.access_theme_website_menu +DEL ir.model.access: website.access_theme_website_page +DEL ir.model.access: website.access_website_configurator_feature_designer +DEL ir.model.access: website.access_website_controller_page_designer +DEL ir.model.access: website.access_website_controller_page_public +DEL ir.model.access: website.access_website_custom_blocked_third_party_domains +DEL ir.model.access: website.access_website_designer +DEL ir.model.access: website.access_website_dynamic_filter_public +DEL ir.model.access: website.access_website_dynamic_filter_system +DEL ir.model.access: website.access_website_ir_asset_designer +DEL ir.model.access: website.access_website_ir_ui_view_designer +DEL ir.model.access: website.access_website_ir_ui_view_restricted_editor +DEL ir.model.access: website.access_website_menu_designer +DEL ir.model.access: website.access_website_menu_employee +DEL ir.model.access: website.access_website_menu_portal +DEL ir.model.access: website.access_website_menu_public +DEL ir.model.access: website.access_website_page_designer +DEL ir.model.access: website.access_website_page_properties_base_designer +DEL ir.model.access: website.access_website_page_properties_base_employee +DEL ir.model.access: website.access_website_page_properties_base_portal +DEL ir.model.access: website.access_website_page_properties_base_public +DEL ir.model.access: website.access_website_page_properties_designer +DEL ir.model.access: website.access_website_page_properties_employee +DEL ir.model.access: website.access_website_page_properties_portal +DEL ir.model.access: website.access_website_page_properties_public +DEL ir.model.access: website.access_website_public_employee +DEL ir.model.access: website.access_website_public_portal +DEL ir.model.access: website.access_website_public_public +DEL ir.model.access: website.access_website_rewrite +DEL ir.model.access: website.access_website_rewrite_designer +DEL ir.model.access: website.access_website_robots +DEL ir.model.access: website.access_website_route_designer +DEL ir.model.access: website.access_website_technical_page +DEL ir.model.access: website.access_website_track_designer +DEL ir.model.access: website.access_website_track_system +DEL ir.model.access: website.access_website_visitor_designer +DEL ir.model.access: website.access_website_visitor_system +ir.model.constraint: website.constraint_res_users_login_key (changed definition: is now 'False' ('unique (login, website_id)')) +ir.model.constraint: website.constraint_website_controller_page_unique_name_slugified (changed definition: is now 'False' ('UNIQUE(name_slugified)')) +ir.model.constraint: website.constraint_website_visitor_access_token_unique (changed definition: is now 'False' ('unique(access_token)')) +DEL ir.model.constraint: website.constraint_website_domain_unique [renamed to base module] +DEL ir.rule: website.view_rule_visibility_connected (noupdate) +DEL ir.rule: website.view_rule_visibility_public (noupdate) +DEL ir.rule: website.website_designer_edit_qweb (noupdate) +DEL ir.rule: website.website_designer_view (noupdate) +DEL ir.rule: website.website_group_system_edit_all_views (noupdate) +DEL ir.rule: website.website_menu (noupdate) +DEL ir.rule: website.website_page_controller_rule_public +DEL ir.rule: website.website_page_rule_public (noupdate) +NEW ir.ui.view: website.400_hide_error +NEW ir.ui.view: website.403_hide_error +NEW ir.ui.view: website.415_hide_error +NEW ir.ui.view: website.422_hide_error +NEW ir.ui.view: website.4xx_hide_error +NEW ir.ui.view: website.digest_digest_view_form +NEW ir.ui.view: website.font_links +NEW ir.ui.view: website.footer_cookie_policy_link +NEW ir.ui.view: website.icons_fonts_preload +NEW ir.ui.view: website.new_page_template_about_us_s_company_team_spotlight +NEW ir.ui.view: website.new_page_template_about_us_s_title_split +NEW ir.ui.view: website.new_page_template_contact_us_s_duo_images +NEW ir.ui.view: website.new_page_template_portfolio_s_announcement_scroll +NEW ir.ui.view: website.new_page_template_portfolio_s_projects_grid_minimal +NEW ir.ui.view: website.new_page_template_portfolio_s_timeline_images +NEW ir.ui.view: website.new_page_template_portfolio_s_title +NEW ir.ui.view: website.new_page_template_portfolio_s_title_split +NEW ir.ui.view: website.new_page_template_s_announcement_scroll +NEW ir.ui.view: website.new_page_template_s_company_team_spotlight +NEW ir.ui.view: website.new_page_template_s_duo_images +NEW ir.ui.view: website.new_page_template_s_projects_grid_minimal +NEW ir.ui.view: website.new_page_template_s_timeline_images +NEW ir.ui.view: website.new_page_template_s_title +NEW ir.ui.view: website.new_page_template_s_title_split +NEW ir.ui.view: website.new_page_template_services_s_title_split +NEW ir.ui.view: website.new_page_template_utility_0_s_title_split +NEW ir.ui.view: website.new_page_template_utility_1_s_title_split +NEW ir.ui.view: website.new_page_template_utility_s_title_split +NEW ir.ui.view: website.option_header_disclaimer +NEW ir.ui.view: website.placeholder_header_disclaimer +NEW ir.ui.view: website.s_about_bold +NEW ir.ui.view: website.s_achievements_list +NEW ir.ui.view: website.s_achievements_list_item +NEW ir.ui.view: website.s_age_verification_popup +NEW ir.ui.view: website.s_animated_cover +NEW ir.ui.view: website.s_animated_number +NEW ir.ui.view: website.s_avatars +NEW ir.ui.view: website.s_awards_list +NEW ir.ui.view: website.s_banner_contained +NEW ir.ui.view: website.s_banner_glow +NEW ir.ui.view: website.s_bento_features +NEW ir.ui.view: website.s_bento_grid_avatars +NEW ir.ui.view: website.s_chart_text +NEW ir.ui.view: website.s_countdown_big_numbers_template +NEW ir.ui.view: website.s_countdown_bordered_text_template +NEW ir.ui.view: website.s_countdown_circle_template +NEW ir.ui.view: website.s_countdown_dominoes_template +NEW ir.ui.view: website.s_countdown_text_template +NEW ir.ui.view: website.s_countdown_wrapped_numbers_template +NEW ir.ui.view: website.s_cta_centered +NEW ir.ui.view: website.s_duo_images +NEW ir.ui.view: website.s_dynamic_snippet_carousel_preview_data +NEW ir.ui.view: website.s_faq_collapse_centered +NEW ir.ui.view: website.s_features_cards +NEW ir.ui.view: website.s_features_image +NEW ir.ui.view: website.s_hero_about +NEW ir.ui.view: website.s_hero_maintenance +NEW ir.ui.view: website.s_hero_minimalist +NEW ir.ui.view: website.s_hours_and_place +NEW ir.ui.view: website.s_icon +NEW ir.ui.view: website.s_icon_list +NEW ir.ui.view: website.s_image_features +NEW ir.ui.view: website.s_image_text_full +NEW ir.ui.view: website.s_intro_spotlight +NEW ir.ui.view: website.s_launch_countdown +NEW ir.ui.view: website.s_manifesto +NEW ir.ui.view: website.s_masonry_block_quad_template +NEW ir.ui.view: website.s_mega_menu_dropzone +NEW ir.ui.view: website.s_numbers_inline +NEW ir.ui.view: website.s_numbers_lite +NEW ir.ui.view: website.s_opening_hours_alt +NEW ir.ui.view: website.s_projects_grid +NEW ir.ui.view: website.s_projects_grid_minimal +NEW ir.ui.view: website.s_projects_list +NEW ir.ui.view: website.s_references_columns +NEW ir.ui.view: website.s_references_lite +NEW ir.ui.view: website.s_references_tiles +NEW ir.ui.view: website.s_services_grid +NEW ir.ui.view: website.s_services_pack +NEW ir.ui.view: website.s_showcase_square +NEW ir.ui.view: website.s_splash_intro +NEW ir.ui.view: website.s_text_block_split +NEW ir.ui.view: website.s_text_bold +NEW ir.ui.view: website.s_text_chart +NEW ir.ui.view: website.s_text_image_full +NEW ir.ui.view: website.s_title_split +NEW ir.ui.view: website.s_website_form_bold +NEW ir.ui.view: website.s_whatsapp +NEW ir.ui.view: website.search_image_item_view +NEW ir.ui.view: website.search_result_items +NEW ir.ui.view: website.search_tags_highlight +NEW ir.ui.view: website.theme_colors_preview +NEW ir.ui.view: website.unpublished_badge +NEW ir.ui.view: website.view_edit_llms +DEL ir.ui.view: website.header_search_box_input +DEL ir.ui.view: website.new_page_template_about_full_1_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_about_full_1_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_about_full_s_image_text +DEL ir.ui.view: website.new_page_template_about_full_s_numbers +DEL ir.ui.view: website.new_page_template_about_full_s_text_image +DEL ir.ui.view: website.new_page_template_about_map_s_text_block_2nd +DEL ir.ui.view: website.new_page_template_about_map_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_about_map_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_about_mini_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_about_personal_s_image_text +DEL ir.ui.view: website.new_page_template_about_personal_s_numbers +DEL ir.ui.view: website.new_page_template_about_personal_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_about_s_banner +DEL ir.ui.view: website.new_page_template_about_s_company_team +DEL ir.ui.view: website.new_page_template_about_s_cover +DEL ir.ui.view: website.new_page_template_about_s_features +DEL ir.ui.view: website.new_page_template_about_s_image_text +DEL ir.ui.view: website.new_page_template_about_s_numbers +DEL ir.ui.view: website.new_page_template_about_s_picture +DEL ir.ui.view: website.new_page_template_about_s_text_block_2nd +DEL ir.ui.view: website.new_page_template_about_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_about_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_about_s_text_cover +DEL ir.ui.view: website.new_page_template_about_s_text_image +DEL ir.ui.view: website.new_page_template_about_s_three_columns +DEL ir.ui.view: website.new_page_template_about_timeline_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_basic_2_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_basic_s_picture +DEL ir.ui.view: website.new_page_template_basic_s_quotes_carousel +DEL ir.ui.view: website.new_page_template_basic_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_basic_s_text_cover +DEL ir.ui.view: website.new_page_template_gallery_s_banner +DEL ir.ui.view: website.new_page_template_gallery_s_image_text_2nd +DEL ir.ui.view: website.new_page_template_gallery_s_text_block_2nd +DEL ir.ui.view: website.new_page_template_gallery_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_landing_0_s_cover +DEL ir.ui.view: website.new_page_template_landing_1_s_banner +DEL ir.ui.view: website.new_page_template_landing_2_s_call_to_action +DEL ir.ui.view: website.new_page_template_landing_2_s_cover +DEL ir.ui.view: website.new_page_template_landing_2_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_landing_2_s_three_columns +DEL ir.ui.view: website.new_page_template_landing_3_s_call_to_action +DEL ir.ui.view: website.new_page_template_landing_3_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_landing_3_s_three_columns +DEL ir.ui.view: website.new_page_template_landing_4_s_cover +DEL ir.ui.view: website.new_page_template_landing_4_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_landing_5_s_banner +DEL ir.ui.view: website.new_page_template_landing_s_banner +DEL ir.ui.view: website.new_page_template_landing_s_call_to_action +DEL ir.ui.view: website.new_page_template_landing_s_color_blocks_2 +DEL ir.ui.view: website.new_page_template_landing_s_cover +DEL ir.ui.view: website.new_page_template_landing_s_features +DEL ir.ui.view: website.new_page_template_landing_s_showcase +DEL ir.ui.view: website.new_page_template_landing_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_landing_s_text_cover +DEL ir.ui.view: website.new_page_template_landing_s_text_image +DEL ir.ui.view: website.new_page_template_landing_s_three_columns +DEL ir.ui.view: website.new_page_template_pricing_5_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_pricing_s_image_text_2nd +DEL ir.ui.view: website.new_page_template_pricing_s_text_block_2nd +DEL ir.ui.view: website.new_page_template_pricing_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_pricing_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_s_banner +DEL ir.ui.view: website.new_page_template_s_call_to_action +DEL ir.ui.view: website.new_page_template_s_carousel +DEL ir.ui.view: website.new_page_template_s_color_blocks_2 +DEL ir.ui.view: website.new_page_template_s_company_team +DEL ir.ui.view: website.new_page_template_s_cover +DEL ir.ui.view: website.new_page_template_s_features +DEL ir.ui.view: website.new_page_template_s_image_gallery +DEL ir.ui.view: website.new_page_template_s_image_text +DEL ir.ui.view: website.new_page_template_s_image_text_2nd +DEL ir.ui.view: website.new_page_template_s_images_wall +DEL ir.ui.view: website.new_page_template_s_media_list +DEL ir.ui.view: website.new_page_template_s_numbers +DEL ir.ui.view: website.new_page_template_s_parallax +DEL ir.ui.view: website.new_page_template_s_picture +DEL ir.ui.view: website.new_page_template_s_quotes_carousel +DEL ir.ui.view: website.new_page_template_s_references +DEL ir.ui.view: website.new_page_template_s_showcase +DEL ir.ui.view: website.new_page_template_s_text_block_2nd +DEL ir.ui.view: website.new_page_template_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_s_text_cover +DEL ir.ui.view: website.new_page_template_s_text_image +DEL ir.ui.view: website.new_page_template_s_three_columns +DEL ir.ui.view: website.new_page_template_services_0_s_three_columns +DEL ir.ui.view: website.new_page_template_services_3_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_services_s_image_text +DEL ir.ui.view: website.new_page_template_services_s_image_text_2nd +DEL ir.ui.view: website.new_page_template_services_s_parallax +DEL ir.ui.view: website.new_page_template_services_s_text_block_2nd +DEL ir.ui.view: website.new_page_template_services_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_services_s_text_block_h2 +DEL ir.ui.view: website.new_page_template_services_s_text_cover +DEL ir.ui.view: website.new_page_template_services_s_text_image +DEL ir.ui.view: website.new_page_template_services_s_three_columns +DEL ir.ui.view: website.new_page_template_team_0_s_three_columns +DEL ir.ui.view: website.new_page_template_team_2_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_team_s_image_gallery +DEL ir.ui.view: website.new_page_template_team_s_image_text +DEL ir.ui.view: website.new_page_template_team_s_image_text_2nd +DEL ir.ui.view: website.new_page_template_team_s_images_wall +DEL ir.ui.view: website.new_page_template_team_s_media_list +DEL ir.ui.view: website.new_page_template_team_s_picture +DEL ir.ui.view: website.new_page_template_team_s_text_block_h1 +DEL ir.ui.view: website.new_page_template_team_s_text_image +DEL ir.ui.view: website.new_page_template_team_s_three_columns +DEL ir.ui.view: website.one_hybrid +DEL ir.ui.view: website.s_call_to_action_about +DEL ir.ui.view: website.s_call_to_action_digital +DEL ir.ui.view: website.s_call_to_action_menu +DEL ir.ui.view: website.s_image_text_2nd +DEL ir.ui.view: website.s_picture_only +DEL ir.ui.view: website.s_text_block_2nd +DEL ir.ui.view: website.s_text_block_h1 +DEL ir.ui.view: website.s_text_block_h2 +DEL ir.ui.view: website.s_text_block_h2_contact +DEL ir.ui.view: website.s_three_columns_2nd +DEL ir.ui.view: website.s_three_columns_menu +DEL website: website.default_website [renamed to base module] (noupdate) +DEL website.configurator.feature: website.feature_module_forum +DEL website.configurator.feature: website.feature_module_stores_locator +DEL website.configurator.feature: website.feature_module_success_stories +DEL website.configurator.feature: website.feature_page_privacy_policy +website.menu: website.main_menu (noupdate switched) +website.menu: website.menu_home (noupdate switched) +DEL website.menu: website.menu_contactus (noupdate) +website.page: website.contactus_page (noupdate switched) +website.page: website.homepage_page (noupdate switched) +NEW website.page: website.privacy_policy_page diff --git a/openupgrade_scripts/scripts/website_blog/20.0.1.1/noupdate_changes.xml b/openupgrade_scripts/scripts/website_blog/20.0.1.1/noupdate_changes.xml new file mode 100644 index 00000000000..c8a262e38fb --- /dev/null +++ b/openupgrade_scripts/scripts/website_blog/20.0.1.1/noupdate_changes.xml @@ -0,0 +1,14 @@ + + + + {"background-image": "url('/website_blog/static/src/img/cover_6.webp')", "resize_class": "o_record_has_cover o_half_screen_height", "opacity": "0.4", "background_color_class": "o_cc5"} + + + diff --git a/openupgrade_scripts/scripts/website_blog/20.0.1.1/post-migration.py b/openupgrade_scripts/scripts/website_blog/20.0.1.1/post-migration.py new file mode 100644 index 00000000000..22dc76ae81e --- /dev/null +++ b/openupgrade_scripts/scripts/website_blog/20.0.1.1/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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_blog", "20.0.1.1/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/website_blog/20.0.1.1/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_blog/20.0.1.1/upgrade_analysis.txt new file mode 100644 index 00000000000..8a42aa87228 --- /dev/null +++ b/openupgrade_scripts/scripts/website_blog/20.0.1.1/upgrade_analysis.txt @@ -0,0 +1,97 @@ +---Models in module 'website_blog'--- +---Fields in module 'website_blog'--- +website_blog / blog.blog / website_message_ids (one2many): DEL relation: mail.message +website_blog / blog.post / breadcrumb_visible (boolean) : NEW hasdefault: default +website_blog / blog.post / post_date (datetime) : DEL +website_blog / blog.post / publish_on (datetime) : NEW +website_blog / blog.post / recommended_next_post_id (many2one): NEW relation: blog.post +website_blog / blog.post / website_message_ids (one2many): DEL relation: mail.message +website_blog / res.partner / blog_post_ids (one2many) : NEW relation: blog.post +website_blog / website.track / blog_post_id (many2one) : NEW relation: blog.post +---XML records in module 'website_blog'--- +blog.blog: website_blog.blog_blog_1 (noupdate switched) +NEW ir.access: website_blog.blog_blog_employee +NEW ir.access: website_blog.blog_blog_manager +NEW ir.access: website_blog.blog_post_employee +NEW ir.access: website_blog.blog_post_manager +NEW ir.access: website_blog.blog_tag_category_manager +NEW ir.access: website_blog.blog_tag_category_public +NEW ir.access: website_blog.blog_tag_manager +NEW ir.access: website_blog.blog_tag_public +NEW ir.access: website_blog.website_blog_post_public +NEW ir.access: website_blog.website_blog_public +NEW ir.actions.act_window: website_blog.website_blog_visitor_blog_post_action +DEL ir.model.access: website_blog.blog_blog +DEL ir.model.access: website_blog.blog_blog_employee +DEL ir.model.access: website_blog.blog_blog_portal +DEL ir.model.access: website_blog.blog_blog_public +DEL ir.model.access: website_blog.blog_post +DEL ir.model.access: website_blog.blog_post_employee +DEL ir.model.access: website_blog.blog_post_portal +DEL ir.model.access: website_blog.blog_post_public +DEL ir.model.access: website_blog.blog_tag_category +DEL ir.model.access: website_blog.blog_tag_category_employee +DEL ir.model.access: website_blog.blog_tag_category_portal +DEL ir.model.access: website_blog.blog_tag_category_public +DEL ir.model.access: website_blog.blog_tag_edition +DEL ir.model.access: website_blog.blog_tag_employee +DEL ir.model.access: website_blog.blog_tag_portal +DEL ir.model.access: website_blog.blog_tag_public +ir.model.constraint: website_blog.constraint_blog_tag_category_name_uniq (changed definition: is now 'False' ('unique (name)')) +ir.model.constraint: website_blog.constraint_blog_tag_name_uniq (changed definition: is now 'False' ('unique (name)')) +DEL ir.rule: website_blog.website_blog_post_public (noupdate) +DEL ir.rule: website_blog.website_blog_public (noupdate) +NEW ir.ui.view: website_blog.blog_post_card +NEW ir.ui.view: website_blog.blog_post_comment_count +NEW ir.ui.view: website_blog.blog_post_content_footer_archive +NEW ir.ui.view: website_blog.blog_post_content_footer_share_links +NEW ir.ui.view: website_blog.blog_post_content_mobile_toc +NEW ir.ui.view: website_blog.blog_post_list_card +NEW ir.ui.view: website_blog.blog_post_minimal_list_card +NEW ir.ui.view: website_blog.blog_post_next_compact +NEW ir.ui.view: website_blog.blog_post_next_full_cover +NEW ir.ui.view: website_blog.blog_post_regular_cover_share_links +NEW ir.ui.view: website_blog.blog_post_split_cover_share_links +NEW ir.ui.view: website_blog.blog_post_split_sticky_card +ir.ui.view: website_blog.blog_post_template_new_post (noupdate switched) +NEW ir.ui.view: website_blog.opt_blog_bordered_grid_view +NEW ir.ui.view: website_blog.opt_blog_compact_list_view +NEW ir.ui.view: website_blog.opt_blog_fullwidth +NEW ir.ui.view: website_blog.opt_blog_grid_columns_2 +NEW ir.ui.view: website_blog.opt_blog_grid_columns_3 +NEW ir.ui.view: website_blog.opt_blog_grid_columns_4 +NEW ir.ui.view: website_blog.opt_blog_large_list_view +NEW ir.ui.view: website_blog.opt_blog_page_title +NEW ir.ui.view: website_blog.opt_blog_post_footer_share_links_display +NEW ir.ui.view: website_blog.opt_blog_post_footer_tags_display +NEW ir.ui.view: website_blog.opt_blog_post_full_container +NEW ir.ui.view: website_blog.opt_blog_post_full_width_cover +NEW ir.ui.view: website_blog.opt_blog_post_header_author_avatar_display +NEW ir.ui.view: website_blog.opt_blog_post_header_share_links_display +NEW ir.ui.view: website_blog.opt_blog_post_header_tags_display +NEW ir.ui.view: website_blog.opt_blog_post_large_container +NEW ir.ui.view: website_blog.opt_blog_post_split_cover +NEW ir.ui.view: website_blog.opt_blog_post_toc_display +NEW ir.ui.view: website_blog.opt_blog_promoted_post +NEW ir.ui.view: website_blog.opt_blog_simple_list_view +NEW ir.ui.view: website_blog.opt_blog_split_grid_view +NEW ir.ui.view: website_blog.opt_posts_loop_show_date +NEW ir.ui.view: website_blog.opt_posts_loop_show_filter +NEW ir.ui.view: website_blog.opt_posts_loop_show_tags +NEW ir.ui.view: website_blog.opt_sidebar_blog_index_about_us +NEW ir.ui.view: website_blog.post_published_info +NEW ir.ui.view: website_blog.post_tags +NEW ir.ui.view: website_blog.post_unpublished_badge +NEW ir.ui.view: website_blog.robots +NEW ir.ui.view: website_blog.s_blog_posts_carousel +NEW ir.ui.view: website_blog.s_blog_posts_carousel_preview_card +NEW ir.ui.view: website_blog.s_dynamic_snippet_blog_posts_carousel_preview_data +NEW ir.ui.view: website_blog.website_blog_visitor_page_view_search +NEW ir.ui.view: website_blog.website_blog_visitor_page_view_tree +NEW ir.ui.view: website_blog.website_blog_visitor_track_view_tree +NEW ir.ui.view: website_blog.website_blog_visitor_view_form +NEW ir.ui.view: website_blog.website_blog_visitor_view_tree +mail.message.subtype: website_blog.mt_blog_blog_published (noupdate switched) +NEW res.groups: website_blog.group_website_blog_manager +NEW res.groups.privilege: website_blog.res_groups_privilege_blog +website.menu: website_blog.menu_blog (noupdate switched) diff --git a/openupgrade_scripts/scripts/website_event_track/20.0.1.3/noupdate_changes.xml b/openupgrade_scripts/scripts/website_event_track/20.0.1.3/noupdate_changes.xml new file mode 100644 index 00000000000..eb4e1b2e83c --- /dev/null +++ b/openupgrade_scripts/scripts/website_event_track/20.0.1.3/noupdate_changes.xml @@ -0,0 +1,262 @@ + + + + mail.mail_notification_light + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ Your Event Track +
+ +
+ + + +
+
+
+
+ + + + + + + +
+
+ Hello, +

+ You recently showed interest for the talk + OpenWood Collection Online Reveal + OpenWood Collection Online Reveal. +
+
+
+ + + + + + + +
+ Add this talk to your calendar + + + iCal + + + + Outlook + + + + Google + +
+
+
+
+
+ See you soon,
+ + --
+ YourCompany +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + +
May 4, 20217:00 AM + - 5:00 PM +
+
FromMay 4, 2021 + - 7:00 AM + To + May 6, 2021 + - 5:00 PM +
+
+ + Europe/Brussels + +
+
+ + + + + + + +
Teksa SpA
+
+ +
Puerto Madero 9710
+ + + +
Of A15, Santiago (RM)
+ + +
+ Pudahuel, + + C1, + + + 98450 + + +
+ +
Argentina
+ + +
+
+
+
Note: The start and end times of the talk were not specified when the email was sent. The times indicated in this message correspond to those of the event. +
+ +
+
+
+ + +
+ Questions about this talk? +
Please contact the organizer:
+ +
+
+
+ +
+
+ +
+ Get the best mobile experience. + Install our mobile app +
+
+ +
+
+ + + + + +
+ +
+
+
+
+ + + + +
+ Sent by YourCompany +
+ Discover all our events. +
+
+
+
+
+
diff --git a/openupgrade_scripts/scripts/website_event_track/20.0.1.3/post-migration.py b/openupgrade_scripts/scripts/website_event_track/20.0.1.3/post-migration.py new file mode 100644 index 00000000000..01a5a332491 --- /dev/null +++ b/openupgrade_scripts/scripts/website_event_track/20.0.1.3/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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_event_track", "20.0.1.3/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "website_event_track", + ["mail_template_data_track_reminder"], + ["body_html"], + ) diff --git a/openupgrade_scripts/scripts/website_event_track/20.0.1.3/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_event_track/20.0.1.3/upgrade_analysis.txt new file mode 100644 index 00000000000..04692ada0d4 --- /dev/null +++ b/openupgrade_scripts/scripts/website_event_track/20.0.1.3/upgrade_analysis.txt @@ -0,0 +1,65 @@ +---Models in module 'website_event_track'--- +---Fields in module 'website_event_track'--- +website_event_track / event.event / location_display_background (binary): NEW attachment: True +website_event_track / event.event / location_display_upcoming_track_count (selection): NEW required, selection_keys: ['2', '3', '4', '5'], hasdefault: default +website_event_track / event.track / publish_on (datetime) : NEW +website_event_track / event.track / published_date (datetime) : NEW +website_event_track / event.track / website_message_ids (one2many): DEL relation: mail.message +---XML records in module 'website_event_track'--- +event.track.stage: website_event_track.event_track_stage0 (noupdate switched) +event.track.stage: website_event_track.event_track_stage1 (noupdate switched) +event.track.stage: website_event_track.event_track_stage2 (noupdate switched) +event.track.stage: website_event_track.event_track_stage3 (noupdate switched) +event.track.stage: website_event_track.event_track_stage4 (noupdate switched) +event.track.stage: website_event_track.event_track_stage5 (noupdate switched) +NEW ir.access: website_event_track.access_event_track_employee +NEW ir.access: website_event_track.access_event_track_location_manager +NEW ir.access: website_event_track.access_event_track_location_user +NEW ir.access: website_event_track.access_event_track_manager +NEW ir.access: website_event_track.access_event_track_stage_manager +NEW ir.access: website_event_track.access_event_track_stage_public +NEW ir.access: website_event_track.access_event_track_tag_category_user +NEW ir.access: website_event_track.access_event_track_tag_employee +NEW ir.access: website_event_track.access_event_track_tag_manager +NEW ir.access: website_event_track.access_event_track_tag_user +NEW ir.access: website_event_track.access_event_track_user +NEW ir.access: website_event_track.access_event_track_visitor_manager +NEW ir.access: website_event_track.event_track_public +NEW ir.access: website_event_track.ir_rule_event_track_tag_public +ir.actions.act_window: website_event_track.event_track_action_from_visitor (deleted domain) +ir.actions.act_window: website_event_track.website_visitor_action_from_track (deleted domain) +DEL ir.asset: website_event_track.s_searchbar_000_xml +DEL ir.model.access: website_event_track.access_event_track_employee +DEL ir.model.access: website_event_track.access_event_track_location_manager +DEL ir.model.access: website_event_track.access_event_track_location_user +DEL ir.model.access: website_event_track.access_event_track_manager +DEL ir.model.access: website_event_track.access_event_track_portal +DEL ir.model.access: website_event_track.access_event_track_public +DEL ir.model.access: website_event_track.access_event_track_stage_employee +DEL ir.model.access: website_event_track.access_event_track_stage_manager +DEL ir.model.access: website_event_track.access_event_track_stage_portal +DEL ir.model.access: website_event_track.access_event_track_stage_public +DEL ir.model.access: website_event_track.access_event_track_tag_category_user +DEL ir.model.access: website_event_track.access_event_track_tag_employee +DEL ir.model.access: website_event_track.access_event_track_tag_manager +DEL ir.model.access: website_event_track.access_event_track_tag_portal +DEL ir.model.access: website_event_track.access_event_track_tag_public +DEL ir.model.access: website_event_track.access_event_track_tag_user +DEL ir.model.access: website_event_track.access_event_track_user +DEL ir.model.access: website_event_track.access_event_track_visitor +DEL ir.model.access: website_event_track.access_event_track_visitor_manager +ir.model.constraint: website_event_track.constraint_event_track_tag_name_uniq (changed definition: is now 'False' ('unique (name)')) +DEL ir.rule: website_event_track.event_track_public (noupdate) +DEL ir.rule: website_event_track.ir_rule_event_track_tag_public (noupdate) +NEW ir.ui.view: website_event_track.event_track_location_display +NEW ir.ui.view: website_event_track.event_track_location_display_content +NEW ir.ui.view: website_event_track.event_track_location_display_empty_state +NEW ir.ui.view: website_event_track.event_track_location_display_no_cookies_bar +NEW ir.ui.view: website_event_track.event_track_location_display_speaker +NEW ir.ui.view: website_event_track.event_track_location_display_track +NEW ir.ui.view: website_event_track.website_event_track_favorite_submenu +mail.message.subtype: website_event_track.mt_event_track (noupdate switched) +mail.message.subtype: website_event_track.mt_track_blocked (noupdate switched) +mail.message.subtype: website_event_track.mt_track_ready (noupdate switched) +mail.template: website_event_track.mail_template_data_track_confirmation (noupdate switched) +mail.template: website_event_track.mail_template_data_track_reminder (noupdate switched) diff --git a/openupgrade_scripts/scripts/website_forum/20.0.1.2/noupdate_changes.xml b/openupgrade_scripts/scripts/website_forum/20.0.1.2/noupdate_changes.xml new file mode 100644 index 00000000000..e882423cc21 --- /dev/null +++ b/openupgrade_scripts/scripts/website_forum/20.0.1.2/noupdate_changes.xml @@ -0,0 +1,118 @@ + + + + + + + +
+ +
+ +
+ +
+ + +
+
+ + + + + + + +
+ + +
+
+ + + Answers +
+
+
+ + +
+
+ +
+
+
+
+
+
+
+ + + + + + + + + + + + + + +
diff --git a/openupgrade_scripts/scripts/website_forum/20.0.1.2/post-migration.py b/openupgrade_scripts/scripts/website_forum/20.0.1.2/post-migration.py new file mode 100644 index 00000000000..73becc5137f --- /dev/null +++ b/openupgrade_scripts/scripts/website_forum/20.0.1.2/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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_forum", "20.0.1.2/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/website_forum/20.0.1.2/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_forum/20.0.1.2/upgrade_analysis.txt new file mode 100644 index 00000000000..7c65ea649b3 --- /dev/null +++ b/openupgrade_scripts/scripts/website_forum/20.0.1.2/upgrade_analysis.txt @@ -0,0 +1,218 @@ +---Models in module 'website_forum'--- +new model forum.post.comment +---Fields in module 'website_forum'--- +website_forum / forum.forum / website_message_ids (one2many): DEL relation: mail.message +website_forum / forum.post / comment_ids (one2many) : NEW relation: forum.post.comment +website_forum / forum.post / follower_ids (many2many) : NEW relation: res.partner +website_forum / forum.post / message_follower_ids (one2many): DEL relation: mail.followers +website_forum / forum.post / message_ids (one2many) : DEL relation: mail.message +website_forum / forum.post / rating_ids (one2many) : DEL relation: rating.rating +website_forum / forum.post / website_message_ids (one2many): DEL relation: mail.message +website_forum / forum.post / write_date_content (datetime) : NEW +website_forum / forum.post.comment / body (html) : NEW +website_forum / forum.post.comment / post_id (many2one) : NEW relation: forum.post, required +website_forum / forum.tag / follower_ids (many2many) : NEW relation: res.partner +website_forum / forum.tag / message_follower_ids (one2many): DEL relation: mail.followers +website_forum / forum.tag / message_ids (one2many) : DEL relation: mail.message +website_forum / forum.tag / rating_ids (one2many) : DEL relation: rating.rating +website_forum / forum.tag / website_message_ids (one2many): DEL relation: mail.message +---XML records in module 'website_forum'--- +forum.forum: website_forum.forum_help (noupdate switched) +forum.post.reason: website_forum.reason_1 (noupdate switched) +forum.post.reason: website_forum.reason_11 (noupdate switched) +forum.post.reason: website_forum.reason_12 (noupdate switched) +forum.post.reason: website_forum.reason_13 (noupdate switched) +forum.post.reason: website_forum.reason_14 (noupdate switched) +forum.post.reason: website_forum.reason_15 (noupdate switched) +forum.post.reason: website_forum.reason_2 (noupdate switched) +forum.post.reason: website_forum.reason_3 (noupdate switched) +forum.post.reason: website_forum.reason_4 (noupdate switched) +forum.post.reason: website_forum.reason_6 (noupdate switched) +forum.post.reason: website_forum.reason_7 (noupdate switched) +forum.post.reason: website_forum.reason_8 (noupdate switched) +forum.post.reason: website_forum.reason_9 (noupdate switched) +gamification.badge: website_forum.badge_23 (noupdate switched) +gamification.badge: website_forum.badge_25 (noupdate switched) +gamification.badge: website_forum.badge_26 (noupdate switched) +gamification.badge: website_forum.badge_31 (noupdate switched) +gamification.badge: website_forum.badge_32 (noupdate switched) +gamification.badge: website_forum.badge_5 (noupdate switched) +gamification.badge: website_forum.badge_6 (noupdate switched) +gamification.badge: website_forum.badge_7 (noupdate switched) +gamification.badge: website_forum.badge_a_1 (noupdate switched) +gamification.badge: website_forum.badge_a_2 (noupdate switched) +gamification.badge: website_forum.badge_a_3 (noupdate switched) +gamification.badge: website_forum.badge_a_4 (noupdate switched) +gamification.badge: website_forum.badge_a_5 (noupdate switched) +gamification.badge: website_forum.badge_a_6 (noupdate switched) +gamification.badge: website_forum.badge_a_8 (noupdate switched) +gamification.badge: website_forum.badge_p_1 (noupdate switched) +gamification.badge: website_forum.badge_p_2 (noupdate switched) +gamification.badge: website_forum.badge_p_4 (noupdate switched) +gamification.badge: website_forum.badge_q_1 (noupdate switched) +gamification.badge: website_forum.badge_q_10 (noupdate switched) +gamification.badge: website_forum.badge_q_2 (noupdate switched) +gamification.badge: website_forum.badge_q_3 (noupdate switched) +gamification.badge: website_forum.badge_q_4 (noupdate switched) +gamification.badge: website_forum.badge_q_5 (noupdate switched) +gamification.badge: website_forum.badge_q_6 (noupdate switched) +gamification.badge: website_forum.badge_q_7 (noupdate switched) +gamification.badge: website_forum.badge_q_8 (noupdate switched) +gamification.badge: website_forum.badge_q_9 (noupdate switched) +gamification.challenge: website_forum.challenge_chief_commentator (noupdate switched) +gamification.challenge: website_forum.challenge_commentator (noupdate switched) +gamification.challenge: website_forum.challenge_configure_profile (noupdate switched) +gamification.challenge: website_forum.challenge_critic (noupdate switched) +gamification.challenge: website_forum.challenge_disciplined (noupdate switched) +gamification.challenge: website_forum.challenge_editor (noupdate switched) +gamification.challenge: website_forum.challenge_enlightened (noupdate switched) +gamification.challenge: website_forum.challenge_famous_question (noupdate switched) +gamification.challenge: website_forum.challenge_favorite_question_1 (noupdate switched) +gamification.challenge: website_forum.challenge_favorite_question_5 (noupdate switched) +gamification.challenge: website_forum.challenge_good_answer (noupdate switched) +gamification.challenge: website_forum.challenge_good_question (noupdate switched) +gamification.challenge: website_forum.challenge_great_answer (noupdate switched) +gamification.challenge: website_forum.challenge_great_question (noupdate switched) +gamification.challenge: website_forum.challenge_guru (noupdate switched) +gamification.challenge: website_forum.challenge_nice_answer (noupdate switched) +gamification.challenge: website_forum.challenge_nice_question (noupdate switched) +gamification.challenge: website_forum.challenge_notable_question (noupdate switched) +gamification.challenge: website_forum.challenge_peer_pressure (noupdate switched) +gamification.challenge: website_forum.challenge_popular_question (noupdate switched) +gamification.challenge: website_forum.challenge_pundit (noupdate switched) +gamification.challenge: website_forum.challenge_scholar (noupdate switched) +gamification.challenge: website_forum.challenge_self_learner (noupdate switched) +gamification.challenge: website_forum.challenge_stellar_question_25 (noupdate switched) +gamification.challenge: website_forum.challenge_student (noupdate switched) +gamification.challenge: website_forum.challenge_supporter (noupdate switched) +gamification.challenge: website_forum.challenge_taxonomist (noupdate switched) +gamification.challenge: website_forum.challenge_teacher (noupdate switched) +gamification.challenge.line: website_forum.line_chief_commentator (noupdate switched) +gamification.challenge.line: website_forum.line_commentator (noupdate switched) +gamification.challenge.line: website_forum.line_configure_profile (noupdate switched) +gamification.challenge.line: website_forum.line_critic (noupdate switched) +gamification.challenge.line: website_forum.line_disciplined (noupdate switched) +gamification.challenge.line: website_forum.line_editor (noupdate switched) +gamification.challenge.line: website_forum.line_enlightened (noupdate switched) +gamification.challenge.line: website_forum.line_famous_question (noupdate switched) +gamification.challenge.line: website_forum.line_favorite_question_1 (noupdate switched) +gamification.challenge.line: website_forum.line_favorite_question_5 (noupdate switched) +gamification.challenge.line: website_forum.line_good_answer (noupdate switched) +gamification.challenge.line: website_forum.line_good_question (noupdate switched) +gamification.challenge.line: website_forum.line_great_answer (noupdate switched) +gamification.challenge.line: website_forum.line_great_question (noupdate switched) +gamification.challenge.line: website_forum.line_guru (noupdate switched) +gamification.challenge.line: website_forum.line_nice_answer (noupdate switched) +gamification.challenge.line: website_forum.line_nice_question (noupdate switched) +gamification.challenge.line: website_forum.line_notable_question (noupdate switched) +gamification.challenge.line: website_forum.line_peer_pressure (noupdate switched) +gamification.challenge.line: website_forum.line_popular_question (noupdate switched) +gamification.challenge.line: website_forum.line_pundit (noupdate switched) +gamification.challenge.line: website_forum.line_scholar (noupdate switched) +gamification.challenge.line: website_forum.line_self_learner (noupdate switched) +gamification.challenge.line: website_forum.line_stellar_question_25 (noupdate switched) +gamification.challenge.line: website_forum.line_student (noupdate switched) +gamification.challenge.line: website_forum.line_supporter (noupdate switched) +gamification.challenge.line: website_forum.line_taxonomist (noupdate switched) +gamification.challenge.line: website_forum.line_teacher (noupdate switched) +gamification.goal.definition: website_forum.definition_commentator (noupdate switched) +gamification.goal.definition: website_forum.definition_configure_profile (noupdate switched) +gamification.goal.definition: website_forum.definition_critic (noupdate switched) +gamification.goal.definition: website_forum.definition_disciplined (noupdate switched) +gamification.goal.definition: website_forum.definition_editor (noupdate switched) +gamification.goal.definition: website_forum.definition_enlightened (noupdate switched) +gamification.goal.definition: website_forum.definition_famous_question (noupdate switched) +gamification.goal.definition: website_forum.definition_favorite_question_1 (noupdate switched) +gamification.goal.definition: website_forum.definition_favorite_question_5 (noupdate switched) +gamification.goal.definition: website_forum.definition_good_answer (noupdate switched) +gamification.goal.definition: website_forum.definition_good_question (noupdate switched) +gamification.goal.definition: website_forum.definition_great_answer (noupdate switched) +gamification.goal.definition: website_forum.definition_great_question (noupdate switched) +gamification.goal.definition: website_forum.definition_guru (noupdate switched) +gamification.goal.definition: website_forum.definition_nice_answer (noupdate switched) +gamification.goal.definition: website_forum.definition_nice_question (noupdate switched) +gamification.goal.definition: website_forum.definition_notable_question (noupdate switched) +gamification.goal.definition: website_forum.definition_peer_pressure (noupdate switched) +gamification.goal.definition: website_forum.definition_popular_question (noupdate switched) +gamification.goal.definition: website_forum.definition_pundit (noupdate switched) +gamification.goal.definition: website_forum.definition_scholar (noupdate switched) +gamification.goal.definition: website_forum.definition_self_learner (noupdate switched) +gamification.goal.definition: website_forum.definition_stellar_question_25 (noupdate switched) +gamification.goal.definition: website_forum.definition_student (noupdate switched) +gamification.goal.definition: website_forum.definition_supporter (noupdate switched) +gamification.goal.definition: website_forum.definition_taxonomist (noupdate switched) +gamification.goal.definition: website_forum.definition_teacher (noupdate switched) +NEW ir.access: website_forum.access_forum_forum_manager +NEW ir.access: website_forum.access_forum_forum_public +NEW ir.access: website_forum.access_forum_post_comment_portal +NEW ir.access: website_forum.access_forum_post_comment_public +NEW ir.access: website_forum.access_forum_post_comment_user +NEW ir.access: website_forum.access_forum_post_portal +NEW ir.access: website_forum.access_forum_post_public +NEW ir.access: website_forum.access_forum_post_reason_public +NEW ir.access: website_forum.access_forum_post_reason_website_designer +NEW ir.access: website_forum.access_forum_post_user +NEW ir.access: website_forum.access_forum_tag_public +NEW ir.access: website_forum.access_forum_tag_user +NEW ir.access: website_forum.website_forum +NEW ir.access: website_forum.website_forum_create_website_designer +NEW ir.access: website_forum.website_forum_post +NEW ir.access: website_forum.website_forum_post_comment +NEW ir.access: website_forum.website_forum_post_vote_all +NEW ir.access: website_forum.website_forum_post_vote_own +NEW ir.access: website_forum.website_forum_post_vote_own_1 +NEW ir.access: website_forum.website_forum_tag +ir.actions.act_url: website_forum.action_open_forum (noupdate switched) +ir.actions.act_window: website_forum.forum_post_action (noupdate switched) +ir.actions.act_window: website_forum.forum_post_action_favorites (deleted domain) (noupdate switched) +ir.actions.act_window: website_forum.forum_post_action_forum_main (deleted domain) (noupdate switched) +DEL ir.model.access: website_forum.access_forum_forum_employee +DEL ir.model.access: website_forum.access_forum_forum_manager +DEL ir.model.access: website_forum.access_forum_forum_portal +DEL ir.model.access: website_forum.access_forum_forum_public +DEL ir.model.access: website_forum.access_forum_post_portal +DEL ir.model.access: website_forum.access_forum_post_public +DEL ir.model.access: website_forum.access_forum_post_reason_portal +DEL ir.model.access: website_forum.access_forum_post_reason_public +DEL ir.model.access: website_forum.access_forum_post_reason_user +DEL ir.model.access: website_forum.access_forum_post_user +DEL ir.model.access: website_forum.access_forum_post_vote_portal +DEL ir.model.access: website_forum.access_forum_post_vote_user +DEL ir.model.access: website_forum.access_forum_tag_portal +DEL ir.model.access: website_forum.access_forum_tag_public +DEL ir.model.access: website_forum.access_forum_tag_user +ir.model.constraint: website_forum.constraint_forum_post_vote_vote_uniq (changed definition: is now 'False' ('unique (post_id, user_id)')) +NEW ir.model.constraint: website_forum.constraint_forum_tag_forum_id_posts_count_idx +ir.model.constraint: website_forum.constraint_forum_tag_name_uniq (changed definition: is now 'False' ('unique (name, forum_id)')) +DEL ir.rule: website_forum.website_forum_connected (noupdate) +DEL ir.rule: website_forum.website_forum_connected_post (noupdate) +DEL ir.rule: website_forum.website_forum_connected_tag (noupdate) +DEL ir.rule: website_forum.website_forum_create_website_designer (noupdate) +DEL ir.rule: website_forum.website_forum_post_vote_all (noupdate) +DEL ir.rule: website_forum.website_forum_post_vote_own (noupdate) +DEL ir.rule: website_forum.website_forum_private (noupdate) +DEL ir.rule: website_forum.website_forum_private_post (noupdate) +DEL ir.rule: website_forum.website_forum_private_tag (noupdate) +DEL ir.rule: website_forum.website_forum_public (noupdate) +DEL ir.rule: website_forum.website_forum_public_post (noupdate) +DEL ir.rule: website_forum.website_forum_public_tag (noupdate) +NEW ir.ui.view: website_forum.follow_button +NEW ir.ui.view: website_forum.forum_post_link +ir.ui.view: website_forum.forum_post_template_new_answer (noupdate switched) +ir.ui.view: website_forum.forum_post_template_new_question (noupdate switched) +ir.ui.view: website_forum.forum_post_template_validation (noupdate switched) +ir.ui.view: website_forum.forum_post_view_form (noupdate switched) +ir.ui.view: website_forum.forum_post_view_graph (noupdate switched) +ir.ui.view: website_forum.forum_post_view_kanban (noupdate switched) +ir.ui.view: website_forum.forum_post_view_search (noupdate switched) +ir.ui.view: website_forum.forum_post_view_tree (noupdate switched) +DEL ir.ui.view: website_forum.follow +mail.message.subtype: website_forum.mt_answer_edit (noupdate switched) +mail.message.subtype: website_forum.mt_answer_new (noupdate switched) +NEW mail.message.subtype: website_forum.mt_ask_validation +NEW mail.message.subtype: website_forum.mt_comment_new +mail.message.subtype: website_forum.mt_forum_answer_new (noupdate switched) +mail.message.subtype: website_forum.mt_forum_question_new (noupdate switched) +mail.message.subtype: website_forum.mt_question_edit (noupdate switched) +mail.message.subtype: website_forum.mt_question_new (noupdate switched) +website.menu: website_forum.menu_website_forums (noupdate switched) diff --git a/openupgrade_scripts/scripts/website_livechat/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..20a22a6b6f3 --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/openupgrade_scripts/scripts/website_livechat/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..9f1e13d3e4f --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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_livechat", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..eb02f0ecdf3 --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,9 @@ +---Models in module 'website_livechat'--- +---Fields in module 'website_livechat'--- +website_livechat / website.visitor / livechat_operator_id (many2one): DEL relation: res.partner +---XML records in module 'website_livechat'--- +NEW ir.access: website_livechat.access_website_track_livechat_users +NEW ir.access: website_livechat.access_website_visitor_livechat_users +ir.actions.act_window: website_livechat.website_visitor_livechat_session_action (deleted domain) +DEL ir.model.access: website_livechat.access_website_track_livechat_users +DEL ir.model.access: website_livechat.access_website_visitor_livechat_users diff --git a/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..8aedf62dc81 --- /dev/null +++ b/openupgrade_scripts/scripts/website_livechat/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,13 @@ +---Models in module 'website_livechat'--- +---Fields in module 'website_livechat'--- +website_livechat / website.visitor / livechat_operator_id (many2one): DEL relation: res.partner +# NOTHING TO DO: the column is left in place for database_cleanup +---XML records in module 'website_livechat'--- +NEW ir.access: website_livechat.access_website_track_livechat_users +NEW ir.access: website_livechat.access_website_visitor_livechat_users +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.actions.act_window: website_livechat.website_visitor_livechat_session_action (deleted domain) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites the domain +DEL ir.model.access: website_livechat.access_website_track_livechat_users +DEL ir.model.access: website_livechat.access_website_visitor_livechat_users +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids diff --git a/openupgrade_scripts/scripts/website_profile/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/website_profile/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..d189de0643b --- /dev/null +++ b/openupgrade_scripts/scripts/website_profile/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,19 @@ + + + + + + Hello Marc Demo,

+ You have been invited to validate your email in order to get access to "YourCompany" website. + To validate your email, please click on the button below: + + Thanks for your participation! +
+
+ + + mail.mail_notification_layout +
+
diff --git a/openupgrade_scripts/scripts/website_profile/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website_profile/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..a46f5b54636 --- /dev/null +++ b/openupgrade_scripts/scripts/website_profile/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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_profile", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "website_profile", + ["validation_email"], + ["body_html"], + ) diff --git a/openupgrade_scripts/scripts/website_profile/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_profile/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..c0bc78f9f29 --- /dev/null +++ b/openupgrade_scripts/scripts/website_profile/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,8 @@ +---Models in module 'website_profile'--- +---Fields in module 'website_profile'--- +website_profile / gamification.badge / publish_on (datetime) : NEW +website_profile / gamification.badge / published_date (datetime) : NEW +---XML records in module 'website_profile'--- +NEW ir.access: website_profile.gamification_karma_rank_access_restricted_editor +DEL ir.model.access: website_profile.gamification_karma_rank_access_restricted_editor +mail.template: website_profile.validation_email (noupdate switched) diff --git a/openupgrade_scripts/scripts/website_profile/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_profile/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..2ed75546a7c --- /dev/null +++ b/openupgrade_scripts/scripts/website_profile/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,11 @@ +---Models in module 'website_profile'--- +---Fields in module 'website_profile'--- +website_profile / gamification.badge / publish_on (datetime) : NEW +website_profile / gamification.badge / published_date (datetime) : NEW +# NOTHING TO DO: empty is the right value for existing records +---XML records in module 'website_profile'--- +NEW ir.access: website_profile.gamification_karma_rank_access_restricted_editor +DEL ir.model.access: website_profile.gamification_karma_rank_access_restricted_editor +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +mail.template: website_profile.validation_email (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml diff --git a/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..a50c405dfc4 --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + +

Your order will be ready soon.

+
+ + True + 40 +
+
diff --git a/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..81ec64d044a --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2026 Don Kendall +# 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_sale_collect", "20.0.1.0/noupdate_changes.xml") + openupgrade.delete_record_translations( + env.cr, + "website_sale_collect", + ["payment_provider_on_site"], + ["pending_msg"], + ) diff --git a/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..5c3e878b321 --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,8 @@ +---Models in module 'website_sale_collect'--- +---Fields in module 'website_sale_collect'--- +website_sale_collect / payment.provider / custom_mode (False) : selection_keys added: [pay_on_invoice] (most likely nothing to do) +---XML records in module 'website_sale_collect'--- +delivery.carrier: website_sale_collect.carrier_pick_up_in_store (noupdate switched) +NEW ir.ui.view: website_sale_collect.payment_provider_form +NEW ir.ui.view: website_sale_collect.sale_order_view_form +product.product: website_sale_collect.product_pick_up_in_store (noupdate switched) diff --git a/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..0e87a8760b7 --- /dev/null +++ b/openupgrade_scripts/scripts/website_sale_collect/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,12 @@ +---Models in module 'website_sale_collect'--- +---Fields in module 'website_sale_collect'--- +website_sale_collect / payment.provider / custom_mode (False) : selection_keys added: [pay_on_invoice] (most likely nothing to do) +# NOTHING TO DO: keys were added, the existing values stay valid +---XML records in module 'website_sale_collect'--- +delivery.carrier: website_sale_collect.carrier_pick_up_in_store (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml +NEW ir.ui.view: website_sale_collect.payment_provider_form +NEW ir.ui.view: website_sale_collect.sale_order_view_form +# NOTHING TO DO: the record is not noupdate, so the module update creates it +product.product: website_sale_collect.product_pick_up_in_store (noupdate switched) +# NOTHING TO DO: only the noupdate flag changed, the definition is the same diff --git a/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/noupdate_changes.xml b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/noupdate_changes.xml new file mode 100644 index 00000000000..f88f7550ca5 --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/noupdate_changes.xml @@ -0,0 +1,6 @@ + + + + mail.mail_notification_light + + diff --git a/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/post-migration.py b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/post-migration.py new file mode 100644 index 00000000000..3b909ef4c9e --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/post-migration.py @@ -0,0 +1,9 @@ +# Copyright 2026 Don Kendall +# 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", "20.0.1.0/noupdate_changes.xml") diff --git a/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/upgrade_analysis.txt new file mode 100644 index 00000000000..58193f8d919 --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/upgrade_analysis.txt @@ -0,0 +1,23 @@ +---Models in module 'website_slides_survey'--- +---Fields in module 'website_slides_survey'--- +---XML records in module 'website_slides_survey'--- +NEW ir.access: website_slides_survey.survey_question_answer_slide_channel_officer +NEW ir.access: website_slides_survey.survey_question_rule_slide_channel_officer +NEW ir.access: website_slides_survey.survey_rule_slide_channel_officer +NEW ir.access: website_slides_survey.survey_user_input_line_rule_slide_channel_officer +NEW ir.access: website_slides_survey.survey_user_input_rule_slide_channel_officer +ir.actions.act_window: website_slides_survey.slide_slide_action_certification (deleted domain) +ir.actions.act_window: website_slides_survey.survey_survey_action_slides (deleted domain) +DEL ir.model.access: website_slides_survey.access_survey_question_answer_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_question_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_user_input_line_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_user_input_slides_officer +ir.model.constraint: website_slides_survey.constraint_slide_slide_check_certification_preview (changed definition: is now 'False' ('CHECK(slide_category != 'certification' OR is_preview = False)')) +ir.model.constraint: website_slides_survey.constraint_slide_slide_check_survey_id (changed definition: is now 'False' ('CHECK(slide_category != 'certification' OR survey_id IS NOT NULL)')) +DEL ir.rule: website_slides_survey.survey_question_answer_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_question_rule_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_rule_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_user_input_line_rule_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_user_input_rule_slide_channel_officer (noupdate) +mail.template: website_slides_survey.mail_template_user_input_certification_failed (noupdate switched) diff --git a/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/upgrade_analysis_work.txt new file mode 100644 index 00000000000..b419d5ef464 --- /dev/null +++ b/openupgrade_scripts/scripts/website_slides_survey/20.0.1.0/upgrade_analysis_work.txt @@ -0,0 +1,29 @@ +---Models in module 'website_slides_survey'--- +---Fields in module 'website_slides_survey'--- +---XML records in module 'website_slides_survey'--- +NEW ir.access: website_slides_survey.survey_question_answer_slide_channel_officer +NEW ir.access: website_slides_survey.survey_question_rule_slide_channel_officer +NEW ir.access: website_slides_survey.survey_rule_slide_channel_officer +NEW ir.access: website_slides_survey.survey_user_input_line_rule_slide_channel_officer +NEW ir.access: website_slides_survey.survey_user_input_rule_slide_channel_officer +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.actions.act_window: website_slides_survey.slide_slide_action_certification (deleted domain) +ir.actions.act_window: website_slides_survey.survey_survey_action_slides (deleted domain) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites the domain +DEL ir.model.access: website_slides_survey.access_survey_question_answer_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_question_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_user_input_line_slides_officer +DEL ir.model.access: website_slides_survey.access_survey_user_input_slides_officer +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +ir.model.constraint: website_slides_survey.constraint_slide_slide_check_certification_preview (changed definition: is now 'False' ('CHECK(slide_category != 'certification' OR is_preview = False)')) +ir.model.constraint: website_slides_survey.constraint_slide_slide_check_survey_id (changed definition: is now 'False' ('CHECK(slide_category != 'certification' OR survey_id IS NOT NULL)')) +# NOTHING TO DO: the record is not noupdate, so the module update rewrites it +DEL ir.rule: website_slides_survey.survey_question_answer_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_question_rule_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_rule_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_user_input_line_rule_slide_channel_officer (noupdate) +DEL ir.rule: website_slides_survey.survey_user_input_rule_slide_channel_officer (noupdate) +# NOTHING TO DO: base folds ir.model.access and ir.rule into ir.access, keeping the xml_ids +mail.template: website_slides_survey.mail_template_user_input_certification_failed (noupdate switched) +# DONE: post-migration: load noupdate_changes.xml