odoo-addon-openupgrade-scripts 17.0.1.0.1.73__py3-none-any.whl → 17.0.1.0.1.85__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.
Files changed (19) hide show
  1. odoo/addons/openupgrade_scripts/apriori.py +2 -0
  2. odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/noupdate_changes_work.xml +157 -0
  3. odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/post-migration.py +544 -0
  4. odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py +291 -0
  5. odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/upgrade_analysis_work.txt +498 -0
  6. odoo/addons/openupgrade_scripts/scripts/account/tests/data_account_migration.py +20 -0
  7. odoo/addons/openupgrade_scripts/scripts/account/tests/test_account_migration.py +34 -0
  8. odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/pre-migration.py +4 -1
  9. odoo/addons/openupgrade_scripts/scripts/gamification/17.0.1.0/pre-migration.py +1 -1
  10. odoo/addons/openupgrade_scripts/scripts/gamification/17.0.1.0/upgrade_analysis_work.txt +1 -1
  11. odoo/addons/openupgrade_scripts/scripts/stock/17.0.1.1/post-migration.py +90 -0
  12. odoo/addons/openupgrade_scripts/scripts/stock/17.0.1.1/pre-migration.py +43 -0
  13. odoo/addons/openupgrade_scripts/scripts/stock/17.0.1.1/upgrade_analysis_work.txt +163 -0
  14. odoo/addons/openupgrade_scripts/scripts/stock/tests/data_stock_migration.py +16 -0
  15. odoo/addons/openupgrade_scripts/scripts/stock/tests/test_stock_migration.py +31 -0
  16. {odoo_addon_openupgrade_scripts-17.0.1.0.1.73.dist-info → odoo_addon_openupgrade_scripts-17.0.1.0.1.85.dist-info}/METADATA +1 -1
  17. {odoo_addon_openupgrade_scripts-17.0.1.0.1.73.dist-info → odoo_addon_openupgrade_scripts-17.0.1.0.1.85.dist-info}/RECORD +19 -8
  18. {odoo_addon_openupgrade_scripts-17.0.1.0.1.73.dist-info → odoo_addon_openupgrade_scripts-17.0.1.0.1.85.dist-info}/WHEEL +0 -0
  19. {odoo_addon_openupgrade_scripts-17.0.1.0.1.73.dist-info → odoo_addon_openupgrade_scripts-17.0.1.0.1.85.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,498 @@
1
+ ---Models in module 'account'---
2
+ obsolete model account.account.template
3
+ obsolete model account.fiscal.position.account.template
4
+ obsolete model account.fiscal.position.tax.template
5
+ obsolete model account.fiscal.position.template
6
+ obsolete model account.group.template
7
+ obsolete model account.reconcile.model.line.template
8
+ obsolete model account.reconcile.model.template
9
+ obsolete model account.tax.repartition.line.template
10
+ obsolete model account.tax.template
11
+ # DONE: these models has been converted to CSV definition and existing company records XML-ID follow the same logic. Removed all constraints from tables
12
+
13
+ obsolete model account.invoice.send [transient]
14
+ new model account.move.send [transient]
15
+ # NOTHING TO DO: Replaced feature, but nothing to transfer, being transient models
16
+
17
+ ---Fields in module 'account'---
18
+ account / account.account / _order : _order is now 'code, company_id' ('is_off_balance, code, company_id')
19
+ account / account.account / is_off_balance (boolean) : DEL
20
+ # NOTHING TO DO: is_off_balance dissapears, but nobody will miss it, as it was underused and even incorrect (due to blocking certain operations)
21
+
22
+ account / account.account / message_main_attachment_id (many2one): DEL relation: ir.attachment
23
+ # NOTHING TO DO: Feature not used in general
24
+
25
+ account / account.account / rating_ids (one2many) : NEW relation: rating.rating
26
+ # NOTHING TO DO: New feature
27
+
28
+ account / account.account.template / account_type (selection) : DEL selection_keys: ['asset_cash', 'asset_current', 'asset_fixed', 'asset_non_current', 'asset_prepayments', 'asset_receivable', 'equity', 'equity_unaffected', 'expense', 'expense_depreciation', 'expense_direct_cost', 'income', 'income_other', 'liability_credit_card', 'liability_current', 'liability_non_current', 'liability_payable', 'off_balance']
29
+ account / account.account.template / chart_template_id (many2one) : DEL relation: account.chart.template
30
+ account / account.account.template / code (char) : DEL required
31
+ account / account.account.template / currency_id (many2one) : DEL relation: res.currency
32
+ account / account.account.template / message_follower_ids (one2many): DEL relation: mail.followers
33
+ account / account.account.template / message_ids (one2many) : DEL relation: mail.message
34
+ account / account.account.template / message_main_attachment_id (many2one): DEL relation: ir.attachment
35
+ account / account.account.template / name (char) : DEL required
36
+ account / account.account.template / nocreate (boolean) : DEL
37
+ account / account.account.template / note (text) : DEL
38
+ account / account.account.template / reconcile (boolean) : DEL
39
+ account / account.account.template / tag_ids (many2many) : DEL relation: account.account.tag
40
+ account / account.account.template / tax_ids (many2many) : DEL relation: account.tax.template
41
+ account / account.account.template / website_message_ids (one2many): DEL relation: mail.message
42
+ account / account.bank.statement.line / amount_total_words (char) : previously in module l10n_dz
43
+ account / account.bank.statement.line / transaction_details (json) : NEW
44
+ account / account.chart.template / account_ids (one2many) : DEL relation: account.account.template
45
+ account / account.chart.template / account_journal_early_pay_discount_gain_account_id (many2one): DEL relation: account.account.template
46
+ account / account.chart.template / account_journal_early_pay_discount_loss_account_id (many2one): DEL relation: account.account.template
47
+ account / account.chart.template / account_journal_payment_credit_account_id (many2one): DEL relation: account.account.template
48
+ account / account.chart.template / account_journal_payment_debit_account_id (many2one): DEL relation: account.account.template
49
+ account / account.chart.template / account_journal_suspense_account_id (many2one): DEL relation: account.account.template
50
+ account / account.chart.template / bank_account_code_prefix (char): DEL required
51
+ account / account.chart.template / cash_account_code_prefix (char): DEL required
52
+ account / account.chart.template / code_digits (integer) : DEL required
53
+ account / account.chart.template / country_id (many2one) : DEL relation: res.country
54
+ account / account.chart.template / currency_id (many2one) : DEL relation: res.currency, required
55
+ account / account.chart.template / default_cash_difference_expense_account_id (many2one): DEL relation: account.account.template
56
+ account / account.chart.template / default_cash_difference_income_account_id (many2one): DEL relation: account.account.template
57
+ account / account.chart.template / default_pos_receivable_account_id (many2one): DEL relation: account.account.template
58
+ account / account.chart.template / expense_currency_exchange_account_id (many2one): DEL relation: account.account.template
59
+ account / account.chart.template / income_currency_exchange_account_id (many2one): DEL relation: account.account.template
60
+ account / account.chart.template / name (char) : DEL required
61
+ account / account.chart.template / parent_id (many2one) : DEL relation: account.chart.template
62
+ account / account.chart.template / property_account_expense_categ_id (many2one): DEL relation: account.account.template
63
+ account / account.chart.template / property_account_expense_id (many2one): DEL relation: account.account.template
64
+ account / account.chart.template / property_account_income_categ_id (many2one): DEL relation: account.account.template
65
+ account / account.chart.template / property_account_income_id (many2one): DEL relation: account.account.template
66
+ account / account.chart.template / property_account_payable_id (many2one): DEL relation: account.account.template
67
+ account / account.chart.template / property_account_receivable_id (many2one): DEL relation: account.account.template
68
+ account / account.chart.template / property_advance_tax_payment_account_id (many2one): DEL relation: account.account.template
69
+ account / account.chart.template / property_cash_basis_base_account_id (many2one): DEL relation: account.account.template
70
+ account / account.chart.template / property_stock_account_input_categ_id (many2one): DEL relation: account.account.template
71
+ account / account.chart.template / property_stock_account_output_categ_id (many2one): DEL relation: account.account.template
72
+ account / account.chart.template / property_stock_valuation_account_id (many2one): DEL relation: account.account.template
73
+ account / account.chart.template / property_tax_payable_account_id (many2one): DEL relation: account.account.template
74
+ account / account.chart.template / property_tax_receivable_account_id (many2one): DEL relation: account.account.template
75
+ account / account.chart.template / tax_template_ids (one2many) : DEL relation: account.tax.template
76
+ account / account.chart.template / transfer_account_code_prefix (char): DEL required
77
+ account / account.chart.template / use_anglo_saxon (boolean) : DEL
78
+ account / account.chart.template / use_storno_accounting (boolean): DEL
79
+ account / account.chart.template / visible (boolean) : DEL
80
+ account / account.fiscal.position.account.template / account_dest_id (many2one) : DEL relation: account.account.template, required
81
+ account / account.fiscal.position.account.template / account_src_id (many2one) : DEL relation: account.account.template, required
82
+ account / account.fiscal.position.account.template / position_id (many2one) : DEL relation: account.fiscal.position.template, required
83
+ account / account.fiscal.position.tax.template / position_id (many2one) : DEL relation: account.fiscal.position.template, required
84
+ account / account.fiscal.position.tax.template / tax_dest_id (many2one) : DEL relation: account.tax.template
85
+ account / account.fiscal.position.tax.template / tax_src_id (many2one) : DEL relation: account.tax.template, required
86
+ account / account.fiscal.position.template / account_ids (one2many) : DEL relation: account.fiscal.position.account.template
87
+ account / account.fiscal.position.template / auto_apply (boolean) : DEL
88
+ account / account.fiscal.position.template / chart_template_id (many2one) : DEL relation: account.chart.template, required
89
+ account / account.fiscal.position.template / country_group_id (many2one) : DEL relation: res.country.group
90
+ account / account.fiscal.position.template / country_id (many2one) : DEL relation: res.country
91
+ account / account.fiscal.position.template / name (char) : DEL required
92
+ account / account.fiscal.position.template / note (text) : DEL
93
+ account / account.fiscal.position.template / sequence (integer) : DEL
94
+ account / account.fiscal.position.template / state_ids (many2many) : DEL relation: res.country.state
95
+ account / account.fiscal.position.template / tax_ids (one2many) : DEL relation: account.fiscal.position.tax.template
96
+ account / account.fiscal.position.template / vat_required (boolean) : DEL
97
+ account / account.fiscal.position.template / zip_from (char) : DEL
98
+ account / account.fiscal.position.template / zip_to (char) : DEL
99
+ account / account.group.template / chart_template_id (many2one) : DEL relation: account.chart.template, required
100
+ account / account.group.template / code_prefix_end (char) : DEL
101
+ account / account.group.template / code_prefix_start (char) : DEL
102
+ account / account.group.template / name (char) : DEL required
103
+ account / account.group.template / parent_id (many2one) : DEL relation: account.group.template
104
+ # NOTHING TO DO: These models has been converted to CSV definition and existing company records XML-ID follow the same logic
105
+
106
+ account / account.full.reconcile / name (char) : DEL required
107
+ account / account.move.line / matching_number (char) : not a function anymore
108
+ # NOTHING TO DO: The matching is now expressed through the record ID stored in the aml, instead of a sequence stored in the afr, so no real feature loss
109
+
110
+ account / account.journal / access_token (char) : NEW
111
+ # NOTHING TO DO: It's filled dynamically when the content is shared
112
+
113
+ account / account.journal / activity_user_id (many2one) : not related anymore
114
+ account / account.journal / activity_user_id (many2one) : now a function
115
+ account / account.journal / alias_domain (char) : not a function anymore
116
+ account / account.journal / alias_domain (char) : now related
117
+ account / account.journal / alias_name (char) : not a function anymore
118
+ account / account.journal / alias_name (char) : now related
119
+ # NOTHING TO DO: Changes on the underlying mixins, but without impact
120
+
121
+ account / account.journal / message_main_attachment_id (many2one): DEL relation: ir.attachment
122
+ # NOTHING TO DO: Non used feature removed
123
+
124
+ account / account.journal / rating_ids (one2many) : NEW relation: rating.rating
125
+ # NOTHING TO DO: New feature (not used, but brought by inheritance)
126
+
127
+ account / account.move / _order : _order is now 'date desc, name desc, invoice_date desc, id desc' ('date desc, name desc, id desc')
128
+ # NOTHING TO DO: Criteria order added, but in third place, not impacting in usual cases
129
+
130
+ account / account.move / activity_user_id (many2one) : not related anymore
131
+ account / account.move / activity_user_id (many2one) : now a function
132
+ # NOTHING TO DO: Changes on the underlying mixins, but without impact
133
+
134
+ account / account.move / amount_total_words (char) : previously in module l10n_dz
135
+ # NOTHING TO DO: compute no store
136
+
137
+ account / account.move / delivery_date (date) : NEW isfunction: function, stored
138
+ # DONE: pre-migration: Pre-create the column for not triggering the method. Modules modifying the computation (l10n_de and sale_stock) will fill the value. More info at https://github.com/odoo/odoo/pull/116643
139
+
140
+ account / account.move / incoterm_location (char) : NEW hasdefault: compute
141
+ # DONE: pre-migration: Pre-create the column for not triggering the method. Modules modifying the computation (sale_stock and purchase_stock) will fill the value. More info at https://github.com/odoo/odoo/pull/118954
142
+
143
+ account / account.move / invoice_payment_term_id (many2one): now a function
144
+ # NOTHING TO DO: inverse function added, compute function unchanged
145
+
146
+ account / account.move / invoice_pdf_report_file (binary): NEW attachment: True
147
+ # DONE: post-migration: update message_main_attachment_id with res_field and res_id of each invoice, see '_link_invoice_documents' in 'account.move.send'
148
+
149
+ account / account.move / rating_ids (one2many) : NEW relation: rating.rating
150
+ # NOTHING TO DO: New feature by inheritance (although not used)
151
+
152
+ account / account.move / send_and_print_values (json) : NEW
153
+ # NOTHING TO DO: This field is for storing transient data to indicate that the invoice is "programmed" to be sent, which is a new feature, so empty is OK.
154
+
155
+ account / account.move / show_update_fpos (boolean) : NEW
156
+ # NOTHING TO DO: Used in UI
157
+
158
+ account / account.move.line / discount_percentage (float) : DEL
159
+ # NOTHING TO DO: Auxiliary field for Early Payment discounts from payment terms that seems unused.
160
+
161
+ account / account.move.line / display_type (selection) : selection_keys is now '['cogs', 'discount', 'epd', 'line_note', 'line_section', 'payment_term', 'product', 'rounding', 'tax']' ('['cogs', 'epd', 'line_note', 'line_section', 'payment_term', 'product', 'rounding', 'tax']')
162
+ # NOTHING TO DO: new feature "Discount allocation" https://github.com/odoo/odoo/pull/133286
163
+
164
+ account / account.move.line / invoice_date (date) : NEW isrelated: related, stored
165
+ # NOTHING TO DO: ORM resolves by SQL this filling being a direct related field with 1 level depth.
166
+
167
+ account / account.move.line / tax_audit (char) : DEL
168
+ # NOTHING TO DO: deprecated
169
+
170
+ account / account.partial.reconcile / company_id (many2one) : not related anymore
171
+ # NOTHING TO DO
172
+
173
+ account / account.payment / activity_user_id (many2one) : not related anymore
174
+ account / account.payment / activity_user_id (many2one) : now a function
175
+ # NOTHING TO DO: New feature by inheritance.
176
+
177
+ account / account.payment / amount_total_words (char) : previously in module l10n_dz
178
+ # NOTHING TO DO: Compute non stored field.
179
+
180
+ account / account.payment / rating_ids (one2many) : NEW relation: rating.rating
181
+ # NOTHING TO DO: New feature by inheritance.
182
+
183
+ account / account.payment / qr_code (char) : type is now 'html' ('char')
184
+ # NOTHING TO DO: no store field
185
+
186
+ account / account.payment.term / discount_days (integer) : NEW hasdefault: default
187
+ account / account.payment.term / discount_percentage (float) : NEW hasdefault: default
188
+ account / account.payment.term / early_discount (boolean) : NEW
189
+ account / account.payment.term.line / discount_days (integer) : DEL
190
+ account / account.payment.term.line / discount_percentage (float) : DEL
191
+ # DONE: post-migration: Transfer when possible the early payment discount from lines to header.
192
+
193
+ account / account.payment.term / early_pay_discount_computation (selection): NEW selection_keys: ['excluded', 'included', 'mixed'], hasdefault: compute
194
+ account / res.company / early_pay_discount_computation (selection): DEL selection_keys: ['excluded', 'included', 'mixed']
195
+ # DONE: pre-migration: Pre-create the column for avoiding triggering the compute and transfer data from companies to all the payment terms.
196
+
197
+ account / account.payment.term / currency_id (many2one) : NEW relation: res.currency, hasdefault: default
198
+ # NOTHING TO DO: Compute non stored
199
+
200
+ account / account.payment.term.line / days (integer) : DEL required
201
+ account / account.payment.term.line / days_after (integer) : DEL
202
+ account / account.payment.term.line / delay_type (selection) : NEW required, selection_keys: ['days_after', 'days_after_end_of_month', 'days_after_end_of_next_month'], hasdefault: default
203
+ account / account.payment.term.line / end_month (boolean) : DEL
204
+ account / account.payment.term.line / months (integer) : DEL required
205
+ account / account.payment.term.line / nb_days (integer) : NEW hasdefault: compute
206
+ account / account.payment.term.line / value (selection) : selection_keys is now '['fixed', 'percent']' ('['balance', 'fixed', 'percent']')
207
+ # DONE: post-migration: convert columns, type and percentage https://github.com/odoo/odoo/pull/110274/
208
+
209
+ account / account.reconcile.model / message_main_attachment_id (many2one): DEL relation: ir.attachment
210
+ account / account.reconcile.model / rating_ids (one2many) : NEW relation: rating.rating
211
+ account / account.reconcile.model.line.template / account_id (many2one) : DEL relation: account.account.template
212
+ account / account.reconcile.model.line.template / amount_string (char) : DEL
213
+ account / account.reconcile.model.line.template / amount_type (selection) : DEL required, selection_keys: ['fixed', 'percentage', 'regex']
214
+ account / account.reconcile.model.line.template / force_tax_included (boolean) : DEL
215
+ account / account.reconcile.model.line.template / label (char) : DEL
216
+ account / account.reconcile.model.line.template / model_id (many2one) : DEL relation: account.reconcile.model.template
217
+ account / account.reconcile.model.line.template / sequence (integer) : DEL required
218
+ account / account.reconcile.model.line.template / tax_ids (many2many) : DEL relation: account.tax.template
219
+ account / account.reconcile.model.template / allow_payment_tolerance (boolean): DEL
220
+ account / account.reconcile.model.template / auto_reconcile (boolean) : DEL
221
+ account / account.reconcile.model.template / chart_template_id (many2one) : DEL relation: account.chart.template, required
222
+ account / account.reconcile.model.template / decimal_separator (char) : DEL
223
+ account / account.reconcile.model.template / line_ids (one2many) : DEL relation: account.reconcile.model.line.template
224
+ account / account.reconcile.model.template / match_amount (selection) : DEL selection_keys: ['between', 'greater', 'lower']
225
+ account / account.reconcile.model.template / match_amount_max (float) : DEL
226
+ account / account.reconcile.model.template / match_amount_min (float) : DEL
227
+ account / account.reconcile.model.template / match_journal_ids (many2many) : DEL relation: account.journal
228
+ account / account.reconcile.model.template / match_label (selection) : DEL selection_keys: ['contains', 'match_regex', 'not_contains']
229
+ account / account.reconcile.model.template / match_label_param (char) : DEL
230
+ account / account.reconcile.model.template / match_nature (selection) : DEL required, selection_keys: ['amount_paid', 'amount_received', 'both']
231
+ account / account.reconcile.model.template / match_note (selection) : DEL selection_keys: ['contains', 'match_regex', 'not_contains']
232
+ account / account.reconcile.model.template / match_note_param (char) : DEL
233
+ account / account.reconcile.model.template / match_partner (boolean) : DEL
234
+ account / account.reconcile.model.template / match_partner_category_ids (many2many): DEL relation: res.partner.category
235
+ account / account.reconcile.model.template / match_partner_ids (many2many) : DEL relation: res.partner
236
+ account / account.reconcile.model.template / match_same_currency (boolean) : DEL
237
+ account / account.reconcile.model.template / match_text_location_label (boolean): DEL
238
+ account / account.reconcile.model.template / match_text_location_note (boolean): DEL
239
+ account / account.reconcile.model.template / match_text_location_reference (boolean): DEL
240
+ account / account.reconcile.model.template / match_transaction_type (selection): DEL selection_keys: ['contains', 'match_regex', 'not_contains']
241
+ account / account.reconcile.model.template / match_transaction_type_param (char): DEL
242
+ account / account.reconcile.model.template / matching_order (selection) : DEL selection_keys: ['new_first', 'old_first']
243
+ account / account.reconcile.model.template / name (char) : DEL required
244
+ account / account.reconcile.model.template / payment_tolerance_param (float): DEL
245
+ account / account.reconcile.model.template / payment_tolerance_type (selection): DEL required, selection_keys: ['fixed_amount', 'percentage']
246
+ account / account.reconcile.model.template / rule_type (selection) : DEL required, selection_keys: ['invoice_matching', 'writeoff_button', 'writeoff_suggestion']
247
+ account / account.reconcile.model.template / sequence (integer) : DEL required
248
+ account / account.reconcile.model.template / to_check (boolean) : DEL
249
+ account / account.report / _order : _order is now 'sequence, id' ('id')
250
+ # NOTHING TO DO
251
+ account / account.report / active (boolean) : NEW hasdefault: default
252
+ # DONE: precreated with value True
253
+
254
+ account / account.report / chart_template (selection) : NEW selection_keys: function
255
+ account / account.report / chart_template_id (many2one) : DEL relation: account.chart.template
256
+ # DONE: map chart_template_id > chart_template in post-migration
257
+
258
+ account / account.report / default_opening_date_filter (selection): selection_keys is now '['last_month', 'last_quarter', 'last_tax_period', 'last_year', 'this_month', 'this_quarter', 'this_tax_period', 'this_year', 'today']' ('['last_month', 'last_quarter', 'last_year', 'this_month', 'this_quarter', 'this_year', 'today']')
259
+ # NOTHING TO DO: new feature
260
+
261
+ account / account.report / filter_account_type (boolean) : selection_keys is now '['both', 'disabled', 'payable', 'receivable']' ('False')
262
+ account / account.report / filter_account_type (boolean) : type is now 'selection' ('boolean')
263
+ # DONE: pre-migration: map False > disabled and True > both.
264
+
265
+ account / account.report / filter_aml_ir_filters (boolean): NEW hasdefault: compute
266
+ account / account.report / filter_hide_0_lines (selection): NEW selection_keys: ['by_default', 'never', 'optional'], hasdefault: compute
267
+ account / account.report / prefix_groups_threshold (integer): NEW
268
+ account / account.report / section_main_report_ids (many2many): NEW relation: account.report
269
+ account / account.report / section_report_ids (many2many): NEW relation: account.report
270
+ account / account.report / sequence (integer) : NEW
271
+ account / account.report / use_sections (boolean) : NEW hasdefault: compute
272
+ account / account.report.external.value / text_value (char) : NEW
273
+ account / account.report.line / external_formula (char) : NEW
274
+ account / account.report.line / user_groupby (char) : NEW
275
+ # NOTHING TO DO: probably need to do in module that add Localization report
276
+
277
+ account / account.report.column / figure_type (selection) : selection_keys is now '['boolean', 'date', 'datetime', 'float', 'integer', 'monetary', 'percentage', 'string']' ('['date', 'datetime', 'float', 'integer', 'monetary', 'none', 'percentage']')
278
+ account / account.report.expression / figure_type (selection) : selection_keys is now '['boolean', 'date', 'datetime', 'float', 'integer', 'monetary', 'percentage', 'string']' ('['date', 'datetime', 'float', 'integer', 'monetary', 'none', 'percentage']')
279
+ # DONE pre-migration: copy column for preservation and update none -> string
280
+
281
+ account / account.tax / invoice_label (char) : NEW
282
+ # DONE pre-migration: create jsonb column(because translate=True) and fill value with 'description' field https://github.com/odoo/odoo/pull/113236
283
+
284
+ account / account.tax / message_follower_ids (one2many): NEW relation: mail.followers
285
+ account / account.tax / message_ids (one2many) : NEW relation: mail.message
286
+ account / account.tax / rating_ids (one2many) : NEW relation: rating.rating
287
+ # NOTHING TO DO
288
+
289
+ account / account.tax / real_amount (float) : DEL
290
+ # NOTHING TO DO
291
+
292
+ account / account.tax / repartition_line_ids (one2many): NEW relation: account.tax.repartition.line
293
+ # NOTHING TO DO: https://github.com/odoo/odoo/pull/110016/commits/a4c1f62ebd2710b3810c2d01195d88e4a9f13a9f
294
+
295
+ account / account.tax / website_message_ids (one2many): NEW relation: mail.messag
296
+ # NOTHING TO DO
297
+
298
+ account / account.tax.group / advance_tax_payment_account_id (many2one): NEW relation: account.account
299
+ account / account.tax.group / property_advance_tax_payment_account_id (many2one): DEL relation: account.account
300
+ account / account.tax.group / property_tax_payable_account_id (many2one): DEL relation: account.account
301
+ account / account.tax.group / property_tax_receivable_account_id (many2one): DEL relation: account.account
302
+ account / account.tax.group / tax_payable_account_id (many2one): NEW relation: account.account
303
+ account / account.tax.group / tax_receivable_account_id (many2one): NEW relation: account.account
304
+ # DONE pre-migration: update value base on ir.property
305
+
306
+ account / account.tax.group / company_id (many2one) : NEW relation: res.company, required, hasdefault: default
307
+ # DONE pre-migration: create column and fill value base on account.tax
308
+
309
+ account / account.tax.repartition.line / _order : _order is now 'document_type, repartition_type, sequence, id' ('sequence, repartition_type, id')
310
+ account / account.tax.repartition.line / company_id (many2one) : not a function anymore
311
+ account / account.tax.repartition.line / company_id (many2one) : now related
312
+ # NOTHING TO DO
313
+
314
+ account / account.tax.repartition.line / document_type (selection) : is now stored
315
+ account / account.tax.repartition.line / document_type (selection) : not a function anymore
316
+ account / account.tax.repartition.line / document_type (selection) : now required
317
+ account / account.tax.repartition.line / invoice_tax_id (many2one) : DEL relation: account.tax
318
+ account / account.tax.repartition.line / refund_tax_id (many2one) : DEL relation: account.tax
319
+ account / account.tax.repartition.line / tax_id (many2one) : is now stored
320
+ account / account.tax.repartition.line / tax_id (many2one) : not a function anymore
321
+ # DONE : fill document_type and tax_id base on invoice_tax_id and refund_tax_id https://github.com/odoo/odoo/pull/110016/commits/a4c1f62ebd2710b3810c2d01195d88e4a9f13a9f
322
+
323
+ account / account.tax.repartition.line.template / account_id (many2one) : DEL relation: account.account.template
324
+ account / account.tax.repartition.line.template / factor_percent (float) : DEL required
325
+ account / account.tax.repartition.line.template / invoice_tax_id (many2one) : DEL relation: account.tax.template
326
+ account / account.tax.repartition.line.template / minus_report_expression_ids (many2many): DEL relation: account.report.expression
327
+ account / account.tax.repartition.line.template / plus_report_expression_ids (many2many): DEL relation: account.report.expression
328
+ account / account.tax.repartition.line.template / refund_tax_id (many2one) : DEL relation: account.tax.template
329
+ account / account.tax.repartition.line.template / repartition_type (selection) : DEL required, selection_keys: ['base', 'tax']
330
+ account / account.tax.repartition.line.template / tag_ids (many2many) : DEL relation: account.account.tag
331
+ account / account.tax.repartition.line.template / use_in_tax_closing (boolean) : DEL
332
+ account / account.tax.template / active (boolean) : DEL
333
+ account / account.tax.template / amount (float) : DEL required
334
+ account / account.tax.template / amount_type (selection) : DEL required, selection_keys: ['division', 'fixed', 'group', 'percent']
335
+ account / account.tax.template / analytic (boolean) : DEL
336
+ account / account.tax.template / cash_basis_transition_account_id (many2one): DEL relation: account.account.template
337
+ account / account.tax.template / chart_template_id (many2one) : DEL relation: account.chart.template, required
338
+ account / account.tax.template / children_tax_ids (many2many) : DEL relation: account.tax.template
339
+ account / account.tax.template / description (char) : DEL
340
+ account / account.tax.template / include_base_amount (boolean) : DEL
341
+ account / account.tax.template / invoice_repartition_line_ids (one2many): DEL relation: account.tax.repartition.line.template
342
+ account / account.tax.template / is_base_affected (boolean) : DEL
343
+ account / account.tax.template / name (char) : DEL required
344
+ account / account.tax.template / price_include (boolean) : DEL
345
+ account / account.tax.template / refund_repartition_line_ids (one2many): DEL relation: account.tax.repartition.line.template
346
+ account / account.tax.template / sequence (integer) : DEL required
347
+ account / account.tax.template / tax_exigibility (selection) : DEL selection_keys: ['on_invoice', 'on_payment']
348
+ account / account.tax.template / tax_group_id (many2one) : DEL relation: account.tax.group
349
+ account / account.tax.template / tax_scope (selection) : DEL selection_keys: ['consu', 'service']
350
+ account / account.tax.template / type_tax_use (selection) : DEL required, selection_keys: ['none', 'purchase', 'sale']
351
+ # NOTHING TO DO
352
+
353
+ account / res.company / account_dashboard_onboarding_state (selection): DEL selection_keys: ['closed', 'done', 'just_done', 'not_done']
354
+ account / res.company / account_invoice_onboarding_state (selection): DEL selection_keys: ['closed', 'done', 'just_done', 'not_done']
355
+ account / res.company / account_onboarding_create_invoice_state_flag (boolean): DEL
356
+ account / res.company / account_onboarding_invoice_layout_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
357
+ account / res.company / account_onboarding_sale_tax_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
358
+ account / res.company / account_setup_bank_data_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
359
+ account / res.company / account_setup_bill_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
360
+ account / res.company / account_setup_coa_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
361
+ account / res.company / account_setup_fy_data_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
362
+ account / res.company / account_setup_taxes_state (selection): DEL selection_keys: ['done', 'just_done', 'not_done']
363
+ # DONE post-migration: update base on onboarding module
364
+
365
+ account / res.company / account_discount_expense_allocation_id (many2one): NEW relation: account.account
366
+ account / res.company / account_discount_income_allocation_id (many2one): NEW relation: account.account
367
+ # NOTHING TO DO: new feature
368
+
369
+ account / res.company / chart_template (selection) : NEW selection_keys: function
370
+ account / res.company / chart_template_id (many2one) : DEL relation: account.chart.template
371
+ # DONE: map chart_template_id > chart_template in post-migration
372
+
373
+ account / res.company / display_invoice_amount_total_words (boolean): NEW
374
+ # NOTHING TO DO: new feature
375
+
376
+ account / res.company / invoice_is_download (boolean) : NEW hasdefault: default
377
+ account / res.company / invoice_is_print (boolean) : DEL
378
+ # DONE pre-migration: rename field https://github.com/odoo/odoo/pull/119397
379
+
380
+ account / res.company / message_main_attachment_id (many2one): DEL relation: ir.attachment
381
+ # NOTHING TO DO
382
+
383
+ account / res.company / property_stock_account_input_categ_id (many2one): DEL relation: account.account
384
+ account / res.company / property_stock_account_output_categ_id (many2one): DEL relation: account.account
385
+ account / res.company / property_stock_valuation_account_id (many2one): DEL relation: account.account
386
+ # NOTHING TO DO
387
+
388
+ account / res.company / rating_ids (one2many) : NEW relation: rating.rating
389
+ account / res.partner.bank / activity_user_id (many2one) : not related anymore
390
+ account / res.partner.bank / activity_user_id (many2one) : now a function
391
+ account / res.partner.bank / has_iban_warning (boolean) : NEW isfunction: function, stored
392
+ account / res.partner.bank / has_money_transfer_warning (boolean): NEW isfunction: function, stored
393
+ account / res.partner.bank / message_main_attachment_id (many2one): DEL relation: ir.attachment
394
+ account / res.partner.bank / rating_ids (one2many) : NEW relation: rating.rating
395
+ account / res.partner.bank / related_moves (one2many) : NEW relation: account.move
396
+ # NOTHING TO DO
397
+
398
+ ---XML records in module 'account'---
399
+ DEL account.payment.term: account.account_payment_term_2months (noupdate)
400
+ DEL account.tax.group: account.tax_group_taxes (noupdate)
401
+ # DONE: removed in post-migration
402
+
403
+ NEW ir.actions.act_window: account.action_account_all_payments
404
+ NEW ir.actions.act_window: account.action_account_supplier_accounts
405
+ NEW ir.actions.act_window: account.action_analytic_reporting
406
+ NEW ir.actions.act_window: account.action_open_payment_items
407
+ NEW ir.actions.act_window: account.action_open_sale_payment_items
408
+ DEL ir.actions.act_window: account.action_account_tax_template_form
409
+ DEL ir.actions.act_window: account.action_open_account_onboarding_create_invoice
410
+ DEL ir.actions.act_window: account.action_open_account_onboarding_sale_tax
411
+ NEW ir.actions.server: account.action_automatic_entry_change_account
412
+ NEW ir.actions.server: account.action_automatic_entry_change_period
413
+ NEW ir.actions.server: account.action_move_switch_move_type
414
+ DEL ir.actions.server: account.action_automatic_entry
415
+ DEL ir.actions.server: account.action_move_switch_invoice_to_credit_note
416
+ NEW ir.cron: account.ir_cron_account_move_send
417
+ NEW ir.model.access: account.access_account_journal_group_invoice
418
+ NEW ir.model.access: account.access_account_journal_group_readonly
419
+ NEW ir.model.access: account.access_account_move_send
420
+ DEL ir.model.access: account.access_account_account_template
421
+ DEL ir.model.access: account.access_account_chart_template
422
+ DEL ir.model.access: account.access_account_fiscal_position_account_template
423
+ DEL ir.model.access: account.access_account_fiscal_position_tax_template
424
+ DEL ir.model.access: account.access_account_fiscal_position_template
425
+ DEL ir.model.access: account.access_account_group_template
426
+ DEL ir.model.access: account.access_account_invoice_send
427
+ DEL ir.model.access: account.access_account_journal_group_all
428
+ DEL ir.model.access: account.access_account_reconcile_model_line_template
429
+ DEL ir.model.access: account.access_account_reconcile_model_template
430
+ DEL ir.model.access: account.access_account_tag_internal_user
431
+ DEL ir.model.access: account.access_account_tax_repartition_line_template_manager
432
+ DEL ir.model.access: account.access_account_tax_template
433
+ DEL ir.model.access: account.access_product_template_account_manager
434
+ DEL ir.model.constraint: account.constraint_account_account_code_company_uniq
435
+ DEL ir.model.constraint: account.constraint_account_fiscal_position_account_account_src_dest_uniq
436
+ DEL ir.model.constraint: account.constraint_account_tax_name_company_uniq
437
+ DEL ir.model.constraint: account.constraint_account_tax_template_name_company_uniq
438
+ DEL ir.model.constraint: account_sequence.constraint_account_move_unique_name
439
+ NEW ir.module.category: account.module_category_accounting_bank
440
+ NEW ir.rule: account.account_move_send_rule_group_invoice (noupdate)
441
+ NEW ir.rule: account.ir_rule_res_partner_bank_billing_officers (noupdate)
442
+ NEW ir.rule: account.tax_group_comp_rule (noupdate)
443
+ # NOTHING TO DO
444
+
445
+ DEL ir.rule: account.account_invoice_send_rule_group_invoice (noupdate)
446
+ DEL ir.sequence: account.sequence_reconcile_seq (noupdate)
447
+ # DONE: removed in post-migration
448
+
449
+ NEW ir.ui.menu: account.menu_account_supplier_accounts
450
+ NEW ir.ui.menu: account.menu_action_analytic_reporting
451
+ NEW ir.ui.menu: account.menu_action_open_payment_items
452
+ NEW ir.ui.menu: account.menu_action_open_sale_payment_items
453
+ NEW ir.ui.view: account.account_move_send_form
454
+ NEW ir.ui.view: account.account_move_view_activity
455
+ NEW ir.ui.view: account.document_tax_totals_company_currency_template
456
+ NEW ir.ui.view: account.document_tax_totals_template
457
+ NEW ir.ui.view: account.product_uom_form_view_inherit
458
+ NEW ir.ui.view: account.report_statement_internal_layout
459
+ NEW ir.ui.view: account.res_company_form_view_onboarding
460
+ NEW ir.ui.view: account.res_company_form_view_onboarding_sale_tax
461
+ NEW ir.ui.view: account.view_account_move_line_payment_filter
462
+ NEW ir.ui.view: account.view_account_payment_method_line_tree
463
+ NEW ir.ui.view: account.view_move_line_payment_tree
464
+ NEW ir.ui.view: account.view_partner_bank_search_inherit
465
+ DEL ir.ui.view: account.account_dashboard_onboarding_panel
466
+ DEL ir.ui.view: account.account_invoice_onboarding_panel
467
+ DEL ir.ui.view: account.account_invoice_onboarding_sale_tax_form
468
+ DEL ir.ui.view: account.account_invoice_send_wizard_form
469
+ DEL ir.ui.view: account.onboarding_bank_account_step
470
+ DEL ir.ui.view: account.onboarding_chart_of_account_step
471
+ DEL ir.ui.view: account.onboarding_create_invoice_step
472
+ DEL ir.ui.view: account.onboarding_fiscal_year_step
473
+ DEL ir.ui.view: account.onboarding_invoice_layout_step
474
+ DEL ir.ui.view: account.onboarding_sale_tax_step
475
+ DEL ir.ui.view: account.onboarding_taxes_step
476
+ DEL ir.ui.view: account.view_account_analytic_line_filter_inherit
477
+ DEL ir.ui.view: account.view_account_position_template_form
478
+ DEL ir.ui.view: account.view_account_position_template_search
479
+ DEL ir.ui.view: account.view_account_position_template_tree
480
+ DEL ir.ui.view: account.view_account_tax_template_form
481
+ DEL ir.ui.view: account.view_account_tax_template_search
482
+ DEL ir.ui.view: account.view_account_tax_template_tree
483
+ NEW onboarding.onboarding: account.onboarding_onboarding_account_dashboard (noupdate)
484
+ NEW onboarding.onboarding: account.onboarding_onboarding_account_invoice (noupdate)
485
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_bank_account (noupdate)
486
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_base_document_layout (noupdate)
487
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_chart_of_accounts (noupdate)
488
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_company_data (noupdate)
489
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_create_invoice (noupdate)
490
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_default_taxes (noupdate)
491
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_fiscal_year (noupdate)
492
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_sales_tax (noupdate)
493
+ NEW onboarding.onboarding.step: account.onboarding_onboarding_step_setup_bill (noupdate)
494
+ NEW report.paperformat: account.paperformat_euro_bank_statement
495
+ NEW res.groups: account.group_validate_bank_account
496
+ DEL res.groups: account.group_show_line_subtotals_tax_excluded
497
+ DEL res.groups: account.group_show_line_subtotals_tax_included
498
+ # NOTHING TO DO
@@ -0,0 +1,20 @@
1
+ env = locals().get("env")
2
+ # create payment term that triggers installation of account_payment_term
3
+ env["account.payment.term"].create(
4
+ {
5
+ "name": "Openupgrade test term",
6
+ "line_ids": [
7
+ (
8
+ 0,
9
+ 0,
10
+ {
11
+ "value": "balance",
12
+ "days": 10,
13
+ "end_month": True,
14
+ "days_after": 5,
15
+ },
16
+ ),
17
+ ],
18
+ }
19
+ )
20
+ env.cr.commit()
@@ -0,0 +1,34 @@
1
+ from odoo.tests import TransactionCase, tagged
2
+
3
+ from odoo.addons.openupgrade_framework import openupgrade_test
4
+
5
+
6
+ @openupgrade_test
7
+ class TestAccountMigration(TransactionCase):
8
+ def test_account_payment_term_installation(self):
9
+ """
10
+ Test that the extra payment term we add triggers installation of
11
+ account_payment_term
12
+ """
13
+ module = self.env["ir.module.module"].search(
14
+ [("name", "=", "account_payment_term")]
15
+ )
16
+ self.assertEqual(module.state, "to install")
17
+
18
+
19
+ @openupgrade_test
20
+ @tagged("post_install")
21
+ class TestAccountMigrationPost(TransactionCase):
22
+ def test_account_payment_term_migration(self):
23
+ """
24
+ Test that the extra payment term we add is migrated correctly
25
+ """
26
+ term = self.env["account.payment.term"].search(
27
+ [
28
+ ("name", "=", "Openupgrade test term"),
29
+ ]
30
+ )
31
+ self.assertEqual(
32
+ term.line_ids.days_next_month,
33
+ "5",
34
+ )
@@ -7,7 +7,10 @@ from openupgradelib import openupgrade
7
7
 
8
8
  from odoo import tools
9
9
 
10
- from odoo.addons.openupgrade_scripts.apriori import merged_modules, renamed_modules
10
+ from odoo.addons.openupgrade_scripts.apriori import ( # pylint: disable=odoo-addons-relative-import
11
+ merged_modules,
12
+ renamed_modules,
13
+ )
11
14
 
12
15
  _logger = logging.getLogger(__name__)
13
16
 
@@ -17,7 +17,7 @@ def new_tracking_fields(env):
17
17
  ALTER TABLE gamification_karma_tracking
18
18
  ADD COLUMN IF NOT EXISTS origin_ref varchar;
19
19
  UPDATE gamification_karma_tracking
20
- SET origin_ref = 'res.users,' || create_uid;
20
+ SET origin_ref = 'res.users,' || user_id;
21
21
  """,
22
22
  )
23
23
  openupgrade.logged_query(
@@ -13,7 +13,7 @@ gamification / gamification.karma.tracking / gain (integer) : NEW
13
13
 
14
14
  gamification / gamification.karma.tracking / origin_ref (reference) : NEW hasdefault: default
15
15
  gamification / gamification.karma.tracking / origin_ref_model_name (selection): NEW selection_keys: function, isfunction: function, stored
16
- # DONE: pre-migration: filled with create_uid
16
+ # DONE: pre-migration: filled with user_id
17
17
 
18
18
  gamification / gamification.karma.tracking / reason (text) : NEW hasdefault: default
19
19
  # NOTHING TO DO: let's use default one. Should we create/fill in pre-migration too?