odoo-addon-openupgrade-scripts 18.0.1.0.0.99__py3-none-any.whl → 18.0.1.0.0.109__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.
@@ -19,6 +19,9 @@ renamed_modules = {
19
19
  "product_supplierinfo_for_customer": "product_customerinfo",
20
20
  "product_template_tags_code": "product_tags_code",
21
21
  "stock_packaging_calculator": "product_packaging_calculator",
22
+ # OCA/project
23
+ "project_stock": "project_task_stock",
24
+ "project_stock_product_set": "project_task_stock_product_set",
22
25
  # OCA/sale-workflow
23
26
  "product_supplierinfo_for_customer_sale": "product_customerinfo_sale",
24
27
  "sale_product_set_sale_by_packaging": "product_set_sell_only_by_packaging",
@@ -88,11 +88,23 @@ def _set_inter_company_locations(env):
88
88
  inter_company_location.sudo().write({"active": False})
89
89
 
90
90
 
91
+ def fill_stock_picking_type_default_locations(env):
92
+ picking_types = env["stock.picking.type"].search(
93
+ [("default_location_src_id", "=", False)]
94
+ )
95
+ picking_types._compute_default_location_src_id()
96
+ picking_types = env["stock.picking.type"].search(
97
+ [("default_location_dest_id", "=", False)]
98
+ )
99
+ picking_types._compute_default_location_dest_id()
100
+
101
+
91
102
  @openupgrade.migrate()
92
103
  def migrate(env, version):
93
104
  convert_company_dependent(env)
94
105
  _create_default_new_types_for_all_warehouses(env)
95
106
  _set_inter_company_locations(env)
107
+ fill_stock_picking_type_default_locations(env)
96
108
  openupgrade.load_data(env, "stock", "18.0.1.1/noupdate_changes.xml")
97
109
  openupgrade.delete_records_safely_by_xml_id(
98
110
  env, ["stock.property_stock_customer", "stock.property_stock_supplier"]
@@ -2,6 +2,10 @@
2
2
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
3
  from openupgradelib import openupgrade
4
4
 
5
+ _columns_copy = {
6
+ "stock_move": [("location_dest_id", None, None)],
7
+ }
8
+
5
9
  _field_renames = [
6
10
  ("stock.move", "stock_move", "location_dest_id", "location_final_id"),
7
11
  (
@@ -51,12 +55,63 @@ def fill_stock_move_location_dest_id(env):
51
55
  openupgrade.logged_query(
52
56
  env.cr,
53
57
  """
58
+ WITH RECURSIVE sub AS (
59
+ (SELECT rel.move_orig_id, rel.move_dest_id
60
+ FROM stock_move_move_rel rel
61
+ LEFT JOIN stock_move_move_rel rel2 ON rel.move_dest_id = rel2.move_orig_id
62
+ WHERE rel2.move_orig_id IS NULL)
63
+ UNION
64
+ (SELECT rel.move_orig_id, sub.move_dest_id
65
+ FROM stock_move_move_rel rel
66
+ JOIN sub ON sub.move_orig_id = rel.move_dest_id)
67
+ )
68
+ UPDATE stock_move sm2
69
+ SET location_final_id = sm.location_final_id
70
+ FROM stock_rule sr, stock_move sm
71
+ JOIN sub ON sub.move_dest_id = sm.id
72
+ WHERE sm2.rule_id = sr.id AND sub.move_orig_id = sm2.id
73
+ AND sr.action IN ('push', 'pull_push')
74
+ """,
75
+ )
76
+ openupgrade.logged_query(
77
+ env.cr,
78
+ """
79
+ WITH sub AS (
80
+ UPDATE stock_move sm
81
+ SET location_final_id = sr.location_dest_id
82
+ FROM stock_rule sr
83
+ WHERE sm.rule_id = sr.id AND sr.location_dest_id IS NOT NULL
84
+ AND sr.location_dest_id != sm.location_final_id
85
+ AND sr.location_dest_id != sm.location_dest_id
86
+ AND sr.action IN ('pull', 'pull_push')
87
+ RETURNING rule_id
88
+ ), sub2 AS (
89
+ SELECT rule_id
90
+ FROM sub
91
+ GROUP BY rule_id
92
+ )
54
93
  UPDATE stock_rule sr
55
94
  SET location_dest_from_rule = TRUE
56
- FROM stock_move sm
57
- WHERE sm.rule_id = sr.id
58
- AND sm.location_dest_id != sm.location_final_id
59
- AND sr.action IN ('pull', 'pull_push')
95
+ FROM sub2
96
+ WHERE sub2.rule_id = sr.id
97
+ """,
98
+ )
99
+ openupgrade.logged_query(
100
+ env.cr,
101
+ """
102
+ WITH sub AS (
103
+ SELECT sm.rule_id
104
+ FROM stock_move sm
105
+ JOIN stock_move_move_rel rel ON
106
+ rel.move_orig_id = sm.id OR rel.move_dest_id = sm.id
107
+ JOIN stock_rule sr ON sm.rule_id = sr.id
108
+ WHERE sr.action IN ('pull', 'pull_push')
109
+ GROUP BY sm.rule_id
110
+ )
111
+ UPDATE stock_rule sr
112
+ SET location_dest_from_rule = TRUE
113
+ FROM sub
114
+ WHERE sub.rule_id = sr.id
60
115
  """,
61
116
  )
62
117
 
@@ -73,6 +128,7 @@ def fill_stock_putaway_rule_sublocation(env):
73
128
 
74
129
  @openupgrade.migrate()
75
130
  def migrate(env, version=None):
131
+ openupgrade.copy_columns(env.cr, _columns_copy)
76
132
  openupgrade.rename_fields(env, _field_renames)
77
133
  openupgrade.rename_xmlids(env.cr, _xmlid_renames)
78
134
  openupgrade.add_columns(env, _new_columns)
@@ -48,7 +48,7 @@ stock / stock.picking.type / _order : _order
48
48
 
49
49
  stock / stock.picking.type / default_location_dest_id (many2one): now required
50
50
  stock / stock.picking.type / default_location_src_id (many2one): now required
51
- # NOTHING TO DO? (not sure if we can assure it someway)
51
+ # DONE: post-migration: assured is filled by calling computes
52
52
 
53
53
  stock / stock.picking.type / favorite_user_ids (many2many) : NEW relation: res.users
54
54
  # NOTHING TO DO: new feature
@@ -0,0 +1,79 @@
1
+ env = locals().get("env")
2
+ # create two step pull route, procure a product with it
3
+ intermediate_location = env["stock.location"].create(
4
+ {
5
+ "name": "Intermediate location",
6
+ "usage": "internal",
7
+ }
8
+ )
9
+ env["ir.model.data"]._update_xmlids(
10
+ [
11
+ {
12
+ "xml_id": "openupgrade_test_stock.intermediate_pull_location",
13
+ "record": intermediate_location,
14
+ }
15
+ ]
16
+ )
17
+ two_step_route = env["stock.route"].create(
18
+ {
19
+ "name": "2 steps",
20
+ "rule_ids": [
21
+ (
22
+ 0,
23
+ 0,
24
+ {
25
+ "name": "Stock → Intermediate",
26
+ "location_src_id": env.ref("stock.stock_location_stock").id,
27
+ "location_dest_id": intermediate_location.id,
28
+ "picking_type_id": env.ref("stock.picking_type_internal").id,
29
+ "action": "pull",
30
+ # 'location_dest_from_rule': True, # v18
31
+ },
32
+ ),
33
+ (
34
+ 0,
35
+ 0,
36
+ {
37
+ "name": "Intermediate → Customer",
38
+ "location_src_id": intermediate_location.id,
39
+ "location_dest_id": env.ref("stock.stock_location_customers").id,
40
+ "picking_type_id": env.ref("stock.picking_type_internal").id,
41
+ "procure_method": "make_to_order",
42
+ "action": "pull",
43
+ # 'location_dest_from_rule': True, # v18
44
+ },
45
+ ),
46
+ ],
47
+ }
48
+ )
49
+ product = env["product.product"].create(
50
+ {
51
+ "name": "2 step product (pull)",
52
+ "type": "product",
53
+ # 'type': 'consu', # v18
54
+ "route_ids": [(6, 0, two_step_route.ids)],
55
+ }
56
+ )
57
+ env["ir.model.data"]._update_xmlids(
58
+ [{"xml_id": "openupgrade_test_stock.pull_product", "record": product}]
59
+ )
60
+ procurement_group = env["procurement.group"].create(
61
+ {
62
+ "name": "2 step procurement",
63
+ }
64
+ )
65
+ env["procurement.group"].run(
66
+ [
67
+ env["procurement.group"].Procurement(
68
+ product_id=product,
69
+ product_qty=42,
70
+ product_uom=product.uom_id,
71
+ location_id=env.ref("stock.stock_location_customers"),
72
+ name="2 step procurement",
73
+ origin="/",
74
+ company_id=env.company,
75
+ values={"group_id": procurement_group},
76
+ ),
77
+ ]
78
+ )
79
+ env.cr.commit()
@@ -0,0 +1,72 @@
1
+ env = locals().get("env")
2
+ # create two step push route, move a product there
3
+ intermediate_location = env["stock.location"].create(
4
+ {
5
+ "name": "Intermediate location",
6
+ "usage": "internal",
7
+ }
8
+ )
9
+ env["ir.model.data"]._update_xmlids(
10
+ [
11
+ {
12
+ "xml_id": "openupgrade_test_stock.intermediate_push_location",
13
+ "record": intermediate_location,
14
+ }
15
+ ]
16
+ )
17
+ two_step_route = env["stock.route"].create(
18
+ {
19
+ "name": "2 steps",
20
+ "rule_ids": [
21
+ (
22
+ 0,
23
+ 0,
24
+ {
25
+ "name": "Stock → Intermediate",
26
+ "location_src_id": env.ref("stock.stock_location_stock").id,
27
+ "location_dest_id": intermediate_location.id,
28
+ "picking_type_id": env.ref("stock.picking_type_internal").id,
29
+ "action": "push",
30
+ },
31
+ ),
32
+ (
33
+ 0,
34
+ 0,
35
+ {
36
+ "name": "Intermediate → Customer",
37
+ "location_src_id": intermediate_location.id,
38
+ "location_dest_id": env.ref("stock.stock_location_customers").id,
39
+ "picking_type_id": env.ref("stock.picking_type_out").id,
40
+ "action": "push",
41
+ },
42
+ ),
43
+ ],
44
+ }
45
+ )
46
+ product = env["product.product"].create(
47
+ {
48
+ "name": "2 step product (push)",
49
+ "type": "product",
50
+ # 'type': 'consu', # v18
51
+ "route_ids": [(6, 0, two_step_route.ids)],
52
+ }
53
+ )
54
+ env["ir.model.data"]._update_xmlids(
55
+ [{"xml_id": "openupgrade_test_stock.push_product", "record": product}]
56
+ )
57
+ in_move = env["stock.move"].create(
58
+ {
59
+ "name": "in",
60
+ "location_id": env.ref("stock.stock_location_suppliers").id,
61
+ "location_dest_id": env.ref("stock.stock_location_stock").id,
62
+ # 'location_final_id': env.ref('stock.stock_location_customers').id,
63
+ "route_ids": [(6, 0, two_step_route.ids)],
64
+ "product_id": product.id,
65
+ "quantity": 42,
66
+ "product_uom_qty": 42,
67
+ "picked": True,
68
+ }
69
+ )
70
+ in_move._action_done()
71
+ in_move.move_dest_ids._action_done()
72
+ env.cr.commit()
@@ -0,0 +1,137 @@
1
+ from odoo.tests import TransactionCase
2
+
3
+ from odoo.addons.openupgrade_framework import openupgrade_test
4
+
5
+
6
+ @openupgrade_test
7
+ class TestStockMigration(TransactionCase):
8
+ def test_picking_type_required_fields(self):
9
+ """Test that newly required fields are set"""
10
+ for picking_type in self.env["stock.picking.type"].search([]):
11
+ self.assertTrue(picking_type.default_location_src_id)
12
+ self.assertTrue(picking_type.default_location_dest_id)
13
+
14
+ def test_pull_moves(self):
15
+ """
16
+ Test that pull moves have been migrated correctly and new moves yield the
17
+ same result
18
+ """
19
+ product = self.env.ref("openupgrade_test_stock.pull_product")
20
+ stock_location = self.env.ref("stock.stock_location_stock")
21
+ intermediate_location = self.env.ref(
22
+ "openupgrade_test_stock.intermediate_pull_location"
23
+ )
24
+ customer_location = self.env.ref("stock.stock_location_customers")
25
+
26
+ moves = self.env["stock.move"].search([("product_id", "=", product.id)])
27
+ from_stock = moves.filtered(lambda x: x.location_id == stock_location)
28
+ from_intermediate = moves.filtered(
29
+ lambda x: x.location_id == intermediate_location
30
+ )
31
+
32
+ self.assertEqual(from_stock.location_dest_id, intermediate_location)
33
+ self.assertEqual(from_stock.location_final_id, intermediate_location)
34
+
35
+ self.assertEqual(from_intermediate.location_dest_id, customer_location)
36
+ self.assertEqual(from_intermediate.location_final_id, customer_location)
37
+
38
+ rules = self.env["stock.rule"].search(
39
+ [
40
+ "|",
41
+ ("location_src_id", "=", intermediate_location.id),
42
+ ("location_dest_id", "=", intermediate_location.id),
43
+ ]
44
+ )
45
+ for rule in rules:
46
+ self.assertEqual(rule.location_dest_from_rule, True)
47
+
48
+ procurement_group = self.env["procurement.group"].create(
49
+ {
50
+ "name": "2 step procurement v18",
51
+ }
52
+ )
53
+ self.env["procurement.group"].run(
54
+ [
55
+ self.env["procurement.group"].Procurement(
56
+ product_id=product,
57
+ product_qty=42,
58
+ product_uom=product.uom_id,
59
+ location_id=customer_location,
60
+ name="2 step procurement",
61
+ origin="/",
62
+ company_id=self.env.company,
63
+ values={"group_id": procurement_group},
64
+ ),
65
+ ]
66
+ )
67
+
68
+ new_moves = (
69
+ self.env["stock.move"].search([("product_id", "=", product.id)]) - moves
70
+ )
71
+ from_stock = new_moves.filtered(lambda x: x.location_id == stock_location)
72
+ from_intermediate = new_moves.filtered(
73
+ lambda x: x.location_id == intermediate_location
74
+ )
75
+
76
+ self.assertEqual(from_stock.location_dest_id, intermediate_location)
77
+ self.assertEqual(from_stock.location_final_id, intermediate_location)
78
+
79
+ self.assertEqual(from_intermediate.location_dest_id, customer_location)
80
+ self.assertEqual(from_intermediate.location_final_id, customer_location)
81
+
82
+ def test_push_moves(self):
83
+ """
84
+ Test that push moves have been migrated correctly and new moves yield the
85
+ same result
86
+ """
87
+ product = self.env.ref("openupgrade_test_stock.push_product")
88
+ stock_location = self.env.ref("stock.stock_location_stock")
89
+ intermediate_location = self.env.ref(
90
+ "openupgrade_test_stock.intermediate_push_location"
91
+ )
92
+ customer_location = self.env.ref("stock.stock_location_customers")
93
+
94
+ moves = self.env["stock.move"].search([("product_id", "=", product.id)])
95
+
96
+ from_stock = moves.filtered(lambda x: x.location_id == stock_location)
97
+ from_intermediate = moves.filtered(
98
+ lambda x: x.location_id == intermediate_location
99
+ )
100
+
101
+ self.assertEqual(from_stock.location_dest_id, intermediate_location)
102
+ self.assertEqual(from_stock.location_final_id, customer_location)
103
+
104
+ self.assertEqual(from_intermediate.location_dest_id, customer_location)
105
+ self.assertEqual(from_intermediate.location_final_id, customer_location)
106
+
107
+ in_move = self.env["stock.move"].create(
108
+ {
109
+ "name": "in",
110
+ "location_id": self.env.ref("stock.stock_location_suppliers").id,
111
+ "location_dest_id": stock_location.id,
112
+ "location_final_id": customer_location.id,
113
+ "route_ids": [(6, 0, moves.route_ids.ids)],
114
+ "product_id": product.id,
115
+ "quantity": 42,
116
+ "product_uom_qty": 42,
117
+ "picked": True,
118
+ }
119
+ )
120
+ in_move._action_done()
121
+ in_move.move_dest_ids.picked = True
122
+ in_move.move_dest_ids._action_done()
123
+
124
+ new_moves = (
125
+ self.env["stock.move"].search([("product_id", "=", product.id)]) - moves
126
+ )
127
+
128
+ from_stock = new_moves.filtered(lambda x: x.location_id == stock_location)
129
+ from_intermediate = new_moves.filtered(
130
+ lambda x: x.location_id == intermediate_location
131
+ )
132
+
133
+ self.assertEqual(from_stock.location_dest_id, intermediate_location)
134
+ self.assertEqual(from_stock.location_final_id, customer_location)
135
+
136
+ self.assertEqual(from_intermediate.location_dest_id, customer_location)
137
+ self.assertEqual(from_intermediate.location_final_id, customer_location)
@@ -0,0 +1,6 @@
1
+ ---Models in module 'web_hierarchy'---
2
+ ---Fields in module 'web_hierarchy'---
3
+ web_hierarchy / ir.actions.act_window.view / view_mode (False) : selection_keys is now '['calendar', 'form', 'graph', 'hierarchy', 'kanban', 'list', 'pivot']' ('['calendar', 'form', 'gantt', 'graph', 'hierarchy', 'kanban', 'pivot', 'tree']')
4
+ web_hierarchy / ir.ui.view / type (False) : selection_keys is now '['calendar', 'form', 'graph', 'hierarchy', 'kanban', 'list', 'pivot', 'qweb', 'search']' ('['calendar', 'form', 'gantt', 'graph', 'hierarchy', 'kanban', 'pivot', 'qweb', 'search', 'tree']')
5
+ # NOTHING TO DO: added view type hierarchy, was already there in v17
6
+ ---XML records in module 'web_hierarchy'---
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-openupgrade_scripts
3
- Version: 18.0.1.0.0.99
3
+ Version: 18.0.1.0.0.109
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo==18.0.*
6
6
  Requires-Dist: openupgradelib
@@ -1,7 +1,7 @@
1
1
  odoo/addons/openupgrade_scripts/README.rst,sha256=RuTBUdBI9hVP6kr2WJenFV-0J5l2tgUfzuOEtG9MyKQ,3179
2
2
  odoo/addons/openupgrade_scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  odoo/addons/openupgrade_scripts/__manifest__.py,sha256=fZVzjupYlcmfrTQtiBu7wlaAqO4JWQncNAdQPEnpaCY,614
4
- odoo/addons/openupgrade_scripts/apriori.py,sha256=-QMIRl7GfkFC7fwyLLAue1zPmiispOeco_QSueM98GI,3425
4
+ odoo/addons/openupgrade_scripts/apriori.py,sha256=NmC3_CrJfCuh4IvzWSTb97cQu7-wFkUmFiePQxo7MlI,3553
5
5
  odoo/addons/openupgrade_scripts/readme/CONFIGURE.md,sha256=rnx8ADTYzVUB93PIG3Lib0iWBrphSfVRs6RMikklf3M,238
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
@@ -478,10 +478,13 @@ odoo/addons/openupgrade_scripts/scripts/spreadsheet_dashboard/18.0.1.0/upgrade_a
478
478
  odoo/addons/openupgrade_scripts/scripts/spreadsheet_dashboard_pos_restaurant/18.0.1.0/upgrade_analysis.txt,sha256=2sp42OSaBEMKrEhPPst4IxjffGe_2wj8nU_QM1uY3m0,292
479
479
  odoo/addons/openupgrade_scripts/scripts/spreadsheet_dashboard_stock_account/18.0.1.0/upgrade_analysis.txt,sha256=iJhZOolILwgrkATpb0o6L7h9lCAK8NA3fVSmO2ST1HU,394
480
480
  odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/noupdate_changes.xml,sha256=D5zrp_FcweU-CigDEwOGh0yIrn7lRkhfXVaUzeq7pko,209
481
- odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/post-migration.py,sha256=J_cwgQUx5BdHCdlO1c4AJoanaklhPQbjuxLK38la1_c,4112
482
- odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/pre-migration.py,sha256=-Qn6hUuHJwJBh3pakZ8XR49EX50b0U4H6Mtm71I_qqg,2415
481
+ odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/post-migration.py,sha256=fo2VSz9k6wdmccfOaOrOVnBxoM0XmmCEhs3TWghWCpI,4545
482
+ odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/pre-migration.py,sha256=QK_lSnzYKH3btdAH5VrysCEcTnYPgSXhuk2zyiN6yus,4310
483
483
  odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/upgrade_analysis.txt,sha256=XhtFlo2DnIQECRF-TqECbsgA25cG1TCAkWcGs-yT5nE,7072
484
- odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/upgrade_analysis_work.txt,sha256=AI7RvmuykQnlxDB4GmGsehDq7WZm9J1BZtzMcCpAoJE,8449
484
+ odoo/addons/openupgrade_scripts/scripts/stock/18.0.1.1/upgrade_analysis_work.txt,sha256=jvIp9uqycvsNvH4nFxTwz_5drHY6QL_yGb5-myhba9g,8455
485
+ odoo/addons/openupgrade_scripts/scripts/stock/tests/data_pull.py,sha256=Plin9Hf_-q1CYGDuMrH1e4C61K7l__vgX3FBh9KXALA,2449
486
+ odoo/addons/openupgrade_scripts/scripts/stock/tests/data_push.py,sha256=zmfRrv-YO5rHRDFtL_N1ZGWuvnCmCpe4Lc3EHrG3RA4,2231
487
+ odoo/addons/openupgrade_scripts/scripts/stock/tests/test_migration.py,sha256=mgGE-xxvgWY8iKgIawgqznPWIDWuaQT59uWXK3iN9Sw,5565
485
488
  odoo/addons/openupgrade_scripts/scripts/stock_account/18.0.1.1/end-migration.py,sha256=opAeXNeSconzN37tBDW9tMPMrb4PrHJ0MH6-88yJ28o,925
486
489
  odoo/addons/openupgrade_scripts/scripts/stock_account/18.0.1.1/post-migration.py,sha256=Rtfpey0dONHUXyswMrvGK9MlwSJyal2HgfFloO4Dhs0,1213
487
490
  odoo/addons/openupgrade_scripts/scripts/stock_account/18.0.1.1/pre-migration.py,sha256=zWOya4IKLGlpWE0pVcTRh7_A5SfKA77Ro8uAHMJ23Jc,698
@@ -505,6 +508,7 @@ odoo/addons/openupgrade_scripts/scripts/web/18.0.1.0/upgrade_analysis_work.txt,s
505
508
  odoo/addons/openupgrade_scripts/scripts/web_editor/18.0.1.0/upgrade_analysis.txt,sha256=XwWLr4ECjOl0-2rW3R4CgsJmj4QYYo0vY9kgk3ql6Rc,757
506
509
  odoo/addons/openupgrade_scripts/scripts/web_editor/18.0.1.0/upgrade_analysis_work.txt,sha256=YOhr-HiEpBSOqnmIXzam3CFU6RZadCIPU2e9SVccbGY,790
507
510
  odoo/addons/openupgrade_scripts/scripts/web_hierarchy/18.0.1.0/upgrade_analysis.txt,sha256=XMF1MYAL4CZcW5-lcpiQd8TMEdf0_TN9FBF79siwF9g,664
511
+ odoo/addons/openupgrade_scripts/scripts/web_hierarchy/18.0.1.0/upgrade_analysis_work.txt,sha256=x0PCzDDVs4fENWGbRQ7qswqL_ekMvDe-LTAodT6waQg,733
508
512
  odoo/addons/openupgrade_scripts/scripts/web_tour/18.0.1.0/end-migration.py,sha256=3a9vlJg7n_XYwsb-HWu9hec6gGNazxsRPMK-cjHUpKs,576
509
513
  odoo/addons/openupgrade_scripts/scripts/web_tour/18.0.1.0/pre-migration.py,sha256=pMcHF6q-I4vEHS0XeYDKDBRiF4LprKYoM0OSqivhQMc,752
510
514
  odoo/addons/openupgrade_scripts/scripts/web_tour/18.0.1.0/upgrade_analysis.txt,sha256=tWnaWyTdImODovflHxxHZZJI2a4froOhoQUWzl6-NnE,2237
@@ -554,7 +558,7 @@ odoo/addons/openupgrade_scripts/scripts/website_slides_survey/18.0.1.0/upgrade_a
554
558
  odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
555
559
  odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
556
560
  odoo/addons/openupgrade_scripts/static/description/index.html,sha256=Jc0qAThlH5WnoSq6vPamjC8WyMkdo_9zkhDuU1qW1VI,12722
557
- odoo_addon_openupgrade_scripts-18.0.1.0.0.99.dist-info/METADATA,sha256=1wdL1Tk-K-AzdOWzgL-mAMt2LFslCdl_Ns2R4RNkGiY,3774
558
- odoo_addon_openupgrade_scripts-18.0.1.0.0.99.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
559
- odoo_addon_openupgrade_scripts-18.0.1.0.0.99.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
560
- odoo_addon_openupgrade_scripts-18.0.1.0.0.99.dist-info/RECORD,,
561
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.109.dist-info/METADATA,sha256=xWxvv-aEPBiWNmdw39E9RVE9rVlE0E2yv-3eO936TI0,3775
562
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.109.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
563
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.109.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
564
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.109.dist-info/RECORD,,