odoo-addon-openupgrade-scripts 17.0.1.0.1.146__py3-none-any.whl → 17.0.1.0.1.152__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.
@@ -518,6 +518,36 @@ def _map_chart_template_id_to_chart_template(
518
518
  )
519
519
 
520
520
 
521
+ def _rename_coa_elements_xmlids(env):
522
+ """On v17, when you load a CoA into a company, the CoA elements are still given an
523
+ XML-ID with the company ID + `_` + the original template XML-ID, but now, instead of
524
+ putting the module containing the template, all of them are put with the module
525
+ `account`. Reference:
526
+
527
+ https://github.com/odoo/odoo/blob/b9abe46c1492b09e369434e76ec8196c6b02dd19/
528
+ addons/account/models/chart_template.py#L608
529
+
530
+ Thus, we need to rename the module for all the existing CoA elements XML-IDs with
531
+ this pattern.
532
+ """
533
+ for company in env["res.company"].search([]):
534
+ openupgrade.logged_query(
535
+ env.cr,
536
+ f"""
537
+ UPDATE ir_model_data
538
+ SET module='account'
539
+ WHERE module <> 'account'
540
+ AND model IN (
541
+ 'account.account',
542
+ 'account.fiscal.position',
543
+ 'account.group',
544
+ 'account.tax'
545
+ )
546
+ AND name LIKE '{company.id}_%'
547
+ """,
548
+ )
549
+
550
+
521
551
  @openupgrade.migrate()
522
552
  def migrate(env, version):
523
553
  _account_payment_term_migration(env)
@@ -542,3 +572,4 @@ def migrate(env, version):
542
572
  _account_tax_group_migration(env)
543
573
  _map_chart_template_id_to_chart_template(env, "res_company")
544
574
  _map_chart_template_id_to_chart_template(env, "account_report")
575
+ _rename_coa_elements_xmlids(env)
@@ -0,0 +1,44 @@
1
+ # Copyright 2025 Tecnativa - Carlos Lopez
2
+ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3
+
4
+ from openupgradelib import openupgrade
5
+
6
+
7
+ def _partner_fill_vies_valid(env):
8
+ openupgrade.logged_query(
9
+ env.cr,
10
+ """
11
+ WITH check_vies_enabled AS (
12
+ SELECT COUNT(*) AS count FROM res_company WHERE vat_check_vies
13
+ ),
14
+ eu_countries AS (
15
+ SELECT c.code
16
+ FROM res_country c
17
+ JOIN res_country_res_country_group_rel g ON c.id = g.res_country_id
18
+ JOIN res_country_group cg ON g.res_country_group_id = cg.id
19
+ JOIN ir_model_data imd ON cg.id = imd.res_id
20
+ WHERE imd.module = 'base'
21
+ AND imd.name = 'europe'
22
+ AND imd.model = 'res.country.group'
23
+ )
24
+ UPDATE res_partner p
25
+ SET vies_valid = CASE
26
+ WHEN (SELECT count FROM check_vies_enabled) = 0 THEN FALSE
27
+ WHEN LENGTH(p.vat) > 1
28
+ AND (
29
+ -- Extract VAT prefix
30
+ -- 1 or 2 characters according to the logic in _split_vat
31
+ LEFT(p.vat,
32
+ CASE WHEN SUBSTRING(p.vat, 2, 1) ~ '[A-Za-z]'
33
+ THEN 2 ELSE 1 END
34
+ ) IN (SELECT code FROM eu_countries)
35
+ ) THEN TRUE
36
+ ELSE FALSE
37
+ END;
38
+ """,
39
+ )
40
+
41
+
42
+ @openupgrade.migrate()
43
+ def migrate(env, version):
44
+ _partner_fill_vies_valid(env)
@@ -0,0 +1,18 @@
1
+ # Copyright 2025 Tecnativa - Carlos Lopez
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+ from openupgradelib import openupgrade
4
+
5
+
6
+ def _partner_create_vies_valid_column(env):
7
+ openupgrade.logged_query(
8
+ env.cr,
9
+ """
10
+ ALTER TABLE res_partner
11
+ ADD COLUMN IF NOT EXISTS vies_valid BOOLEAN;
12
+ """,
13
+ )
14
+
15
+
16
+ @openupgrade.migrate()
17
+ def migrate(env, version):
18
+ _partner_create_vies_valid_column(env)
@@ -0,0 +1,7 @@
1
+ ---Models in module 'base_vat'---
2
+ ---Fields in module 'base_vat'---
3
+ base_vat / res.partner / vies_failed_message (char) : DEL
4
+ # NOTHING TO DO
5
+ base_vat / res.partner / vies_valid (boolean) : NEW hasdefault: compute
6
+ # DONE: pre-migration: Pre-create the column for not triggering the method. post-migration: Fill the vies_valid field in res_partner.
7
+ ---XML records in module 'base_vat'---
@@ -19,9 +19,9 @@ def _maintenance_plan(env):
19
19
  repeat_unit = COALESCE(mp.interval_step, 'year'),
20
20
  repeat_type='until',
21
21
  repeat_until = (
22
- CURRENT_DATE + interval ''
22
+ CURRENT_DATE + (''
23
23
  || COALESCE(mp.maintenance_plan_horizon, 1) || ' '
24
- || COALESCE(mp.planning_step, 'year')
24
+ || COALESCE(mp.planning_step, 'year'))::interval
25
25
  )::date
26
26
  FROM maintenance_plan mp
27
27
  WHERE mr.maintenance_plan_id = mp.id""",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-openupgrade_scripts
3
- Version: 17.0.1.0.1.146
3
+ Version: 17.0.1.0.1.152
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo>=17.0a,<17.1dev
6
6
  Requires-Dist: openupgradelib
@@ -7,7 +7,7 @@ odoo/addons/openupgrade_scripts/readme/DESCRIPTION.md,sha256=HPjPs_KluLFMYXPaJcn
7
7
  odoo/addons/openupgrade_scripts/readme/INSTALL.md,sha256=NDKVZRv0J8BTqcSTD7JwUXL_AY-cDJoegn5IUTbEOFk,113
8
8
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/noupdate_changes.xml,sha256=8s62iD--I0CEeBE1C3mAsS9LMCg7Uw3YNwK8WmSfAZw,8531
9
9
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/noupdate_changes_work.xml,sha256=eIPxEPrqPOdaH4U2i0ttgP3xB_vLh_GEXqPPZx3lKVU,8751
10
- odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/post-migration.py,sha256=4stqQZhIVs2h4I6BkRCC9eV3RHr78SEvc1ft_B4Lq94,19870
10
+ odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/post-migration.py,sha256=sGbnOp3uC-I9cE4PI5rOvja1SsjmaOg2LsnZznv2z88,20953
11
11
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py,sha256=-JE_fE-VhI704zuSWOJvk3EFwZqmmqK9rKu6s_x2YGg,8827
12
12
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/upgrade_analysis.txt,sha256=19yPTHtbxe4EiXDSWt8wOasdR_aRHxbqA-WllHg6K3Q,37049
13
13
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/upgrade_analysis_work.txt,sha256=72bTiDmpt-6R4sgLEowF-7OC4iNr0U2HrlgrfHZhgcQ,41160
@@ -70,7 +70,10 @@ odoo/addons/openupgrade_scripts/scripts/base_import_module/17.0.1.0/upgrade_anal
70
70
  odoo/addons/openupgrade_scripts/scripts/base_install_request/17.0.1.0/upgrade_analysis.txt,sha256=88mf6PwlB0WGU_7_cN4QwNbb7uKIHWsh7ItFr4YMsEQ,183
71
71
  odoo/addons/openupgrade_scripts/scripts/base_sparse_field/17.0.1.0/upgrade_analysis.txt,sha256=shg-2JSIpxi-K20IWUbWROaY5CNsHdGaBUbNizYU8dk,174
72
72
  odoo/addons/openupgrade_scripts/scripts/base_sparse_field/17.0.1.0/upgrade_analysis_work.txt,sha256=QzNgpIgr6tUnFaCzREWBeKL_h5IzZ3R59P4vmlDK15Q,190
73
+ odoo/addons/openupgrade_scripts/scripts/base_vat/17.0.1.0/post-migration.py,sha256=su4zc2cJqPVDUOj_aEJxxQc0tjDsyR-HlvRVGtTShG8,1478
74
+ odoo/addons/openupgrade_scripts/scripts/base_vat/17.0.1.0/pre-migration.py,sha256=_60l-bUCtYQi2VZGb3GMbcVszohTLReBC6Lwbo0gBKI,449
73
75
  odoo/addons/openupgrade_scripts/scripts/base_vat/17.0.1.0/upgrade_analysis.txt,sha256=GVnmfjEfyKFByPEzjHMjv7unM_s--dfvLeVfptPRADU,283
76
+ odoo/addons/openupgrade_scripts/scripts/base_vat/17.0.1.0/upgrade_analysis_work.txt,sha256=F_rq8mo938N124bzj86KzXojdzJmqXLKTkEclfb-ADo,433
74
77
  odoo/addons/openupgrade_scripts/scripts/board/17.0.1.0/noupdate_changes.xml,sha256=_6VDikhTEqo0Zkm2PiW8qmFOc2VR5MoXEu-lTgAf0GY,198
75
78
  odoo/addons/openupgrade_scripts/scripts/board/17.0.1.0/upgrade_analysis.txt,sha256=Xl5TzyuBSsACKcv80s8z9wRqjM0jzYLnryGXjsa_H6A,138
76
79
  odoo/addons/openupgrade_scripts/scripts/bus/17.0.1.0/upgrade_analysis.txt,sha256=SPdBhavq0qsW3s3Uj-NEYd5ba_DDDwkvoVXy6NBbxfA,132
@@ -342,7 +345,7 @@ odoo/addons/openupgrade_scripts/scripts/mail_bot/17.0.1.2/upgrade_analysis.txt,s
342
345
  odoo/addons/openupgrade_scripts/scripts/mail_group/17.0.1.1/upgrade_analysis.txt,sha256=E0agjcK6Npj-0X_35yQi_ecGrkAR7qjEHVrTVtNuH-4,489
343
346
  odoo/addons/openupgrade_scripts/scripts/mail_plugin/17.0.1.0/upgrade_analysis.txt,sha256=h6XIVfM3wiiw-zTZJGStrvhE2Yl99HnLUU2aMhwzQlQ,154
344
347
  odoo/addons/openupgrade_scripts/scripts/maintenance/17.0.1.0/noupdate_changes.xml,sha256=uygqhU4b0ic9c3pZgCJNm7lo7i7Ak1rpgAaWDzzN3ec,324
345
- odoo/addons/openupgrade_scripts/scripts/maintenance/17.0.1.0/post-migration.py,sha256=JpnZYVtQ_gzb2MvKkpA0638r9NdVZWCfEqGkYgviDJI,1390
348
+ odoo/addons/openupgrade_scripts/scripts/maintenance/17.0.1.0/post-migration.py,sha256=hL257AUHhj3iy0r2Oe1ZhNehc8PzHE7W4-skFBw9jgs,1392
346
349
  odoo/addons/openupgrade_scripts/scripts/maintenance/17.0.1.0/pre-migration.py,sha256=2BTuTKmF53Qzzf8dlszw289dz7JnmVseE-KsJQ9iBro,1252
347
350
  odoo/addons/openupgrade_scripts/scripts/maintenance/17.0.1.0/upgrade_analysis.txt,sha256=fh-mn82bXY9wHefpPp-eTr1mNghugC38UbRRHj9xZuc,2566
348
351
  odoo/addons/openupgrade_scripts/scripts/maintenance/17.0.1.0/upgrade_analysis_work.txt,sha256=b_AmFGalsaPfAjCrXiX3uX3iMmPpdTpJ5FI-RGWFFM0,2760
@@ -598,7 +601,7 @@ odoo/addons/openupgrade_scripts/scripts/website_twitter/17.0.1.0/upgrade_analysi
598
601
  odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
599
602
  odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
600
603
  odoo/addons/openupgrade_scripts/static/description/index.html,sha256=iV41-zYBM4uvZPuunpcr7bQeRgBaojVsKo_gkeyJyA4,12639
601
- odoo_addon_openupgrade_scripts-17.0.1.0.1.146.dist-info/METADATA,sha256=Ussnmu2xHqdFgUdKbOLLezx_skR2Vw7oLfrDI-vbU-s,3786
602
- odoo_addon_openupgrade_scripts-17.0.1.0.1.146.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
603
- odoo_addon_openupgrade_scripts-17.0.1.0.1.146.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
604
- odoo_addon_openupgrade_scripts-17.0.1.0.1.146.dist-info/RECORD,,
604
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.152.dist-info/METADATA,sha256=eqxIOl38ltYhlPo3jzGPFQxq--JC0_iawF9mmNVVsH8,3786
605
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.152.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
606
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.152.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
607
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.152.dist-info/RECORD,,