odoo-addon-openupgrade-scripts 18.0.1.0.0.73__py3-none-any.whl → 18.0.1.0.0.79__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,181 @@
1
+ # Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com)
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+
4
+ from openupgradelib import openupgrade, openupgrade_180
5
+
6
+
7
+ def replace_period_lock_date(env):
8
+ openupgrade.logged_query(
9
+ env.cr,
10
+ """
11
+ UPDATE res_company
12
+ SET sale_lock_date = period_lock_date, purchase_lock_date = period_lock_date
13
+ WHERE period_lock_date IS NOT NULL""",
14
+ )
15
+
16
+
17
+ def link_payments_to_moves(env):
18
+ openupgrade.logged_query(
19
+ env.cr,
20
+ """
21
+ INSERT INTO account_move__account_payment (invoice_id, payment_id)
22
+ SELECT am.id, ap.id
23
+ FROM account_payment ap
24
+ JOIN account_move am ON ap.move_id = am.id
25
+ """,
26
+ )
27
+
28
+
29
+ def convert_company_dependent(env):
30
+ openupgrade_180.convert_company_dependent(
31
+ env, "account.cash.rounding", "loss_account_id"
32
+ )
33
+ openupgrade_180.convert_company_dependent(
34
+ env, "account.cash.rounding", "profit_account_id"
35
+ )
36
+ openupgrade_180.convert_company_dependent(
37
+ env, "product.category", "property_account_expense_categ_id"
38
+ )
39
+ openupgrade_180.convert_company_dependent(
40
+ env, "product.category", "property_account_income_categ_id"
41
+ )
42
+ openupgrade_180.convert_company_dependent(
43
+ env, "product.template", "property_account_expense_id"
44
+ )
45
+ openupgrade_180.convert_company_dependent(
46
+ env, "product.template", "property_account_income_id"
47
+ )
48
+ openupgrade_180.convert_company_dependent(env, "res.partner", "credit_limit")
49
+ openupgrade_180.convert_company_dependent(
50
+ env, "res.partner", "property_account_payable_id"
51
+ )
52
+ openupgrade_180.convert_company_dependent(
53
+ env, "res.partner", "property_account_position_id"
54
+ )
55
+ openupgrade_180.convert_company_dependent(
56
+ env, "res.partner", "property_account_receivable_id"
57
+ )
58
+ openupgrade_180.convert_company_dependent(
59
+ env, "res.partner", "property_payment_term_id"
60
+ )
61
+ openupgrade_180.convert_company_dependent(
62
+ env, "res.partner", "property_supplier_payment_term_id"
63
+ )
64
+ openupgrade_180.convert_company_dependent(env, "res.partner", "trust")
65
+
66
+
67
+ def fill_res_partner_property_x_payment_method_line_id(env):
68
+ if not openupgrade.column_exists(
69
+ env.cr, "account_move", "preferred_payment_method_id"
70
+ ):
71
+ return
72
+ # having account_check_printing module
73
+ env.cr.execute(
74
+ """
75
+ SELECT id FROM ir_model_fields
76
+ WHERE model = 'res.partner'
77
+ AND name = 'property_payment_method_id'"""
78
+ )
79
+ old_field_id = env.cr.fetchone()[0]
80
+ openupgrade.logged_query(
81
+ env.cr,
82
+ f"""
83
+ UPDATE res_partner
84
+ SET property_outbound_payment_method_line_id=ir_property_by_company.value
85
+ FROM (
86
+ SELECT
87
+ SPLIT_PART(ip.res_id, ',', 2)::integer res_id,
88
+ JSON_OBJECT_AGG(ip.company_id, sub.id) value
89
+ FROM ir_property ip
90
+ JOIN LATERAL (
91
+ SELECT *
92
+ FROM account_payment_method_line apml
93
+ WHERE apml.payment_method_id = SPLIT_PART(
94
+ ip.value_reference, ',', 2)::integer
95
+ LIMIT 1
96
+ ) as sub ON TRUE
97
+ WHERE ip.fields_id={old_field_id} AND ip.res_id IS NOT NULL
98
+ AND ip.company_id IS NOT NULL AND sub.id IS NOT NULL
99
+ GROUP BY res_id
100
+ ) ir_property_by_company
101
+ WHERE res_partner.id=ir_property_by_company.res_id
102
+ """,
103
+ )
104
+ env.cr.execute(
105
+ f"""
106
+ SELECT ip.company_id, sub.id
107
+ FROM ir_property ip
108
+ JOIN LATERAL (
109
+ SELECT *
110
+ FROM account_payment_method_line apml
111
+ WHERE apml.payment_method_id = SPLIT_PART(
112
+ ip.value_reference, ',', 2)::integer
113
+ LIMIT 1
114
+ ) as sub ON TRUE
115
+ WHERE ip.fields_id={old_field_id} AND res_id IS NULL AND sub.id IS NOT NULL
116
+ """
117
+ )
118
+ for company_id, value in env.cr.fetchall():
119
+ env["ir.default"].set(
120
+ "res.partner",
121
+ "property_outbound_payment_method_line_id",
122
+ value,
123
+ company_id=company_id,
124
+ )
125
+
126
+
127
+ def account_account_code_fields(env):
128
+ """
129
+ Fill account.account#code_store from company_id and code
130
+ """
131
+ env.cr.execute(
132
+ """
133
+ UPDATE account_account
134
+ SET code_store=json_build_object(company_id, code)
135
+ """
136
+ )
137
+
138
+
139
+ @openupgrade.migrate()
140
+ def migrate(env, version):
141
+ replace_period_lock_date(env)
142
+ link_payments_to_moves(env)
143
+ account_account_code_fields(env)
144
+ openupgrade.m2o_to_x2m(
145
+ env.cr, env["account.account"], "account_account", "company_ids", "company_id"
146
+ )
147
+ convert_company_dependent(env)
148
+ fill_res_partner_property_x_payment_method_line_id(env)
149
+ openupgrade.load_data(env, "account", "18.0.1.3/noupdate_changes.xml")
150
+ openupgrade.delete_record_translations(
151
+ env.cr, "account", ["email_template_edi_invoice"]
152
+ )
153
+ openupgrade.delete_record_translations(
154
+ env.cr,
155
+ "account",
156
+ ["account_payment_method_manual_in", "account_payment_method_manual_out"],
157
+ ["name"],
158
+ )
159
+ openupgrade.delete_record_translations(
160
+ env.cr,
161
+ "account",
162
+ [
163
+ "onboarding_onboarding_step_chart_of_accounts",
164
+ "onboarding_onboarding_step_company_data",
165
+ "onboarding_onboarding_step_fiscal_year",
166
+ ],
167
+ ["title"],
168
+ )
169
+ openupgrade.delete_records_safely_by_xml_id(
170
+ env,
171
+ [
172
+ "account.default_followup_trust",
173
+ "account.account_move_send_rule_group_invoice",
174
+ "account.account_root_comp_rule",
175
+ "count.onboarding_onboarding_account_invoice",
176
+ "account.onboarding_onboarding_step_bank_account",
177
+ "account.onboarding_onboarding_step_create_invoice",
178
+ "account.onboarding_onboarding_step_default_taxes",
179
+ "account.onboarding_onboarding_step_setup_bill",
180
+ ],
181
+ )
@@ -0,0 +1,199 @@
1
+ # Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com)
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+
4
+ from openupgradelib import openupgrade
5
+
6
+ field_renames = [
7
+ ("account.move", "account_move", "payment_id", "origin_payment_id"),
8
+ ("account.move", "account_move", "reversal_move_id", "reversal_move_ids"),
9
+ ("account.move", "account_move", "send_and_print_values", "sending_data"),
10
+ (
11
+ "account.payment",
12
+ "account_payment",
13
+ "journal_id",
14
+ "old_journal_id",
15
+ ), # to avoid conflict in ir.model.fields
16
+ ("account.payment", "account_payment", "destination_journal_id", "journal_id"),
17
+ ]
18
+
19
+ field_renames_l10n_dk_bookkeeping = [
20
+ (
21
+ "account.move",
22
+ "account_move",
23
+ "l10n_dk_currency_rate_at_transaction",
24
+ "invoice_currency_rate",
25
+ ),
26
+ ]
27
+
28
+ _new_columns = [
29
+ ("account.bank.statement.line", "company_id", "many2one"),
30
+ ("account.bank.statement.line", "journal_id", "many2one"),
31
+ ("account.journal", "autocheck_on_post", "boolean", True),
32
+ ("account.move", "amount_untaxed_in_currency_signed", "float"),
33
+ ("account.move", "checked", "boolean"),
34
+ ("account.move", "preferred_payment_method_line_id", "many2one"),
35
+ ("account.reconcile.model", "counterpart_type", "selection", "general"),
36
+ ("account.tax", "price_include_override", "selection", "tax_excluded"),
37
+ ("account.payment", "name", "char"),
38
+ ("account.payment", "date", "date"),
39
+ ("account.payment", "memo", "char"),
40
+ ("account.payment", "state", "selection"),
41
+ ("account.payment", "is_sent", "boolean"),
42
+ ]
43
+
44
+
45
+ def rename_selection_option(env):
46
+ openupgrade.logged_query(
47
+ env.cr,
48
+ """
49
+ UPDATE account_account
50
+ SET internal_group = 'off'
51
+ WHERE internal_group = 'off_balance'""",
52
+ )
53
+ openupgrade.logged_query(
54
+ env.cr,
55
+ """
56
+ UPDATE account_report
57
+ SET default_opening_date_filter = 'last_' || substr(
58
+ default_opening_date_filter, 10)
59
+ WHERE left(default_opening_date_filter, 9) = 'previous_'""",
60
+ )
61
+ openupgrade.logged_query(
62
+ env.cr,
63
+ """
64
+ UPDATE account_report_expression
65
+ SET date_scope = 'strict_range'
66
+ WHERE date_scope = 'normal'""",
67
+ )
68
+ openupgrade.logged_query(
69
+ env.cr,
70
+ """
71
+ UPDATE account_tax
72
+ SET price_include_override = 'tax_included'
73
+ WHERE price_include""",
74
+ )
75
+
76
+
77
+ def update_account_move_amount_untaxed_in_currency_signed(env):
78
+ openupgrade.logged_query(
79
+ env.cr,
80
+ """
81
+ UPDATE account_move
82
+ SET amount_untaxed_in_currency_signed = CASE
83
+ WHEN move_type IN ('out_invoice', 'in_refund', 'out_receipt')
84
+ THEN COALESCE(amount_untaxed, 0.0)
85
+ ELSE (-1) * COALESCE(amount_untaxed, 0.0) END""",
86
+ )
87
+
88
+
89
+ def update_account_move_checked(env):
90
+ openupgrade.logged_query(
91
+ env.cr,
92
+ """
93
+ UPDATE account_move
94
+ SET checked = TRUE
95
+ WHERE to_check IS DISTINCT FROM TRUE""",
96
+ )
97
+
98
+
99
+ def fill_account_move_preferred_payment_method_line_id(env):
100
+ if openupgrade.column_exists(env.cr, "account_move", "preferred_payment_method_id"):
101
+ # having account_check_printing module
102
+ openupgrade.logged_query(
103
+ env.cr,
104
+ """
105
+ UPDATE account_move am2
106
+ SET preferred_payment_method_line_id = COALESCE(apml.id, apml2.id)
107
+ FROM account_move am
108
+ JOIN account_payment_method apm ON
109
+ apm.id = am.preferred_payment_method_id
110
+ LEFT JOIN account_payment_method_line apml ON
111
+ apml.payment_method_id = apm.id AND apml.journal_id = am.journal_id
112
+ LEFT JOIN account_payment_method_line apml2 ON
113
+ apml2.payment_method_id = apm.id AND apml2.journal_id IS NULL
114
+ WHERE am.id = am2.id""",
115
+ )
116
+
117
+
118
+ def adapt_account_move_sending_data(env):
119
+ # sp_partner_id -> author_partner_id:
120
+ openupgrade.logged_query(
121
+ env.cr,
122
+ """
123
+ UPDATE account_move
124
+ SET sending_data = jsonb_set(sending_data::jsonb - 'sp_partner_id',
125
+ '{author_partner_id}', sending_data::jsonb->'sp_partner_id')
126
+ WHERE sending_data IS NOT NULL AND sending_data::jsonb ? 'sp_partner_id'""",
127
+ )
128
+ # sp_user_id -> author_user_id:
129
+ openupgrade.logged_query(
130
+ env.cr,
131
+ """
132
+ UPDATE account_move
133
+ SET sending_data = jsonb_set(sending_data::jsonb - 'sp_user_id',
134
+ '{author_user_id}', sending_data::jsonb->'sp_user_id')
135
+ WHERE sending_data IS NOT NULL AND sending_data::jsonb ? 'sp_user_id'""",
136
+ )
137
+ # send_mail: True -> 'sending_methods': {"email"}:
138
+ openupgrade.logged_query(
139
+ env.cr,
140
+ """
141
+ UPDATE account_move
142
+ SET sending_data = jsonb_set(sending_data::jsonb - 'send_mail',
143
+ '{sending_methods}', '["email"]'::jsonb)
144
+ WHERE sending_data IS NOT NULL
145
+ AND sending_data::jsonb @> '{"send_mail": "true"}'::jsonb""",
146
+ )
147
+
148
+
149
+ def fill_account_payment(env):
150
+ openupgrade.logged_query(
151
+ env.cr,
152
+ """
153
+ UPDATE account_payment ap
154
+ SET memo = am.ref,
155
+ state= CASE WHEN am.state = 'cancel' THEN 'canceled'
156
+ WHEN am.payment_state = 'paid' THEN 'paid'
157
+ WHEN am.state = 'posted' THEN 'in_process'
158
+ ELSE am.state END,
159
+ is_sent = am.is_move_sent,
160
+ name = CASE WHEN am.name != '/' THEN am.name
161
+ ELSE 'Draft Payment' END,
162
+ date = am.date,
163
+ journal_id = CASE WHEN ap.journal_id IS NULL
164
+ AND aj.type in ('bank', 'cash', 'credit')
165
+ THEN am.journal_id ELSE ap.journal_id END
166
+ FROM account_move am
167
+ LEFT JOIN account_journal aj ON am.journal_id = aj.id
168
+ WHERE ap.move_id = am.id""",
169
+ )
170
+
171
+
172
+ @openupgrade.migrate()
173
+ def migrate(env, version):
174
+ if openupgrade.column_exists(
175
+ env.cr, "account_move", "l10n_dk_currency_rate_at_transaction"
176
+ ):
177
+ openupgrade.rename_fields(env, field_renames_l10n_dk_bookkeeping)
178
+ openupgrade.rename_fields(env, field_renames)
179
+ openupgrade.add_columns(env, _new_columns)
180
+ update_account_move_amount_untaxed_in_currency_signed(env)
181
+ update_account_move_checked(env)
182
+ fill_account_move_preferred_payment_method_line_id(env)
183
+ adapt_account_move_sending_data(env)
184
+ rename_selection_option(env)
185
+ fill_account_payment(env)
186
+ openupgrade.convert_field_to_html(
187
+ env.cr,
188
+ "account_tax",
189
+ "description",
190
+ "description",
191
+ verbose=False,
192
+ translate=True,
193
+ )
194
+ openupgrade.delete_records_safely_by_xml_id(
195
+ env,
196
+ [
197
+ "account.action_account_unreconcile",
198
+ ],
199
+ )
@@ -0,0 +1,377 @@
1
+ ---Models in module 'account'---
2
+ obsolete model account.tour.upload.bill [transient]
3
+ obsolete model account.tour.upload.bill.email.confirm [transient]
4
+ obsolete model account.unreconcile [transient]
5
+ new model account.autopost.bills.wizard [transient]
6
+ new model account.code.mapping [sql_view]
7
+ new model account.lock_exception
8
+ new model account.merge.wizard [transient]
9
+ new model account.merge.wizard.line [transient]
10
+ new model account.move.send.batch.wizard [transient]
11
+ new model account.move.send.wizard [transient]
12
+ new model account.secure.entries.wizard [transient]
13
+ # NOTHING TO DO
14
+
15
+ ---Fields in module 'account'---
16
+ account / account.account / _order : _order is now 'code, placeholder_code' ('code, company_id')
17
+ account / account.account / code_mapping_ids (one2many) : NEW relation: account.code.mapping
18
+ # NOTHING TO DO
19
+
20
+ account / account.account / code (char) : not stored anymore
21
+ account / account.account / code (char) : now a function
22
+ account / account.account / code_store (char) : NEW
23
+ # DONE: post-migration: fill code_store from code and company_id
24
+
25
+ account / account.account / company_currency_id (many2one): not related anymore
26
+ account / account.account / company_currency_id (many2one): now a function
27
+ # NOTHING TO DO
28
+
29
+ account / account.account / company_id (many2one) : DEL relation: res.company, required
30
+ account / account.account / company_ids (many2many) : NEW relation: res.company, required, hasdefault: default
31
+ # DONE: post-migration: many2one to many2many
32
+
33
+ account / account.account / display_mapping_tab (boolean) : NEW hasdefault: default, stored: False
34
+ # NOTHING TO DO: store = False
35
+
36
+ account / account.account / group_id (many2one) : not stored anymore
37
+ account / account.account / include_initial_balance (boolean): not stored anymore
38
+ account / account.account / internal_group (selection) : not stored anymore
39
+ account / account.account / root_id (many2one) : not stored anymore
40
+ # NOTHING TO DO
41
+
42
+ account / account.account / internal_group (selection) : selection_keys is now '['asset', 'equity', 'expense', 'income', 'liability', 'off']' ('['asset', 'equity', 'expense', 'income', 'liability', 'off_balance']')
43
+ # DONE: pre-migration: rename 'off_balance' to 'off'
44
+
45
+ account / account.bank.statement.line / company_id (many2one) : is now stored
46
+ account / account.bank.statement.line / company_id (many2one) : now required
47
+ # DONE: pre-migration: pre-created and filled
48
+
49
+ account / account.bank.statement.line / journal_id (many2one) : is now stored
50
+ # DONE: pre-migration: pre-created and filled
51
+
52
+ account / account.cash.rounding / loss_account_id (many2one) : needs conversion to v18-style company dependent
53
+ account / account.cash.rounding / profit_account_id (many2one) : needs conversion to v18-style company dependent
54
+ # DONE: post-migration: used openupgrade_180.convert_company_dependent
55
+
56
+ account / account.group / parent_path (char) : DEL
57
+ # NOTHING TO DO
58
+
59
+ account / account.journal / autocheck_on_post (boolean) : NEW hasdefault: default
60
+ # DONE: pre-migration: pre-created and filled
61
+
62
+ account / account.journal / sale_activity_note (text) : DEL
63
+ account / account.journal / sale_activity_type_id (many2one): DEL relation: mail.activity.type
64
+ account / account.journal / sale_activity_user_id (many2one): DEL relation: res.users
65
+ # NOTHING TO DO: https://github.com/odoo/odoo/commit/ab3c81b680a1019ff33aabf87cf533af7bfe8cfa
66
+
67
+ account / account.journal / secure_sequence_id (many2one) : DEL relation: ir.sequence
68
+ # NOTHING TO DO: https://github.com/odoo/odoo/commit/9a1b320255766f4c7c72e9bbf50c1d50615ab397
69
+
70
+ account / account.journal / type (selection) : selection_keys is now '['bank', 'cash', 'credit', 'general', 'purchase', 'sale']' ('['bank', 'cash', 'general', 'purchase', 'sale']')
71
+ # NOTHING TO DO: new 'credit' option
72
+
73
+ account / account.lock_exception / active (boolean) : NEW hasdefault: default
74
+ account / account.lock_exception / company_id (many2one) : NEW relation: res.company, required
75
+ account / account.lock_exception / company_lock_date (date) : NEW
76
+ account / account.lock_exception / end_datetime (datetime) : NEW
77
+ account / account.lock_exception / lock_date (date) : NEW
78
+ account / account.lock_exception / lock_date_field (selection) : NEW required, selection_keys: ['fiscalyear_lock_date', 'purchase_lock_date', 'sale_lock_date', 'tax_lock_date']
79
+ account / account.lock_exception / reason (char) : NEW
80
+ account / account.lock_exception / user_id (many2one) : NEW relation: res.users, hasdefault: default
81
+ # NOTHING TO DO: new feature
82
+
83
+ account / account.move / amount_untaxed_in_currency_signed (float): NEW isfunction: function, stored
84
+ # DONE: pre-migration: pre-created and filled
85
+
86
+ account / account.move / audit_trail_message_ids (one2many): NEW relation: mail.message
87
+ # NOTHING TO DO
88
+
89
+ account / account.move / checked (boolean) : NEW
90
+ account / account.move / to_check (boolean) : DEL
91
+ # DONE: pre-migration: pre-created and filled
92
+
93
+ account / account.move / invoice_currency_rate (float) : NEW isfunction: function, stored
94
+ l10n_dk_bookkeeping / account.move / l10n_dk_currency_rate_at_transaction (float): DEL
95
+ # DONE: pre-migration: rename field
96
+
97
+ account / account.move / is_manually_modified (boolean): NEW
98
+ # NOTHING TO DO: new feature for account.autopost.bills.wizard
99
+
100
+ account / account.move / journal_group_id (many2one) : NEW relation: account.journal.group, stored: False
101
+ # NOTHING TO DO: store = False
102
+
103
+ account / account.move / made_sequence_gap (boolean) : NEW isfunction: function, stored
104
+ # NOTHING TO DO: will be computed by ORM
105
+
106
+ account / account.move / origin_payment_id (many2one) : NEW relation: account.payment
107
+ account / account.move / payment_id (many2one) : DEL relation: account.payment
108
+ # DONE: pre-migration: rename field
109
+
110
+ account / account.move / payment_state (selection) : selection_keys is now '['blocked', 'in_payment', 'invoicing_legacy', 'not_paid', 'paid', 'partial', 'reversed']' ('['in_payment', 'invoicing_legacy', 'not_paid', 'paid', 'partial', 'reversed']')
111
+ # NOTHING TO DO: new 'blocked' option
112
+
113
+ account / account.move / preferred_payment_method_line_id (many2one): NEW relation: account.payment.method.line, hasdefault: compute
114
+ # DONE: pre-migration: pre-created and fill using old preferred_payment_method_id (from account_check_printing)
115
+
116
+ account / account.move / reversal_move_id (one2many) : DEL relation: account.move
117
+ account / account.move / reversal_move_ids (one2many) : NEW relation: account.move
118
+ # DONE: pre-migration: rename field
119
+
120
+ account / account.move / send_and_print_values (json) : DEL
121
+ account / account.move / sending_data (json) : NEW
122
+ # DONE: pre-migration: rename field (and adapt json values)
123
+
124
+ account / account.move.line / account_root_id (many2one) : not stored anymore
125
+ account / account.move.line / analytic_distribution_search (json): DEL stored: False
126
+ # NOTHING TO DO
127
+
128
+ account / account.move.line / blocked (boolean) : DEL
129
+ # NOTHING TO DO: https://github.com/odoo/odoo/commit/67dc71588751c9f115e09959d774686c2207a1f9
130
+
131
+ account / account.move.line / is_imported (boolean) : NEW
132
+ # NOTHING TO DO?
133
+
134
+ account / account.move.line / journal_group_id (many2one) : NEW relation: account.journal.group, stored: False
135
+ # NOTHING TO DO: store = False
136
+
137
+ account / account.move / matched_payment_ids (many2many): NEW relation: account.payment
138
+ account / account.payment / invoice_ids (many2many) : NEW relation: account.move
139
+ account / account.payment / _inherits : DEL _inherits: {'account.move': 'move_id'}, stored: False
140
+ # DONE: post-migration: link payments to moves
141
+
142
+ account / account.payment / attachment_ids (one2many) : is now stored
143
+ account / account.payment / attachment_ids (one2many) : not related anymore
144
+ account / account.payment / company_id (many2one) : is now stored
145
+ account / account.payment / company_id (many2one) : not related anymore
146
+ account / account.payment / company_id (many2one) : now required
147
+ account / account.payment / date (date) : is now stored
148
+ account / account.payment / date (date) : not related anymore
149
+ account / account.payment / destination_journal_id (many2one): DEL relation: account.journal
150
+ account / account.payment / is_internal_transfer (boolean): DEL
151
+ account / account.payment / is_sent (boolean) : NEW
152
+ account / account.payment / journal_id (many2one) : is now stored
153
+ account / account.payment / journal_id (many2one) : not related anymore
154
+ account / account.payment / memo (char) : NEW
155
+ account / account.payment / name (char) : is now stored
156
+ account / account.payment / name (char) : not related anymore
157
+ account / account.payment / name (char) : now a function
158
+ account / account.payment / state (selection) : is now stored
159
+ account / account.payment / state (selection) : not related anymore
160
+ account / account.payment / state (selection) : selection_keys is now '['canceled', 'draft', 'in_process', 'paid', 'rejected']' ('function')
161
+ # DONE: pre-migration: pre-create account.move fields and fill them
162
+
163
+ account / account.payment.term.line / delay_type (selection) : selection_keys is now '['days_after', 'days_after_end_of_month', 'days_after_end_of_next_month', 'days_end_of_month_on_the']' ('['days_after', 'days_after_end_of_month', 'days_after_end_of_next_month']')
164
+ account_payment_term / account.payment.term.line / delay_type (False) : DEL selection_keys: ['days_after', 'days_after_end_of_month', 'days_after_end_of_next_month', 'days_end_of_month_on_the'], mode: modify
165
+ # NOTHING TO DO
166
+
167
+ account / account.reconcile.model / counterpart_type (selection) : NEW selection_keys: ['general', 'purchase', 'sale'], hasdefault: default
168
+ # DONE: pre-migration: pre-created and filled
169
+
170
+ account / account.reconcile.model.line / analytic_distribution_search (json): DEL stored: False
171
+ # NOTHING TO DO
172
+
173
+ account / account.report / currency_translation (selection): NEW selection_keys: ['cta', 'current'], hasdefault: compute
174
+ account / account.report / filter_budgets (boolean) : NEW hasdefault: compute
175
+ # NOTHING TO DO
176
+
177
+ account / account.report / default_opening_date_filter (selection): selection_keys is now '['previous_month', 'previous_quarter', 'previous_tax_period', 'previous_year', 'this_month', 'this_quarter', 'this_tax_period', 'this_year', 'today']' ('['last_month', 'last_quarter', 'last_tax_period', 'last_year', 'this_month', 'this_quarter', 'this_tax_period', 'this_year', 'today']')
178
+ # DONE: pre-migration: renamed options
179
+
180
+
181
+ account / account.report / integer_rounding (selection) : NEW selection_keys: ['DOWN', 'HALF-UP', 'UP']
182
+ account / account.report.line / horizontal_split_side (selection): NEW selection_keys: ['left', 'right'], hasdefault: compute
183
+ # NOTHING TO DO
184
+
185
+ account / account.report.expression / date_scope (selection) : selection_keys is now '['from_beginning', 'from_fiscalyear', 'previous_tax_period', 'strict_range', 'to_beginning_of_fiscalyear', 'to_beginning_of_period']' ('['from_beginning', 'from_fiscalyear', 'normal', 'previous_tax_period', 'strict_range', 'to_beginning_of_fiscalyear', 'to_beginning_of_period']')
186
+ # DONE: pre-migration: removed 'normal' option, changed to 'strict_range'
187
+
188
+ account / account.tax / description (char) : type is now 'html' ('char')
189
+ # DONE: pre-migration: use openupgradelib convert_field_to_html
190
+
191
+ account / account.tax / invoice_legal_notes (html) : NEW
192
+ # NOTHING TO DO
193
+
194
+ account / account.tax / price_include (boolean) : not stored anymore
195
+ account / account.tax / price_include (boolean) : now a function
196
+ account / account.tax / price_include_override (selection): NEW selection_keys: ['tax_excluded', 'tax_included']
197
+ # DONE: pre-migration: price_include_override pre-created and filled using old price_include
198
+
199
+ account / account.tax.group / pos_receipt_label (char) : NEW
200
+ account / ir.actions.report / is_invoice_report (boolean) : NEW
201
+ # NOTHING TO DO
202
+
203
+ account / product.category / property_account_expense_categ_id (many2one): needs conversion to v18-style company dependent
204
+ account / product.category / property_account_income_categ_id (many2one): needs conversion to v18-style company dependent
205
+ account / product.template / property_account_expense_id (many2one): needs conversion to v18-style company dependent
206
+ account / product.template / property_account_income_id (many2one): needs conversion to v18-style company dependent
207
+ # DONE: post-migration: used openupgrade_180.convert_company_dependent
208
+
209
+ account / res.company / account_journal_payment_credit_account_id (many2one): DEL relation: account.account
210
+ account / res.company / account_journal_payment_debit_account_id (many2one): DEL relation: account.account
211
+ # NOTHING TO DO
212
+
213
+ account / res.company / account_price_include (selection): NEW required, selection_keys: ['tax_excluded', 'tax_included'], hasdefault: default
214
+ account / res.company / autopost_bills (boolean) : NEW hasdefault: default
215
+ account / res.company / batch_payment_sequence_id (many2one): NEW relation: ir.sequence
216
+ account / res.company / display_invoice_tax_company_currency (boolean): NEW hasdefault: default
217
+ # NOTHING TO DO: new features
218
+
219
+ account / res.company / country_code (char) : module is now 'base' ('account')
220
+ # NOTHING TO DO
221
+
222
+ account / res.company / invoice_is_download (boolean) : DEL
223
+ account / res.company / invoice_is_email (boolean) : DEL
224
+ # NOTHING TO DO: https://github.com/odoo/odoo/commit/9e769e1b11f22890e5245859053bc8dd31e42634
225
+
226
+ account / res.company / hard_lock_date (date) : NEW
227
+ account / res.company / period_lock_date (date) : DEL
228
+ account / res.company / purchase_lock_date (date) : NEW
229
+ account / res.company / sale_lock_date (date) : NEW
230
+ # DONE: post-migration: filled sale_lock_date and purchase_lock_date with period_lock_date
231
+
232
+ account / res.currency / fiscal_country_codes (char) : not a function anymore
233
+ NOTHING TO DO (still store=False)
234
+
235
+ account / res.partner / autopost_bills (selection) : NEW required, selection_keys: ['always', 'ask', 'never'], hasdefault: default
236
+ account / res.partner / display_invoice_edi_format (boolean): NEW hasdefault: default, stored: False
237
+ account / res.partner / display_invoice_template_pdf_report_id (boolean): NEW hasdefault: default, stored: False
238
+ account / res.partner / ignore_abnormal_invoice_amount (boolean): NEW
239
+ account / res.partner / ignore_abnormal_invoice_date (boolean): NEW
240
+ account / res.partner / invoice_edi_format_store (char): NEW
241
+ account / res.partner / invoice_sending_method (selection): NEW selection_keys: ['email', 'manual']
242
+ account / res.partner / invoice_template_pdf_report_id (many2one): NEW relation: ir.actions.report
243
+ NOTHING TO DO: new features
244
+
245
+ account / res.partner / last_time_entries_checked (datetime): DEL
246
+ # NOTHING TO DO: https://github.com/odoo/odoo/commit/3cec797886e5179cc0efd9e70ab267a215f6dced
247
+
248
+ account / res.partner / property_inbound_payment_method_line_id (many2one): NEW relation: account.payment.method.line
249
+ account / res.partner / property_outbound_payment_method_line_id (many2one): NEW relation: account.payment.method.line
250
+ # post-migration: use old property_payment_method_id (from account_check_printing) to fill property_outbound_payment_method_line_id
251
+
252
+ account / res.partner / credit_limit (float) : needs conversion to v18-style company dependent
253
+ account / res.partner / property_account_payable_id (many2one): needs conversion to v18-style company dependent
254
+ account / res.partner / property_account_position_id (many2one): needs conversion to v18-style company dependent
255
+ account / res.partner / property_account_receivable_id (many2one): needs conversion to v18-style company dependent
256
+ account / res.partner / property_payment_term_id (many2one): needs conversion to v18-style company dependent
257
+ account / res.partner / property_supplier_payment_term_id (many2one): needs conversion to v18-style company dependent
258
+ account / res.partner / trust (selection) : needs conversion to v18-style company dependent
259
+ # DONE: post-migration: used openupgrade_180.convert_company_dependent
260
+
261
+ account_audit_trail / mail.mail / account_audit_log_preview (html): type is now 'text' ('html')
262
+ account_audit_trail / mail.message / account_audit_log_preview (html): type is now 'text' ('html')
263
+ # NOTHING TO DO (still store=False)
264
+
265
+ ---XML records in module 'account'---
266
+ NEW account.payment.term: account.account_payment_term_90days_on_the_10th (noupdate)
267
+ NEW digest.tip: account.digest_tip_account_1
268
+ NEW ir.actions.act_window: account.account_merge_wizard_action
269
+ NEW ir.actions.act_window: account.action_account_audit_trail_report [renamed from account_audit_trail module]
270
+ NEW ir.actions.act_window: account.action_amounts_to_settle
271
+ NEW ir.actions.act_window: account.action_base_document_layout_configurator
272
+ NEW ir.actions.act_window: account.action_credit_statement_tree
273
+ NEW ir.actions.act_window: account.action_move_in_invoice
274
+ NEW ir.actions.act_window: account.action_move_out_invoice
275
+ NEW ir.actions.act_window: account.action_view_account_secure_entries_wizard
276
+ # NOTHING TO DO
277
+
278
+ DEL ir.actions.act_window: account.action_account_unreconcile
279
+ NEW ir.actions.server: account.action_account_unreconcile
280
+ # DONE: pre-migration: deleted old one to avoid conflict
281
+
282
+ DEL ir.actions.act_window: account.action_open_payment_items
283
+ DEL ir.actions.act_window: account.action_open_sale_payment_items
284
+ DEL ir.actions.act_window: account_audit_trail.action_account_audit_trail_report [renamed to account module]
285
+ NEW ir.actions.server: account.action_move_block_payment
286
+ NEW ir.actions.server: account.action_move_force_register_payment
287
+ NEW ir.actions.server: account.action_unmerge_accounts
288
+ DEL ir.actions.server: account.action_account_invoice_from_list
289
+ DEL ir.actions.server: account.invoice_send
290
+ NEW ir.model.access: account.access_account_autopost_bills_wizard
291
+ NEW ir.model.access: account.access_account_code_mapping
292
+ NEW ir.model.access: account.access_account_code_mapping_manager
293
+ NEW ir.model.access: account.access_account_group_basic
294
+ NEW ir.model.access: account.access_account_lock_exception
295
+ NEW ir.model.access: account.access_account_lock_exception_manager
296
+ NEW ir.model.access: account.access_account_merge_wizard_line_manager
297
+ NEW ir.model.access: account.access_account_merge_wizard_manager
298
+ NEW ir.model.access: account.access_account_move_send_batch_wizard
299
+ NEW ir.model.access: account.access_account_move_send_wizard
300
+ NEW ir.model.access: account.access_account_payment_term_portal
301
+ NEW ir.model.access: account.access_account_report_basic
302
+ NEW ir.model.access: account.access_account_report_column_basic
303
+ NEW ir.model.access: account.access_account_report_expression_basic
304
+ NEW ir.model.access: account.access_account_report_line_basic
305
+ NEW ir.model.access: account.access_account_secure_entries_wizard
306
+ DEL ir.model.access: account.access_account_move_send
307
+ DEL ir.model.access: account.access_account_tour_upload_bill
308
+ DEL ir.model.access: account.access_account_tour_upload_bill_email_confirm
309
+ DEL ir.model.access: account.access_account_unreconcile
310
+ # NOTHING TO DO
311
+
312
+ DEL ir.property: account.default_followup_trust (noupdate)
313
+ # DONE: post-migration: delete old property safely (now it's an ir.default record created by ORM)
314
+
315
+ NEW ir.rule: account.account_move_send_batch_rule_group_invoice (noupdate)
316
+ NEW ir.rule: account.account_move_send_single_rule_group_invoice (noupdate)
317
+ DEL ir.rule: account.account_move_send_rule_group_invoice (noupdate)
318
+ DEL ir.rule: account.account_root_comp_rule (noupdate)
319
+ # DONE: post-migration: delete old rules safely
320
+
321
+ NEW ir.sequence: account.seq_account_payment (noupdate)
322
+ NEW ir.ui.menu: account.account_audit_trail_menu [renamed from account_audit_trail module]
323
+ NEW ir.ui.menu: account.account_reports_partners_reports_menu
324
+ NEW ir.ui.menu: account.menu_action_secure_entries
325
+ DEL ir.ui.menu: account.menu_account_supplier_accounts
326
+ DEL ir.ui.menu: account.menu_finance_entries_accounting_miscellaneous
327
+ DEL ir.ui.menu: account.menu_finance_entries_actions
328
+ DEL ir.ui.menu: account.menu_finance_entries_generate_entries
329
+ DEL ir.ui.menu: account.menu_finance_entries_management
330
+ DEL ir.ui.menu: account_audit_trail.account_audit_trail_menu [renamed to account module]
331
+ NEW ir.ui.view: account.account_merge_wizard_form
332
+ NEW ir.ui.view: account.account_move_send_batch_wizard_form
333
+ NEW ir.ui.view: account.account_move_send_wizard_form
334
+ NEW ir.ui.view: account.autopost_bills_wizard
335
+ NEW ir.ui.view: account.email_template_mail_gateway_failed (noupdate)
336
+ NEW ir.ui.view: account.ir_actions_report_form_inherit_account
337
+ NEW ir.ui.view: account.partner_missing_account_list_view
338
+ NEW ir.ui.view: account.portal_my_details_fields
339
+ NEW ir.ui.view: account.product_product_view_form_normalized_account
340
+ NEW ir.ui.view: account.product_view_search_catalog
341
+ NEW ir.ui.view: account.report_invoice_document_preview
342
+ NEW ir.ui.view: account.report_invoice_wizard_iframe
343
+ NEW ir.ui.view: account.res_partner_view_tree
344
+ NEW ir.ui.view: account.tests_shared_js_python
345
+ NEW ir.ui.view: account.view_account_bill_filter
346
+ NEW ir.ui.view: account.view_account_lock_exception_form
347
+ NEW ir.ui.view: account.view_account_move_with_gaps_in_sequence_filter
348
+ NEW ir.ui.view: account.view_account_payment_method_line_kanban_mobile
349
+ NEW ir.ui.view: account.view_account_secure_entries_wizard
350
+ NEW ir.ui.view: account.view_base_document_layout
351
+ NEW ir.ui.view: account.view_duplicated_moves_tree_js
352
+ NEW ir.ui.view: account.view_message_tree_audit_log
353
+ NEW ir.ui.view: account.view_message_tree_audit_log_search
354
+ NEW ir.ui.view: account.view_move_tree_multi_edit
355
+ DEL ir.ui.view: account.account_move_send_form
356
+ DEL ir.ui.view: account.account_tour_upload_bill
357
+ DEL ir.ui.view: account.account_tour_upload_bill_email_confirm
358
+ DEL ir.ui.view: account.account_unreconcile_view
359
+ DEL ir.ui.view: account.tax_groups_totals
360
+ DEL ir.ui.view: account.view_account_payment_method_line_kanban
361
+ DEL ir.ui.view: account_audit_trail.res_config_settings_view_form_inherit_account_audit_trail
362
+ DEL ir.ui.view: account_audit_trail.view_message_tree_audit_log
363
+ DEL ir.ui.view: account_audit_trail.view_message_tree_audit_log_search
364
+ DEL ir.ui.view: account_payment_term.account_payment_term_form
365
+ DEL ir.ui.view: l10n_dk_bookkeeping.view_move_form_l10n_dk
366
+ DEL ir.ui.view: l10n_dk_bookkeeping.view_move_line_tree_l10n_dk
367
+ NEW res.groups: account.group_account_basic
368
+ NEW res.groups: account.group_account_secured
369
+ NEW web_tour.tour: account.account_tour
370
+ # NOTHING TO DO
371
+
372
+ DEL onboarding.onboarding: account.onboarding_onboarding_account_invoice (noupdate)
373
+ DEL onboarding.onboarding.step: account.onboarding_onboarding_step_bank_account (noupdate)
374
+ DEL onboarding.onboarding.step: account.onboarding_onboarding_step_create_invoice (noupdate)
375
+ DEL onboarding.onboarding.step: account.onboarding_onboarding_step_default_taxes (noupdate)
376
+ DEL onboarding.onboarding.step: account.onboarding_onboarding_step_setup_bill (noupdate)
377
+ # DONE: post-migration: safely delete
@@ -0,0 +1,19 @@
1
+ env = locals().get("env")
2
+ # call sending wizard on some moves asynchronously
3
+ action = (
4
+ env["account.move"]
5
+ .search(
6
+ [
7
+ ("move_type", "=", "out_invoice"),
8
+ ("state", "=", "posted"),
9
+ ("company_id", "=", env.ref("base.main_company").id),
10
+ ]
11
+ )
12
+ .action_send_and_print()
13
+ )
14
+ env[action["res_model"]].with_context(**action["context"]).create(
15
+ {
16
+ "checkbox_download": False,
17
+ }
18
+ ).action_send_and_print()
19
+ env.cr.commit()
@@ -0,0 +1,25 @@
1
+ from odoo.tests import TransactionCase
2
+
3
+ from odoo.addons.openupgrade_framework import openupgrade_test
4
+
5
+
6
+ @openupgrade_test
7
+ class TestAccountMigration(TransactionCase):
8
+ def test_sending_data(self):
9
+ """
10
+ Test that me migrate send_and_print_values correctly to sending_data
11
+ """
12
+ moves_with_sending_data = self.env["account.move"].search(
13
+ [
14
+ ("sending_data", "!=", False),
15
+ ]
16
+ )
17
+ self.assertTrue(moves_with_sending_data)
18
+ self.assertEqual(
19
+ moves_with_sending_data[0].sending_data["author_user_id"],
20
+ self.env.user.id,
21
+ )
22
+ self.assertEqual(
23
+ moves_with_sending_data[0].sending_data["author_partner_id"],
24
+ self.env.user.partner_id.id,
25
+ )
@@ -1,5 +1,6 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
2
  <odoo>
3
+ <!-- Nothing to do. See https://github.com/odoo/odoo/commit/ac106704f3c2d3e3fa94415134b9d5522b325378 -->
3
4
  <record id="onboarding_onboarding_step_payment_provider" model="onboarding.onboarding.step">
4
5
  <field name="onboarding_ids"/>
5
6
  </record>
@@ -0,0 +1,11 @@
1
+ ---Models in module 'account_payment'---
2
+ ---Fields in module 'account_payment'---
3
+ ---XML records in module 'account_payment'---
4
+ NEW ir.ui.view: account_payment.form
5
+ NEW ir.ui.view: account_payment.payment_link_wizard__form_inherit_account_payment
6
+ NEW ir.ui.view: account_payment.portal_docs_entry
7
+ NEW ir.ui.view: account_payment.portal_invoice_payment_paid
8
+ NEW ir.ui.view: account_payment.portal_my_home_account_payment
9
+ NEW ir.ui.view: account_payment.portal_my_home_overdue_invoice
10
+ NEW ir.ui.view: account_payment.portal_overdue_invoices_page
11
+ # NOTHING TO DO
@@ -12,21 +12,21 @@ def product_document_sequence(env):
12
12
  env.cr,
13
13
  """
14
14
  UPDATE product_document
15
- SET sequence=sequence.sequence
15
+ SET sequence=seq.seq
16
16
  FROM
17
17
  (
18
18
  SELECT
19
19
  product_document.id, row_number() OVER (
20
20
  PARTITION BY ir_attachment.res_id, ir_attachment.res_model
21
21
  ORDER BY ir_attachment.name
22
- ) sequence
22
+ ) AS seq
23
23
  FROM
24
24
  product_document
25
25
  JOIN ir_attachment
26
26
  ON product_document.ir_attachment_id=ir_attachment.id
27
- ) sequence
27
+ ) AS seq
28
28
  WHERE
29
- sequence.id=product_document.id
29
+ seq.id=product_document.id
30
30
  AND product_document.sequence IS NULL
31
31
  """,
32
32
  )
@@ -0,0 +1,10 @@
1
+ ---Models in module 'rating'---
2
+ ---Fields in module 'rating'---
3
+ rating / fleet.vehicle.model / rating_ids (one2many) : NEW relation: rating.rating
4
+ rating / iap.account / rating_ids (one2many) : NEW relation: rating.rating
5
+ rating / product.category / rating_ids (one2many) : NEW relation: rating.rating
6
+ # NOTHING TO DO: fluke of analysis module
7
+
8
+ ---XML records in module 'rating'---
9
+ NEW ir.ui.view: rating.rating_external_page_invalid_partner
10
+ # NOTHING TO DO
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-openupgrade_scripts
3
- Version: 18.0.1.0.0.73
3
+ Version: 18.0.1.0.0.79
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo==18.0.*
6
6
  Requires-Dist: openupgradelib
@@ -6,7 +6,12 @@ odoo/addons/openupgrade_scripts/readme/CONFIGURE.md,sha256=rnx8ADTYzVUB93PIG3Lib
6
6
  odoo/addons/openupgrade_scripts/readme/DESCRIPTION.md,sha256=6hwHccovmE9cfaV7PQPvKUvNJa-f_Uc1wgXyL_SrYck,86
7
7
  odoo/addons/openupgrade_scripts/readme/INSTALL.md,sha256=NDKVZRv0J8BTqcSTD7JwUXL_AY-cDJoegn5IUTbEOFk,113
8
8
  odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/noupdate_changes.xml,sha256=1SneJujek6MgUrwI0rVHsDylugguPefT0IsNfQDdmhk,3897
9
+ odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/post-migration.py,sha256=-U8ClT3fU6ANex1D4H5owTIYHpNvBs4gbKehPmvcUcg,6049
10
+ odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py,sha256=PhJf_Lde2fk6EjaWUL_TmlGoPY--2WCT3zcbx1ZlaGU,6863
9
11
  odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis.txt,sha256=vbyBRym4DSEQxqxhMH_InF37tEvmv4ZNXvHue0n3OW0,22056
12
+ odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt,sha256=YrfcO8-DN1AlFM261lufp4yhGUyGL1G6_9MBEHnkqf8,25107
13
+ odoo/addons/openupgrade_scripts/scripts/account/tests/data.py,sha256=beOIEOzb6-hvlpjM9VVZrSj8pqZ6U7AcrS-w3vkTgsU,490
14
+ odoo/addons/openupgrade_scripts/scripts/account/tests/test_migration.py,sha256=UsHOHhSkUkmcm4inSE8VgFIn79E-6i9FXt3v6jHW5HY,791
10
15
  odoo/addons/openupgrade_scripts/scripts/account_check_printing/18.0.1.0/upgrade_analysis.txt,sha256=IY2z67lgzVtwG7Zzj71ks2why2Hwuz-mRPy9xEqfBcY,675
11
16
  odoo/addons/openupgrade_scripts/scripts/account_debit_note/18.0.1.0/upgrade_analysis.txt,sha256=y_V4K30-YOvo6jAgaKd12gJ6YHzTGz3fex6EdgDUjkg,527
12
17
  odoo/addons/openupgrade_scripts/scripts/account_edi/18.0.1.0/upgrade_analysis.txt,sha256=9oOTmiRvFNMJlJ4jUcwZex9bu9H2ubgwgQI22Ep_dyI,156
@@ -14,8 +19,9 @@ odoo/addons/openupgrade_scripts/scripts/account_edi_proxy_client/18.0.1.0/upgrad
14
19
  odoo/addons/openupgrade_scripts/scripts/account_edi_ubl_cii/18.0.1.0/upgrade_analysis.txt,sha256=nXDzov1UEWqRx89hsDvM9xuyPohELiTqT5U5H4H7T58,2724
15
20
  odoo/addons/openupgrade_scripts/scripts/account_edi_ubl_cii_tax_extension/18.0.1.0/upgrade_analysis.txt,sha256=rcCuXHU-maa0y4sBG1MYAvfXxjQq8MTzxIDcAxyKJTc,222
16
21
  odoo/addons/openupgrade_scripts/scripts/account_fleet/18.0.1.0/upgrade_analysis.txt,sha256=10CCDsJ4PtBUMqMk7HIqAcydbtz834S7czvftaUDQjc,534
17
- odoo/addons/openupgrade_scripts/scripts/account_payment/18.0.2.0/noupdate_changes.xml,sha256=Pk4cPPyZPYny1BuacSqXpuMpd2WCgmzMWh0KI0qcCPw,196
22
+ odoo/addons/openupgrade_scripts/scripts/account_payment/18.0.2.0/noupdate_changes.xml,sha256=qEF8JqPI11u1TBuVSIC7ZufwJhClep7WVRx4SJ2-naU,303
18
23
  odoo/addons/openupgrade_scripts/scripts/account_payment/18.0.2.0/upgrade_analysis.txt,sha256=v2_DjSKVkR4OAwcPapt4rDWAipoMPnWdlvIq6UTjH5U,544
24
+ odoo/addons/openupgrade_scripts/scripts/account_payment/18.0.2.0/upgrade_analysis_work.txt,sha256=f6_XQdfTic1_uCSsiqyGDcJ0uUPKzkvzy6l_yvRlI4c,560
19
25
  odoo/addons/openupgrade_scripts/scripts/account_peppol/18.0.1.1/upgrade_analysis.txt,sha256=xtMggz3y7y1A-0M3A91KDhyRZdfTbkeRCTYO0sv3--8,2239
20
26
  odoo/addons/openupgrade_scripts/scripts/account_qr_code_emv/18.0.1.0/upgrade_analysis.txt,sha256=WwyAiYPuU5tqvEaM-MiEifL_GXEPJVzlJ_r-zWVXRoA,266
21
27
  odoo/addons/openupgrade_scripts/scripts/account_tax_python/18.0.1.0/upgrade_analysis.txt,sha256=XkDiZirAO_bjTgYRoep5F1e3d4HgRGNRS_co1nqc0vQ,409
@@ -373,7 +379,7 @@ odoo/addons/openupgrade_scripts/scripts/pos_sms/18.0.1.0/upgrade_analysis.txt,sh
373
379
  odoo/addons/openupgrade_scripts/scripts/pos_stripe/18.0.1.0/upgrade_analysis.txt,sha256=msYJoACfH4fpPoraAn3Z6NoclsSl2D3-B1v-CkNcCMM,153
374
380
  odoo/addons/openupgrade_scripts/scripts/pos_viva_wallet/18.0.1.0/upgrade_analysis.txt,sha256=papgWPA_nb2FLlo9OXYamidxXTcJ8DatToyQk_SW4Kk,168
375
381
  odoo/addons/openupgrade_scripts/scripts/privacy_lookup/18.0.1.0/upgrade_analysis.txt,sha256=l6bZO4RUtpRzJYYglTiPCXBa2Lni5Tl4AqAHkL0qU6g,165
376
- odoo/addons/openupgrade_scripts/scripts/product/18.0.1.2/post-migration.py,sha256=Klh8oJuDsuRYr63pzr8KgP0ixM9ZnBceWMqf8rvMwzA,2151
382
+ odoo/addons/openupgrade_scripts/scripts/product/18.0.1.2/post-migration.py,sha256=JjL8vnwrGY6yKAkzNfGDX-sw3UF7237x6FpxmNNhXcY,2132
377
383
  odoo/addons/openupgrade_scripts/scripts/product/18.0.1.2/pre-migration.py,sha256=rhHrHEAjZp55e8ee1vouAxY7l7jGIkKNkHfYSZWj-wc,2083
378
384
  odoo/addons/openupgrade_scripts/scripts/product/18.0.1.2/upgrade_analysis.txt,sha256=yJxmoMirP0EdN76CoXZPw1QVVnVnbwN7M206lL36pBA,7174
379
385
  odoo/addons/openupgrade_scripts/scripts/product/18.0.1.2/upgrade_analysis_work.txt,sha256=smdswndL9a51eAYarCUprjJp6vrZk2NRvPJM-feBZpk,6215
@@ -407,6 +413,7 @@ odoo/addons/openupgrade_scripts/scripts/purchase_requisition/18.0.0.1/upgrade_an
407
413
  odoo/addons/openupgrade_scripts/scripts/purchase_requisition_stock/18.0.1.2/upgrade_analysis.txt,sha256=VBgWrgfN-tlD1isnEjx1DbRhTjvxqZIleJCKlwtjLNo,201
408
414
  odoo/addons/openupgrade_scripts/scripts/purchase_stock/18.0.1.2/upgrade_analysis.txt,sha256=bKN4Lj4npFdtZEb-tEXGwtud6jzfEJq01t5PYrr8VUk,1011
409
415
  odoo/addons/openupgrade_scripts/scripts/rating/18.0.1.1/upgrade_analysis.txt,sha256=qW5H3qcAfhOJGRtKOksLYVTMUWRwhEdz61oHa9nagi0,467
416
+ odoo/addons/openupgrade_scripts/scripts/rating/18.0.1.1/upgrade_analysis_work.txt,sha256=OeCuYPxiMWcK8zJnxwe99VhNUnJ_xEYFboxEHNpH7V0,526
410
417
  odoo/addons/openupgrade_scripts/scripts/repair/18.0.1.0/upgrade_analysis.txt,sha256=AK-tIsgeIf2mAupSeih2oWn5KLMwR1zh5tFEwsmBDT0,1678
411
418
  odoo/addons/openupgrade_scripts/scripts/resource/18.0.1.1/noupdate_changes.xml,sha256=S7tt5sHOk73ZZ37pDd3-u8zWp5Azisq0dp4MyDYdAso,184
412
419
  odoo/addons/openupgrade_scripts/scripts/resource/18.0.1.1/post-migration.py,sha256=oHLhpXY8oeX6HQHUnTzVTOs8iRus5mAM80-juY9btpw,292
@@ -518,7 +525,7 @@ odoo/addons/openupgrade_scripts/scripts/website_slides_survey/18.0.1.0/upgrade_a
518
525
  odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
519
526
  odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
520
527
  odoo/addons/openupgrade_scripts/static/description/index.html,sha256=Jc0qAThlH5WnoSq6vPamjC8WyMkdo_9zkhDuU1qW1VI,12722
521
- odoo_addon_openupgrade_scripts-18.0.1.0.0.73.dist-info/METADATA,sha256=KweVPNkdSoJrUj1icR03t4cX-9cJUzXhr1ctplvk-d0,3774
522
- odoo_addon_openupgrade_scripts-18.0.1.0.0.73.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
523
- odoo_addon_openupgrade_scripts-18.0.1.0.0.73.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
524
- odoo_addon_openupgrade_scripts-18.0.1.0.0.73.dist-info/RECORD,,
528
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.79.dist-info/METADATA,sha256=pOAF8py2K_fACMh08XNRT-M29TiHeaZ5EQz7dtD1jT8,3774
529
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.79.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
530
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.79.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
531
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.79.dist-info/RECORD,,