From dc5dbabba7934c11cf25d621b575e6317569590e Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 5 May 2025 08:04:29 +0200 Subject: [PATCH 1/2] fixup! [OU-ADD] account --- .../scripts/account/18.0.1.3/post-migration.py | 14 +++++++++++++- .../scripts/account/18.0.1.3/pre-migration.py | 1 - .../account/18.0.1.3/upgrade_analysis_work.txt | 3 +-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/openupgrade_scripts/scripts/account/18.0.1.3/post-migration.py b/openupgrade_scripts/scripts/account/18.0.1.3/post-migration.py index c49043e62e37..f667838cb6b9 100644 --- a/openupgrade_scripts/scripts/account/18.0.1.3/post-migration.py +++ b/openupgrade_scripts/scripts/account/18.0.1.3/post-migration.py @@ -27,7 +27,6 @@ def link_payments_to_moves(env): def convert_company_dependent(env): - openupgrade_180.convert_company_dependent(env, "account.account", "code_store") openupgrade_180.convert_company_dependent( env, "account.cash.rounding", "loss_account_id" ) @@ -125,10 +124,23 @@ def fill_res_partner_property_x_payment_method_line_id(env): ) +def account_account_code_fields(env): + """ + Fill account.account#code_store from company_id and code + """ + env.cr.execute( + """ + UPDATE account_account + SET code_store=json_build_object(company_id, code) + """ + ) + + @openupgrade.migrate() def migrate(env, version): replace_period_lock_date(env) link_payments_to_moves(env) + account_account_code_fields(env) openupgrade.m2o_to_x2m( env.cr, env["account.account"], "account_account", "company_ids", "company_id" ) diff --git a/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py b/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py index 23230cefd5ab..fcdc613d10ff 100644 --- a/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py +++ b/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py @@ -4,7 +4,6 @@ from openupgradelib import openupgrade field_renames = [ - ("account.account", "account_account", "code", "code_store"), ("account.move", "account_move", "payment_id", "origin_payment_id"), ("account.move", "account_move", "reversal_move_id", "reversal_move_ids"), ("account.move", "account_move", "send_and_print_values", "sending_data"), diff --git a/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt index 6d9cd5d0c5f7..9d06411e8c2f 100644 --- a/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt +++ b/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt @@ -20,8 +20,7 @@ account / account.account / code_mapping_ids (one2many) : NEW re account / account.account / code (char) : not stored anymore account / account.account / code (char) : now a function account / account.account / code_store (char) : NEW -# DONE: pre-migration: renamed field -# DONE: post-migration: used openupgrade_180.convert_company_dependent +# DONE: post-migration: fill code_store from code and company_id account / account.account / company_currency_id (many2one): not related anymore account / account.account / company_currency_id (many2one): now a function From 6100c0c3a2a60c99f00ff1fde1681587398aca73 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 5 May 2025 10:58:52 +0200 Subject: [PATCH 2/2] fixup! fixup! [OU-ADD] account --- .../scripts/account/18.0.1.3/pre-migration.py | 17 ----------------- .../account/18.0.1.3/upgrade_analysis_work.txt | 4 ++-- .../scripts/account/tests/data.py | 13 +++++++++++++ 3 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 openupgrade_scripts/scripts/account/tests/data.py diff --git a/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py b/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py index fcdc613d10ff..f44914c7c3fe 100644 --- a/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py +++ b/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py @@ -134,23 +134,6 @@ def adapt_account_move_sending_data(env): '{author_user_id}', sending_data::jsonb->'sp_user_id') WHERE sending_data IS NOT NULL AND sending_data::jsonb ? 'sp_user_id'""", ) - # mail_template_id -> mail_template: - env.cr.execute( - """ - SELECT id, sending_data::jsonb->'mail_template_id' as mail_template_id - FROM account_move - WHERE sending_data IS NOT NULL AND sending_data::jsonb ? 'mail_template_id'""", - ) - for move_id, mail_template_id in env.cr.fetchall(): - mail_template = env.ref(mail_template_id) - openupgrade.logged_query( - env.cr, - f""" - UPDATE account_move - SET sending_data = jsonb_set(sending_data::jsonb - 'mail_template_id', - '{{mail_template}}', {mail_template}) - WHERE id = {move_id}""", - ) # send_mail: True -> 'sending_methods': {"email"}: openupgrade.logged_query( env.cr, diff --git a/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt index 9d06411e8c2f..95068786149e 100644 --- a/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt +++ b/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt @@ -78,7 +78,7 @@ account / account.lock_exception / lock_date (date) : NEW account / account.lock_exception / lock_date_field (selection) : NEW required, selection_keys: ['fiscalyear_lock_date', 'purchase_lock_date', 'sale_lock_date', 'tax_lock_date'] account / account.lock_exception / reason (char) : NEW account / account.lock_exception / user_id (many2one) : NEW relation: res.users, hasdefault: default -# NOTHING TO DO? (new model) +# NOTHING TO DO: new feature account / account.move / amount_untaxed_in_currency_signed (float): NEW isfunction: function, stored # DONE: pre-migration: pre-created and filled @@ -101,7 +101,7 @@ account / account.move / journal_group_id (many2one) : NEW re # NOTHING TO DO: store = False account / account.move / made_sequence_gap (boolean) : NEW isfunction: function, stored -# NOTHING TO DO? +# NOTHING TO DO: will be computed by ORM account / account.move / origin_payment_id (many2one) : NEW relation: account.payment account / account.move / payment_id (many2one) : DEL relation: account.payment diff --git a/openupgrade_scripts/scripts/account/tests/data.py b/openupgrade_scripts/scripts/account/tests/data.py new file mode 100644 index 000000000000..b8a1d2422f73 --- /dev/null +++ b/openupgrade_scripts/scripts/account/tests/data.py @@ -0,0 +1,13 @@ +env = locals().get("env") +# call sending wizard on some moves asynchronously +action = ( + env["account.move"] + .search([("move_type", "=", "out_invoice")]) + .action_send_and_print() +) +env[action["res_model"]].with_context(**action["context"]).create( + { + "checkbox_download": False, + } +).action_send_and_print() +env.cr.commit()