odoo-addon-openupgrade-scripts 17.0.1.0.1.164__py3-none-any.whl → 17.0.1.0.1.169__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.
@@ -234,15 +234,17 @@ def _pre_create_account_report_active(env):
234
234
  """
235
235
  Precreate column with default value true, then switch back to false
236
236
  """
237
- env.cr.execute(
237
+ openupgrade.logged_query(
238
+ env.cr,
238
239
  """
239
240
  ALTER TABLE account_report ADD COLUMN active boolean DEFAULT true
240
- """
241
+ """,
241
242
  )
242
- env.cr.execute(
243
- """
244
- ALTER TABLE account_report ALTER COLUMN active SET DEFAULT false
243
+ openupgrade.logged_query(
244
+ env.cr,
245
245
  """
246
+ ALTER TABLE account_report ALTER COLUMN active DROP DEFAULT
247
+ """,
246
248
  )
247
249
 
248
250
 
@@ -50,7 +50,7 @@ def _fill_ir_server_object_lines_into_action_server(cr):
50
50
  cr,
51
51
  """
52
52
  ALTER TABLE ir_act_server
53
- ADD COLUMN IF NOT EXISTS old_ias_id VARCHAR,
53
+ ADD COLUMN IF NOT EXISTS old_ias_id INTEGER,
54
54
  ADD COLUMN IF NOT EXISTS evaluation_type VARCHAR,
55
55
  ADD COLUMN IF NOT EXISTS resource_ref VARCHAR,
56
56
  ADD COLUMN IF NOT EXISTS selection_value INTEGER,
@@ -66,73 +66,69 @@ def _fill_ir_server_object_lines_into_action_server(cr):
66
66
  openupgrade.logged_query(
67
67
  cr,
68
68
  """
69
- INSERT INTO ir_act_server
70
- (
71
- old_ias_id,
72
- evaluation_type,
73
- update_field_id,
74
- update_path,
75
- update_related_model_id,
76
- value,
77
- resource_ref,
78
- selection_value,
79
- update_boolean_value,
80
- update_m2m_operation,
81
- binding_type,
82
- state,
83
- type,
84
- usage,
85
- model_id,
86
- name
69
+ WITH sub AS (
70
+ INSERT INTO ir_act_server
71
+ (
72
+ old_ias_id,
73
+ evaluation_type,
74
+ update_field_id,
75
+ update_path,
76
+ update_related_model_id,
77
+ value,
78
+ resource_ref,
79
+ selection_value,
80
+ update_boolean_value,
81
+ update_m2m_operation,
82
+ binding_type,
83
+ state,
84
+ type,
85
+ usage,
86
+ model_id,
87
+ name
88
+ )
89
+ SELECT
90
+ ias.id,
91
+ CASE
92
+ WHEN isol.evaluation_type = 'equation' then 'equation'
93
+ ELSE 'value'
94
+ END,
95
+ imf.id,
96
+ imf.name,
97
+ im.id,
98
+ CASE WHEN isol.evaluation_type = 'equation'
99
+ THEN isol.value
100
+ ELSE NULL
101
+ END,
102
+ CASE WHEN imf.ttype in ('many2one', 'many2many')
103
+ THEN imf.relation || ',' || isol.value
104
+ ELSE NULL
105
+ END,
106
+ imfs.id,
107
+ CASE WHEN imf.ttype = 'boolean'
108
+ THEN isol.value::bool
109
+ ELSE NULL
110
+ END,
111
+ 'add',
112
+ 'action',
113
+ 'object_write',
114
+ 'ir.actions.server',
115
+ 'ir_actions_server',
116
+ ias.model_id,
117
+ ias.name
118
+ FROM ir_act_server ias
119
+ JOIN ir_server_object_lines isol ON isol.server_id = ias.id
120
+ JOIN ir_model_fields imf ON imf.id = isol.col1
121
+ LEFT JOIN ir_model im ON im.model = imf.relation
122
+ LEFT JOIN ir_model_fields_selection imfs
123
+ ON imf.id = imfs.field_id AND imfs.value = isol.value
124
+ WHERE ias.state = 'object_write'
125
+ RETURNING id, old_ias_id
87
126
  )
88
- SELECT
89
- ias.id,
90
- CASE
91
- WHEN isol.evaluation_type = 'equation' then 'equation'
92
- ELSE 'value'
93
- END,
94
- imf.id,
95
- imf.name,
96
- im.id,
97
- CASE WHEN isol.evaluation_type = 'equation'
98
- THEN isol.value
99
- ELSE NULL
100
- END,
101
- CASE WHEN imf.ttype in ('many2one', 'many2many')
102
- THEN imf.relation || ',' || isol.value
103
- ELSE NULL
104
- END,
105
- imfs.id,
106
- CASE WHEN imf.ttype = 'boolean'
107
- THEN isol.value::bool
108
- ELSE NULL
109
- END,
110
- 'add',
111
- 'action',
112
- 'object_write',
113
- 'ir.actions.server',
114
- 'ir_actions_server',
115
- ias.model_id,
116
- ias.name
117
- FROM ir_act_server ias
118
- JOIN ir_server_object_lines isol ON isol.server_id = ias.id
119
- JOIN ir_model_fields imf ON imf.id = isol.col1
120
- LEFT JOIN ir_model im ON im.model = imf.relation
121
- LEFT JOIN ir_model_fields_selection imfs
122
- ON imf.id = imfs.field_id AND imfs.value = isol.value
123
- WHERE ias.state = 'object_write'
124
- RETURNING id, old_ias_id
127
+ INSERT INTO rel_server_actions (action_id, server_id)
128
+ SELECT sub.id as action_id, sub.old_ias_id as server_id
129
+ FROM sub
125
130
  """,
126
131
  )
127
- for row in cr.fetchall():
128
- cr.execute(
129
- """
130
- INSERT INTO rel_server_actions
131
- (action_id, server_id)
132
- VALUES (%s, %s)
133
- """,
134
- (row[0], row[1]),
135
- )
136
132
  openupgrade.logged_query(
137
133
  cr,
138
134
  """UPDATE ir_act_server ias
@@ -0,0 +1,61 @@
1
+ # Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com)
2
+ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3
+ import uuid
4
+
5
+ from openupgradelib import openupgrade
6
+
7
+ _deleted_xml_records = [
8
+ "hr_attendance.hr_attendance_report_rule_multi_company",
9
+ "hr_attendance.hr_attendance_rule_attendance_employee",
10
+ "hr_attendance.hr_attendance_rule_attendance_manager",
11
+ "hr_attendance.hr_attendance_rule_attendance_manual",
12
+ "hr_attendance.hr_attendance_rule_attendance_overtime_employee",
13
+ "hr_attendance.hr_attendance_rule_attendance_overtime_manager",
14
+ ]
15
+
16
+
17
+ def fill_res_company_hr_attendance_display_overtime(env):
18
+ openupgrade.logged_query(
19
+ env.cr,
20
+ """
21
+ UPDATE res_company
22
+ SET hr_attendance_display_overtime = hr_attendance_overtime
23
+ """,
24
+ )
25
+
26
+
27
+ def fill_res_company_attendance_kiosk_use_pin(env):
28
+ group = env.ref("hr_attendance.group_hr_attendance_use_pin")
29
+ openupgrade.logged_query(
30
+ env.cr,
31
+ f"""
32
+ UPDATE res_company rc
33
+ SET attendance_kiosk_use_pin = TRUE
34
+ FROM res_users ru
35
+ JOIN res_groups_users_rel group_rel ON group_rel.uid = ru.id
36
+ AND group_rel.gid = {group.id}
37
+ JOIN res_company_users_rel company_rel ON company_rel.user_id = ru.id
38
+ WHERE company_rel.cid = rc.id AND ru.active
39
+ """,
40
+ )
41
+
42
+
43
+ def fill_res_company_attendance_kiosk_key(env):
44
+ companies = env["res.company"].search([])
45
+ for company in companies:
46
+ company.attendance_kiosk_key = uuid.uuid4().hex
47
+
48
+
49
+ def fill_hr_attendance_overtime_hours(env):
50
+ attendances = env["hr.attendance"].search([])
51
+ # this way, the query in the compute method only is executed once
52
+ attendances._compute_overtime_hours()
53
+
54
+
55
+ @openupgrade.migrate()
56
+ def migrate(env, version):
57
+ fill_res_company_hr_attendance_display_overtime(env)
58
+ fill_res_company_attendance_kiosk_use_pin(env)
59
+ fill_res_company_attendance_kiosk_key(env)
60
+ openupgrade.delete_records_safely_by_xml_id(env, _deleted_xml_records)
61
+ fill_hr_attendance_overtime_hours(env)
@@ -0,0 +1,46 @@
1
+ # Copyright 2025 ForgeFlow S.L. (https://www.forgeflow.com)
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+ from openupgradelib import openupgrade
4
+
5
+ _xmlid_renames = [
6
+ (
7
+ "hr_attendance.group_hr_attendance_user",
8
+ "hr_attendance.group_hr_attendance_officer",
9
+ ),
10
+ (
11
+ "hr_attendance.group_hr_attendance_kiosk",
12
+ "hr_attendance.group_hr_attendance_own_reader",
13
+ ),
14
+ ]
15
+
16
+
17
+ def pre_create_hr_attendance_overtime_hours(env):
18
+ openupgrade.logged_query(
19
+ env.cr,
20
+ """
21
+ ALTER TABLE hr_attendance
22
+ ADD COLUMN IF NOT EXISTS overtime_hours numeric
23
+ """,
24
+ )
25
+
26
+
27
+ def fill_res_company_attendance_from_systray(env):
28
+ openupgrade.logged_query(
29
+ env.cr,
30
+ """
31
+ ALTER TABLE res_company ADD COLUMN attendance_from_systray boolean DEFAULT true
32
+ """,
33
+ )
34
+ openupgrade.logged_query(
35
+ env.cr,
36
+ """
37
+ ALTER TABLE res_company ALTER COLUMN attendance_from_systray DROP DEFAULT
38
+ """,
39
+ )
40
+
41
+
42
+ @openupgrade.migrate()
43
+ def migrate(env, version):
44
+ openupgrade.rename_xmlids(env.cr, _xmlid_renames)
45
+ pre_create_hr_attendance_overtime_hours(env)
46
+ fill_res_company_attendance_from_systray(env)
@@ -0,0 +1,108 @@
1
+ ---Models in module 'hr_attendance'---
2
+ obsolete model hr.attendance.report [sql_view]
3
+ ---Fields in module 'hr_attendance'---
4
+ hr_attendance / hr.attendance / message_follower_ids (one2many): NEW relation: mail.followers
5
+ hr_attendance / hr.attendance / message_ids (one2many) : NEW relation: mail.message
6
+ hr_attendance / hr.attendance / rating_ids (one2many) : NEW relation: rating.rating
7
+ hr_attendance / hr.attendance / website_message_ids (one2many): NEW relation: mail.message
8
+ # NOTHING TO DO
9
+
10
+ hr_attendance / hr.attendance / in_browser (char) : NEW
11
+ hr_attendance / hr.attendance / in_city (char) : NEW
12
+ hr_attendance / hr.attendance / in_country_name (char) : NEW
13
+ hr_attendance / hr.attendance / in_ip_address (char) : NEW
14
+ hr_attendance / hr.attendance / in_latitude (float) : NEW
15
+ hr_attendance / hr.attendance / in_longitude (float) : NEW
16
+ hr_attendance / hr.attendance / in_mode (selection) : NEW selection_keys: ['kiosk', 'manual', 'systray']
17
+ hr_attendance / hr.attendance / out_browser (char) : NEW
18
+ hr_attendance / hr.attendance / out_city (char) : NEW
19
+ hr_attendance / hr.attendance / out_country_name (char) : NEW
20
+ hr_attendance / hr.attendance / out_ip_address (char) : NEW
21
+ hr_attendance / hr.attendance / out_latitude (float) : NEW
22
+ hr_attendance / hr.attendance / out_longitude (float) : NEW
23
+ hr_attendance / hr.attendance / out_mode (selection) : NEW selection_keys: ['kiosk', 'manual', 'systray']
24
+ # NOTHING TO DO: new feature (Geolocation information)
25
+
26
+ hr_attendance / hr.attendance / overtime_hours (float) : NEW isfunction: function, stored
27
+ # DONE: pre-migration: Pre-create the column for not triggering the method for each record (as it is costly)
28
+ # DONE: post-migration: Fill column in one call
29
+
30
+ hr_attendance / hr.employee / attendance_manager_id (many2one): NEW relation: res.users
31
+ # NOTHING TO DO
32
+
33
+ hr_attendance / res.company / attendance_from_systray (boolean): NEW hasdefault: default
34
+ # DONE: pre-migration: fill default values
35
+
36
+ hr_attendance / res.company / attendance_kiosk_key (char) : NEW hasdefault: default
37
+ # DONE: post-migration: fill default values
38
+
39
+ hr_attendance / res.company / attendance_kiosk_use_pin (boolean): NEW
40
+ DEL res.groups: hr_attendance.group_hr_attendance_use_pin
41
+ DONE: post-migration: fill if user was in group hr_attendance.group_hr_attendance_use_pin
42
+
43
+ hr_attendance / res.company / hr_attendance_display_overtime (boolean): NEW
44
+ # DONE: post-migration: maintain v16 usability, which was using hr_attendance_overtime
45
+
46
+ ---XML records in module 'hr_attendance'---
47
+ NEW ir.actions.act_window: hr_attendance.hr_attendance_reporting
48
+ DEL ir.actions.act_window: hr_attendance.hr_attendance_action_employee
49
+ DEL ir.actions.act_window: hr_attendance.hr_attendance_action_overview
50
+ DEL ir.actions.act_window: hr_attendance.hr_attendance_report_action
51
+ DEL ir.actions.act_window: hr_attendance.hr_attendance_report_action_filtered
52
+ # NOTHING TO DO
53
+
54
+ DEL ir.actions.client: hr_attendance.hr_attendance_action_kiosk_mode
55
+ DEL ir.actions.client: hr_attendance.hr_attendance_action_my_attendances
56
+ NEW ir.actions.server: hr_attendance.open_kiosk_url
57
+ # NOTHING TO DO
58
+
59
+ NEW ir.model.access: hr_attendance.access_hr_attendance_admin
60
+ NEW ir.model.access: hr_attendance.access_hr_attendance_admin_overtime
61
+ NEW ir.model.access: hr_attendance.access_hr_attendance_officer_overtime
62
+ DEL ir.model.access: hr_attendance.access_hr_attendance_overtime_system_user
63
+ DEL ir.model.access: hr_attendance.access_hr_attendance_report_user
64
+ DEL ir.model.access: hr_attendance.access_hr_attendance_system_user
65
+ # NOTHING TO DO
66
+
67
+ NEW ir.rule: hr_attendance.hr_attendance_rule_attendance_admin (noupdate)
68
+ NEW ir.rule: hr_attendance.hr_attendance_rule_attendance_manager_restrict (noupdate)
69
+ NEW ir.rule: hr_attendance.hr_attendance_rule_attendance_officer_overtime_restrict (noupdate)
70
+ NEW ir.rule: hr_attendance.hr_attendance_rule_attendance_overtime_admin (noupdate)
71
+ NEW ir.rule: hr_attendance.hr_attendance_rule_attendance_overtime_simple_user (noupdate)
72
+ NEW ir.rule: hr_attendance.hr_attendance_rule_attendance_simple_user (noupdate)
73
+ # NOTHING TO DO
74
+
75
+ DEL ir.rule: hr_attendance.hr_attendance_report_rule_multi_company (noupdate)
76
+ DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_employee (noupdate)
77
+ DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_manager (noupdate)
78
+ DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_manual (noupdate)
79
+ DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_overtime_employee (noupdate)
80
+ DEL ir.rule: hr_attendance.hr_attendance_rule_attendance_overtime_manager (noupdate)
81
+ # DONE: post-migration: safely delete
82
+
83
+ NEW ir.ui.menu: hr_attendance.menu_hr_attendance_reporting
84
+ DEL ir.ui.menu: hr_attendance.menu_hr_attendance_attendances_overview
85
+ DEL ir.ui.menu: hr_attendance.menu_hr_attendance_my_attendances
86
+ DEL ir.ui.menu: hr_attendance.menu_hr_attendance_report
87
+ # NOTHING TO DO
88
+
89
+ NEW ir.ui.view: hr_attendance.hr_attendance_employee_simple_tree_view
90
+ NEW ir.ui.view: hr_attendance.hr_attendance_view_graph
91
+ NEW ir.ui.view: hr_attendance.hr_attendance_view_pivot
92
+ NEW ir.ui.view: hr_attendance.public_kiosk_mode
93
+ NEW ir.ui.view: hr_attendance.view_employee_tree_inherit_leave
94
+ DEL ir.ui.view: hr_attendance.hr_attendance_report_view_graph
95
+ DEL ir.ui.view: hr_attendance.hr_attendance_report_view_pivot
96
+ DEL ir.ui.view: hr_attendance.hr_attendance_report_view_search
97
+ # NOTHING TO DO
98
+
99
+ NEW res.groups: hr_attendance.group_hr_attendance_officer
100
+ DEL res.groups: hr_attendance.group_hr_attendance_user
101
+ # DONE: pre-migration: rename group
102
+
103
+ NEW res.groups: hr_attendance.group_hr_attendance_own_reader
104
+ DEL res.groups: hr_attendance.group_hr_attendance_kiosk
105
+ # DONE: pre-migration: rename group
106
+
107
+ DEL res.groups: hr_attendance.group_hr_attendance
108
+ # NOTHING TO DO
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-openupgrade_scripts
3
- Version: 17.0.1.0.1.164
3
+ Version: 17.0.1.0.1.169
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo>=17.0a,<17.1dev
6
6
  Requires-Dist: openupgradelib
@@ -8,7 +8,7 @@ odoo/addons/openupgrade_scripts/readme/INSTALL.md,sha256=NDKVZRv0J8BTqcSTD7JwUXL
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
10
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/post-migration.py,sha256=sGbnOp3uC-I9cE4PI5rOvja1SsjmaOg2LsnZznv2z88,20953
11
- odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py,sha256=Flh9c2ZJINT8H-TGlEtVX17jaZFkPK-iJhAzO2UlHDQ,8554
11
+ odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/pre-migration.py,sha256=X_BA6g1j1YGBB4B7ZnAoLmhPbbX1nZEYlOdEA8YmXWo,8603
12
12
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/upgrade_analysis.txt,sha256=w-Q2WtJccdOwtxpfrZs9nVzsv1Fjt67nPHitJ4UcPbg,39995
13
13
  odoo/addons/openupgrade_scripts/scripts/account/17.0.1.2/upgrade_analysis_work.txt,sha256=JYdR14ndafoDGFoCkaIv5E94MqwZ46nmG-IEtHg7YjY,44220
14
14
  odoo/addons/openupgrade_scripts/scripts/account/tests/data_account_migration.py,sha256=X2PQ8HnArd9SDH-7VpYWmDpjmCs2tH_GkR7YLKnDoWA,491
@@ -55,7 +55,7 @@ odoo/addons/openupgrade_scripts/scripts/barcodes_gs1_nomenclature/17.0.1.0/upgra
55
55
  odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/end-migration.py,sha256=rBD26z9On8J-vea9CYPKS-NhQGjoY4d8ZppskA4qgEo,572
56
56
  odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/noupdate_changes.xml,sha256=twD1fWoG0Suc0a2ayXEdhNm52IMtjWSQkbeNvO16l44,1880
57
57
  odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/post-migration.py,sha256=PWK3BSMnDdZyeqDeTd_HCuxkajsnZwgN-mt19eZSiNM,558
58
- odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/pre-migration.py,sha256=h587Dp1SFe8b4rabIDQUXOSc9K83DnP-Cj6blVLETAQ,6852
58
+ odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/pre-migration.py,sha256=Y6kkwSGQh_TL4Yhn3rn_7jRJBfxbstE3uDh-AHnMqLU,7022
59
59
  odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/upgrade_analysis.txt,sha256=582vQjFef3V8AEKKHmMUSl8x1V1bH6yfOSCXSEMzq1k,13839
60
60
  odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/upgrade_analysis_work.txt,sha256=g5Ava9_CEq6qdRPQMTYqqMKvWV5vKmkbhDIwD3G80nA,15606
61
61
  odoo/addons/openupgrade_scripts/scripts/base/17.0.1.3/upgrade_general_log.txt,sha256=GRj34tkylY-sxgXKm6nlG9P-Y_ZJs3MCp09l8jbpyqg,38921
@@ -133,7 +133,10 @@ odoo/addons/openupgrade_scripts/scripts/hr/17.0.1.1/post-migration.py,sha256=bi1
133
133
  odoo/addons/openupgrade_scripts/scripts/hr/17.0.1.1/pre-migration.py,sha256=YdaFkte3iGFhb5sbxw2V6U1R9zscVDD6gOrF0tII8_s,4335
134
134
  odoo/addons/openupgrade_scripts/scripts/hr/17.0.1.1/upgrade_analysis.txt,sha256=-4tW82_F8u5kdrEaP2aWHSY29ar5qI0uKWK5QZI4Zws,8063
135
135
  odoo/addons/openupgrade_scripts/scripts/hr/17.0.1.1/upgrade_analysis_work.txt,sha256=IhX4TMtbhnrPG2FrbO_otRpduBtJViyXMtBLf290aYs,9437
136
+ odoo/addons/openupgrade_scripts/scripts/hr_attendance/17.0.2.0/post-migration.py,sha256=j_i6wfOSi9bUNSnOxc2vUg7EOGHFBLuAfrKLmq5zIbQ,2070
137
+ odoo/addons/openupgrade_scripts/scripts/hr_attendance/17.0.2.0/pre-migration.py,sha256=yrvuji7cl7A_D73fMYLzci1QNSv95CbC_vEK2W69bQE,1223
136
138
  odoo/addons/openupgrade_scripts/scripts/hr_attendance/17.0.2.0/upgrade_analysis.txt,sha256=ktiyZgjaASUbYSnMG6OdNse9DchedxPqneC7F5W4Vjw,5377
139
+ odoo/addons/openupgrade_scripts/scripts/hr_attendance/17.0.2.0/upgrade_analysis_work.txt,sha256=2ASviNWmrnkPdAELkHM_9kGoEGhRMU9PjtLP4wK3x4A,6124
137
140
  odoo/addons/openupgrade_scripts/scripts/hr_contract/17.0.1.0/noupdate_changes.xml,sha256=1NemwLIilOOpHDoCFdWOx6FPBx4REo_Wvpe5mb1a28A,518
138
141
  odoo/addons/openupgrade_scripts/scripts/hr_contract/17.0.1.0/post-migration.py,sha256=w-j2Hox5aWp8r9Vyo6nufjm1CA496voFhNcpdN0VtyY,306
139
142
  odoo/addons/openupgrade_scripts/scripts/hr_contract/17.0.1.0/upgrade_analysis.txt,sha256=UGFMWkoi2FdlkIYF85f5v3lhF52ahVhnU3WKiW7Figg,1400
@@ -634,7 +637,7 @@ odoo/addons/openupgrade_scripts/scripts/website_twitter/17.0.1.0/upgrade_analysi
634
637
  odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
635
638
  odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
636
639
  odoo/addons/openupgrade_scripts/static/description/index.html,sha256=iV41-zYBM4uvZPuunpcr7bQeRgBaojVsKo_gkeyJyA4,12639
637
- odoo_addon_openupgrade_scripts-17.0.1.0.1.164.dist-info/METADATA,sha256=xfbehdSzoxWxuXzFKKaX7N1Gc6dLczCqoLXzzZvAK_k,3786
638
- odoo_addon_openupgrade_scripts-17.0.1.0.1.164.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
639
- odoo_addon_openupgrade_scripts-17.0.1.0.1.164.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
640
- odoo_addon_openupgrade_scripts-17.0.1.0.1.164.dist-info/RECORD,,
640
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.169.dist-info/METADATA,sha256=_WgbbZDQYYPw_IGFEfROV4feOdY7HScYAmf6GhlqxjA,3786
641
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.169.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
642
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.169.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
643
+ odoo_addon_openupgrade_scripts-17.0.1.0.1.169.dist-info/RECORD,,