odoo-addon-openupgrade-scripts 18.0.1.0.0.335__py3-none-any.whl → 18.0.1.0.0.346__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 (14) hide show
  1. odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis.txt +3 -0
  2. odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/noupdate_changes_work.xml +41 -0
  3. odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/post-migration.py +251 -0
  4. odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/pre-migration.py +46 -0
  5. odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/upgrade_analysis_work.txt +170 -0
  6. odoo/addons/openupgrade_scripts/scripts/hr_recruitment_survey/18.0.1.0/post-migration.py +47 -0
  7. odoo/addons/openupgrade_scripts/scripts/hr_recruitment_survey/18.0.1.0/upgrade_analysis_work.txt +45 -0
  8. odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/18.0.1.0/upgrade_analysis_work.txt +8 -0
  9. odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/pre-migration.py +24 -0
  10. odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis_work.txt +7 -0
  11. {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info}/METADATA +1 -1
  12. {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info}/RECORD +14 -6
  13. {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info}/WHEEL +0 -0
  14. {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info}/top_level.txt +0 -0
@@ -212,7 +212,10 @@ NEW ir.ui.view: account.portal_my_details_fields
212
212
  NEW ir.ui.view: account.product_product_view_form_normalized_account
213
213
  NEW ir.ui.view: account.product_view_search_catalog
214
214
  NEW ir.ui.view: account.report_invoice_document_preview
215
+ NEW ir.ui.view: account.report_invoice_qr_code_preview
215
216
  NEW ir.ui.view: account.report_invoice_wizard_iframe
217
+ NEW ir.ui.view: account.report_invoice_wizard_preview_inherit_account
218
+ NEW ir.ui.view: account.res_config_settings_view_form_base_setup
216
219
  NEW ir.ui.view: account.res_partner_view_tree
217
220
  NEW ir.ui.view: account.tests_shared_js_python
218
221
  NEW ir.ui.view: account.view_account_bill_filter
@@ -0,0 +1,41 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <odoo>
3
+ <template id="candidate_hired_template">
4
+ Employee created: <a href="#" t-att-data-oe-id="candidate.employee_id.id" data-oe-model="hr.employee"><t t-esc="candidate.employee_id.name"/></a>
5
+ </template>
6
+ <record id="group_hr_recruitment_manager" model="res.groups">
7
+ <field name="implied_ids" eval="[(4, ref('group_hr_recruitment_user'))]"/>
8
+ </record>
9
+ <record id="group_hr_recruitment_user" model="res.groups">
10
+ <field name="implied_ids" eval="[(4, ref('group_hr_recruitment_interviewer'))]"/>
11
+ </record>
12
+ <record id="mt_department_new" model="mail.message.subtype">
13
+ <field name="parent_id"/>
14
+ <field name="default">False</field>
15
+ </record>
16
+ <record id="mt_job_new" model="mail.message.subtype">
17
+ <field name="description">Job Position created</field>
18
+ </record>
19
+ <record id="refuse_reason_1" model="hr.applicant.refuse.reason">
20
+ <field name="name">Does not fit the job requirements</field>
21
+ <field name="sequence">12</field>
22
+ </record>
23
+ <record id="refuse_reason_2" model="hr.applicant.refuse.reason">
24
+ <field name="name">Refused by applicant: job fit</field>
25
+ <field name="sequence">11</field>
26
+ </record>
27
+ <record id="refuse_reason_5" model="hr.applicant.refuse.reason">
28
+ <field name="name">Job already fulfilled</field>
29
+ <field name="sequence">13</field>
30
+ </record>
31
+ <record id="refuse_reason_6" model="hr.applicant.refuse.reason">
32
+ <field name="sequence">14</field>
33
+ </record>
34
+ <record id="refuse_reason_7" model="hr.applicant.refuse.reason">
35
+ <field name="sequence">15</field>
36
+ </record>
37
+ <record id="refuse_reason_8" model="hr.applicant.refuse.reason">
38
+ <field name="name">Refused by applicant: salary</field>
39
+ <field name="sequence">10</field>
40
+ </record>
41
+ </odoo>
@@ -0,0 +1,251 @@
1
+ from openupgradelib import openupgrade
2
+
3
+ from odoo import Command
4
+
5
+
6
+ def _fill_hr_candidate(env):
7
+ # create helper
8
+ column_adds = [
9
+ ("hr.candidate", "old_applicant_id", "many2one"), # helper
10
+ ]
11
+ openupgrade.add_columns(env, column_adds)
12
+ # Create candidate records from applicant
13
+ openupgrade.logged_query(
14
+ env.cr,
15
+ """
16
+ INSERT INTO hr_candidate (
17
+ partner_id, partner_name, email_from, email_cc, email_normalized,
18
+ partner_phone, partner_phone_sanitized, phone_sanitized,
19
+ employee_id, linkedin_profile, type_id, priority,
20
+ availability, color, message_bounce, active,
21
+ user_id, company_id, old_applicant_id,
22
+ create_date, write_date, create_uid, write_uid
23
+ )
24
+ SELECT partner_id, partner_name, email_from, email_cc, email_normalized,
25
+ COALESCE(partner_mobile, partner_phone),
26
+ COALESCE(partner_mobile_sanitized, partner_phone_sanitized),
27
+ phone_sanitized, emp_id, linkedin_profile, type_id, priority,
28
+ availability, color, message_bounce, TRUE,
29
+ user_id, company_id, id,
30
+ create_date, write_date, create_uid, write_uid
31
+ FROM hr_applicant
32
+ WHERE candidate_id IS NULL AND partner_id IS NULL;
33
+ """,
34
+ )
35
+ openupgrade.logged_query(
36
+ env.cr,
37
+ """
38
+ INSERT INTO hr_candidate (
39
+ partner_id, partner_name, email_from, email_cc, email_normalized,
40
+ partner_phone, partner_phone_sanitized, phone_sanitized,
41
+ employee_id, linkedin_profile, type_id, priority,
42
+ availability, color, message_bounce, active,
43
+ user_id, company_id, old_applicant_id,
44
+ create_date, write_date, create_uid, write_uid
45
+ )
46
+ SELECT
47
+ partner_id,
48
+ partner_name,
49
+ email_from, email_cc, email_normalized,
50
+ partner_phone, partner_phone_sanitized,
51
+ phone_sanitized, emp_id, linkedin_profile,
52
+ type_id, priority,
53
+ availability, color, message_bounce, TRUE as active,
54
+ user_id, company_id, id as old_applicant_id,
55
+ create_date, write_date, create_uid, write_uid
56
+ FROM (
57
+ SELECT
58
+ partner_id,
59
+ FIRST_VALUE(CASE WHEN partner_name IS NOT NULL THEN partner_name END)
60
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
61
+ ) AS partner_name,
62
+ FIRST_VALUE(CASE WHEN email_from IS NOT NULL THEN email_from END)
63
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
64
+ ) AS email_from,
65
+ FIRST_VALUE(CASE WHEN email_cc IS NOT NULL THEN email_cc END)
66
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
67
+ ) AS email_cc,
68
+ FIRST_VALUE(
69
+ CASE WHEN email_normalized IS NOT NULL THEN email_normalized END)
70
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
71
+ ) AS email_normalized,
72
+ FIRST_VALUE(
73
+ CASE WHEN COALESCE(partner_mobile, partner_phone) IS NOT NULL
74
+ THEN COALESCE(partner_mobile, partner_phone) END)
75
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
76
+ ) AS partner_phone,
77
+ FIRST_VALUE(CASE WHEN COALESCE(
78
+ partner_mobile_sanitized, partner_phone_sanitized) IS NOT NULL
79
+ THEN COALESCE(partner_mobile_sanitized, partner_phone_sanitized
80
+ ) END)
81
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
82
+ ) AS partner_phone_sanitized,
83
+ FIRST_VALUE(
84
+ CASE WHEN phone_sanitized IS NOT NULL THEN phone_sanitized END)
85
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
86
+ ) AS phone_sanitized,
87
+ FIRST_VALUE(CASE WHEN emp_id IS NOT NULL THEN emp_id END)
88
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
89
+ ) AS emp_id,
90
+ FIRST_VALUE(
91
+ CASE WHEN linkedin_profile IS NOT NULL THEN linkedin_profile END)
92
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
93
+ ) AS linkedin_profile,
94
+ FIRST_VALUE(CASE WHEN type_id IS NOT NULL THEN type_id END)
95
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
96
+ ) AS type_id,
97
+ FIRST_VALUE(CASE WHEN priority IS NOT NULL THEN priority END)
98
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
99
+ ) AS priority,
100
+ MAX(CASE WHEN availability IS NOT NULL THEN availability END)
101
+ OVER (PARTITION BY partner_id, company_id) AS availability,
102
+ FIRST_VALUE(CASE WHEN color IS NOT NULL THEN color END)
103
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
104
+ ) AS color,
105
+ FIRST_VALUE(
106
+ CASE WHEN message_bounce IS NOT NULL THEN message_bounce END)
107
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
108
+ ) AS message_bounce,
109
+ FIRST_VALUE(CASE WHEN user_id IS NOT NULL THEN user_id END)
110
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
111
+ ) AS user_id,
112
+ company_id,
113
+ id,
114
+ MIN(CASE WHEN create_date IS NOT NULL THEN create_date END)
115
+ OVER (PARTITION BY partner_id, company_id) AS create_date,
116
+ MAX(CASE WHEN write_date IS NOT NULL THEN write_date END)
117
+ OVER (PARTITION BY partner_id, company_id) AS write_date,
118
+ FIRST_VALUE(CASE WHEN create_uid IS NOT NULL THEN create_uid END)
119
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
120
+ ) AS create_uid,
121
+ FIRST_VALUE(CASE WHEN write_uid IS NOT NULL THEN write_uid END)
122
+ OVER (PARTITION BY partner_id, company_id ORDER BY create_date DESC
123
+ ) AS write_uid,
124
+ ROW_NUMBER() OVER (
125
+ PARTITION BY partner_id, company_id ORDER BY create_date DESC) AS rn
126
+ FROM hr_applicant
127
+ WHERE candidate_id IS NULL AND partner_id IS NOT NULL
128
+ ) ranked
129
+ WHERE rn = 1;
130
+ """,
131
+ )
132
+ # Update hr_applicant.candidate_id using helper old_applicant_id
133
+ openupgrade.logged_query(
134
+ env.cr,
135
+ """
136
+ UPDATE hr_applicant ha
137
+ SET candidate_id = hc.id
138
+ FROM hr_candidate hc
139
+ WHERE ha.id = hc.old_applicant_id
140
+ """,
141
+ )
142
+ openupgrade.logged_query(
143
+ env.cr,
144
+ """
145
+ UPDATE hr_applicant ha
146
+ SET candidate_id = hc.id
147
+ FROM hr_candidate hc
148
+ WHERE ha.candidate_id IS NULL AND ha.partner_id = hc.partner_id
149
+ AND (ha.company_id = hc.company_id
150
+ OR (ha.company_id IS NULL AND hc.company_id IS NULL))
151
+ """,
152
+ )
153
+ # remove helper
154
+ openupgrade.logged_query(
155
+ env.cr,
156
+ """
157
+ ALTER TABLE hr_candidate
158
+ DROP COLUMN old_applicant_id
159
+ """,
160
+ )
161
+ # fill many2many field categ_ids
162
+ openupgrade.logged_query(
163
+ env.cr,
164
+ """
165
+ INSERT INTO hr_applicant_category_hr_candidate_rel (
166
+ hr_candidate_id, hr_applicant_category_id
167
+ )
168
+ SELECT ha.candidate_id, m2m.hr_applicant_category_id
169
+ FROM hr_applicant_hr_applicant_category_rel as m2m
170
+ JOIN hr_applicant AS ha ON ha.id = m2m.hr_applicant_id
171
+ ON CONFLICT DO NOTHING
172
+ """,
173
+ )
174
+ # Fill calendar_event.candidate_id
175
+ openupgrade.logged_query(
176
+ env.cr,
177
+ """
178
+ UPDATE calendar_event ce
179
+ SET candidate_id = ha.candidate_id
180
+ FROM hr_applicant ha
181
+ WHERE ce.applicant_id = ha.id
182
+ """,
183
+ )
184
+ # duplicate attachments
185
+ env.cr.execute(
186
+ """
187
+ SELECT column_name
188
+ FROM information_schema.columns
189
+ WHERE table_name = 'ir_attachment'
190
+ """
191
+ )
192
+ attachment_columns = [
193
+ x[0] for x in env.cr.fetchall() if x[0] not in ["id", "res_model", "res_id"]
194
+ ]
195
+ select_columns = ",".join(["ia." + x for x in attachment_columns])
196
+ insert_columns = ",".join(attachment_columns)
197
+ openupgrade.logged_query(
198
+ env.cr,
199
+ f"""
200
+ INSERT INTO ir_attachment (res_model,res_id,{insert_columns})
201
+ SELECT 'hr.candidate',ha.candidate_id,{select_columns}
202
+ FROM ir_attachment ia
203
+ JOIN hr_applicant ha ON ia.res_model = 'hr.applicant' AND ia.res_id = ha.id
204
+ """,
205
+ )
206
+ candidates = env["hr.candidate"].search([])
207
+ for candidate in candidates:
208
+ if len(candidate.applicant_ids) > 1:
209
+ candidate._compute_priority() # recompute priority
210
+ if all(not applicant.active for applicant in candidate.applicant_ids):
211
+ # archive inactive candidates if all applicants are inactive
212
+ candidate.active = False
213
+
214
+
215
+ def _normalize_res_groups_implied(env):
216
+ """
217
+ Remove the implied_ids from group_hr_recruitment_manager
218
+ according to the changes in Odoo 18.0.
219
+ https://github.com/odoo/odoo/commit/901088c76f07b6bc076fa66b76fe892be909c7a8
220
+ https://github.com/odoo/odoo/commit/2ad420db95d47e73cff0d4c46d22b48bf83fed5f
221
+ """
222
+ recruitment_manager = env.ref("hr_recruitment.group_hr_recruitment_manager")
223
+ group_hr_user = env.ref("hr.group_hr_user")
224
+ group_mail_template = env.ref("mail.group_mail_template_editor")
225
+ recruitment_manager.implied_ids = [
226
+ Command.unlink(group_hr_user.id),
227
+ Command.unlink(group_mail_template.id),
228
+ ]
229
+
230
+
231
+ @openupgrade.migrate()
232
+ def migrate(env, version):
233
+ openupgrade.load_data(env, "hr_recruitment", "18.0.1.1/noupdate_changes_work.xml")
234
+ openupgrade.delete_record_translations(
235
+ env.cr, "hr_recruitment", ["mt_job_new"], ["description"]
236
+ )
237
+ openupgrade.delete_record_translations(
238
+ env.cr,
239
+ "hr_recruitment",
240
+ ["refuse_reason_1", "refuse_reason_2", "refuse_reason_5", "refuse_reason_8"],
241
+ ["name"],
242
+ )
243
+ _fill_hr_candidate(env)
244
+ _normalize_res_groups_implied(env)
245
+ openupgrade.delete_records_safely_by_xml_id(
246
+ env,
247
+ [
248
+ "hr_recruitment.categ_meet_interview",
249
+ "hr_recruitment.hr_recruitment_blacklisted_emails",
250
+ ],
251
+ )
@@ -0,0 +1,46 @@
1
+ from openupgradelib import openupgrade
2
+
3
+ columns_copy = {
4
+ "hr_applicant": [
5
+ ("name", None, None),
6
+ ],
7
+ }
8
+
9
+ column_creates = [
10
+ ("hr.applicant", "refuse_date", "datetime"),
11
+ ]
12
+
13
+ field_renames = [
14
+ ("hr.applicant", "hr_applicant", "description", "applicant_notes"),
15
+ ]
16
+
17
+ xmlid_renames = [
18
+ (
19
+ "hr_recruitment.applicant_hired_template",
20
+ "hr_recruitment.candidate_hired_template",
21
+ ),
22
+ ]
23
+
24
+
25
+ @openupgrade.migrate()
26
+ def migrate(env, version):
27
+ openupgrade.copy_columns(env.cr, columns_copy)
28
+ openupgrade.add_columns(env, column_creates)
29
+ openupgrade.rename_fields(env, field_renames)
30
+ openupgrade.rename_xmlids(env.cr, xmlid_renames)
31
+ openupgrade.rename_xmlids(
32
+ env.cr,
33
+ [
34
+ ("hr_recruitment.refuse_reason_3", "hr_recruitment.refuse_reason_2"),
35
+ ("hr_recruitment.refuse_reason_4", "hr_recruitment.refuse_reason_2"),
36
+ ],
37
+ allow_merge=True,
38
+ )
39
+ openupgrade.logged_query(
40
+ env.cr,
41
+ """
42
+ UPDATE hr_applicant
43
+ SET refuse_date = write_date
44
+ WHERE refuse_reason_id IS NOT NULL
45
+ """,
46
+ )
@@ -0,0 +1,170 @@
1
+ ---Models in module 'hr_recruitment'---
2
+ new model candidate.send.mail [transient]
3
+ # NOTHING TO DO: New feature
4
+
5
+ new model hr.candidate
6
+ # DONE: post-migration: create new record from hr.applicant
7
+
8
+ new model hr.job.platform
9
+ # NOTHING TO DO: New feature (See https://github.com/odoo/odoo/commit/0f68d1506358c81a1d369a62e240086a177d5076)
10
+
11
+ ---Fields in module 'hr_recruitment'---
12
+ hr_recruitment / calendar.event / candidate_id (many2one) : NEW relation: hr.candidate, hasdefault: compute
13
+ # DONE: pre-migration: pre-created and filled from applicant_id
14
+
15
+ hr_recruitment / hr.applicant / applicant_notes (html) : NEW
16
+ hr_recruitment / hr.applicant / description (html) : DEL
17
+ # DONE: pre-migration: renamed field
18
+
19
+ hr_recruitment / hr.applicant / refuse_date (datetime) : NEW
20
+ # DONE: pre-migration: if refused, filled with write_date
21
+
22
+ hr_recruitment / hr.applicant / name (char) : DEL required
23
+ # NOTHING TO DO: deprecated
24
+
25
+ hr_recruitment / hr.applicant / candidate_id (many2one) : NEW relation: hr.candidate, required
26
+ hr_recruitment / hr.candidate / applicant_ids (one2many) : NEW relation: hr.applicant
27
+ # DONE: post-migration: Unify them by partner_id
28
+
29
+ hr_recruitment / hr.applicant / availability (date) : not stored anymore
30
+ hr_recruitment / hr.applicant / availability (date) : now related
31
+ hr_recruitment / hr.candidate / availability (date) : NEW
32
+ hr_recruitment / hr.applicant / color (integer) : not stored anymore
33
+ hr_recruitment / hr.applicant / color (integer) : now related
34
+ hr_recruitment / hr.candidate / color (integer) : NEW hasdefault: default
35
+ hr_recruitment / hr.applicant / email_from (char) : not a function anymore
36
+ hr_recruitment / hr.applicant / email_from (char) : not stored anymore
37
+ hr_recruitment / hr.applicant / email_from (char) : now related
38
+ hr_recruitment / hr.candidate / email_from (char) : NEW isfunction: function, stored
39
+ hr_recruitment / hr.applicant / email_normalized (char) : not a function anymore
40
+ hr_recruitment / hr.applicant / email_normalized (char) : not stored anymore
41
+ hr_recruitment / hr.applicant / email_normalized (char) : now related
42
+ hr_recruitment / hr.candidate / email_normalized (char) : NEW isfunction: function, stored
43
+ hr_recruitment / hr.applicant / emp_id (many2one) : DEL relation: hr.employee
44
+ hr_recruitment / hr.candidate / employee_id (many2one) : NEW relation: hr.employee
45
+ hr_recruitment / hr.applicant / linkedin_profile (char) : not stored anymore
46
+ hr_recruitment / hr.applicant / linkedin_profile (char) : now related
47
+ hr_recruitment / hr.candidate / linkedin_profile (char) : NEW
48
+ hr_recruitment / hr.applicant / message_bounce (integer) : DEL
49
+ hr_recruitment / hr.candidate / message_bounce (integer) : NEW hasdefault: default
50
+ hr_recruitment / hr.applicant / partner_id (many2one) : not stored anymore
51
+ hr_recruitment / hr.applicant / partner_id (many2one) : now related
52
+ hr_recruitment / hr.candidate / partner_id (many2one) : NEW relation: res.partner
53
+ hr_recruitment / hr.applicant / partner_name (char) : not stored anymore
54
+ hr_recruitment / hr.applicant / partner_name (char) : now a function
55
+ hr_recruitment / hr.candidate / partner_name (char) : NEW
56
+ hr_recruitment / hr.applicant / partner_phone (char) : not a function anymore
57
+ hr_recruitment / hr.applicant / partner_phone (char) : not stored anymore
58
+ hr_recruitment / hr.applicant / partner_phone (char) : now related
59
+ hr_recruitment / hr.candidate / partner_phone (char) : NEW isfunction: function, stored
60
+ hr_recruitment / hr.applicant / partner_phone_sanitized (char): not a function anymore
61
+ hr_recruitment / hr.applicant / partner_phone_sanitized (char): not stored anymore
62
+ hr_recruitment / hr.applicant / partner_phone_sanitized (char): now related
63
+ hr_recruitment / hr.candidate / partner_phone_sanitized (char): NEW isfunction: function, stored
64
+ hr_recruitment / hr.applicant / phone_mobile_search (char) : DEL stored: False
65
+ hr_recruitment / hr.candidate / phone_mobile_search (char) : NEW stored: False
66
+ hr_recruitment / hr.applicant / phone_sanitized (char) : DEL
67
+ hr_recruitment / hr.candidate / phone_sanitized (char) : NEW isfunction: function, stored
68
+ hr_recruitment / hr.applicant / type_id (many2one) : not stored anymore
69
+ hr_recruitment / hr.applicant / type_id (many2one) : now related
70
+ hr_recruitment / hr.candidate / type_id (many2one) : NEW relation: hr.recruitment.degree
71
+ hr_recruitment / hr.candidate / categ_ids (many2many) : NEW relation: hr.applicant.category
72
+ hr_recruitment / hr.candidate / email_cc (char) : NEW
73
+ hr_recruitment / hr.candidate / company_id (many2one) : NEW relation: res.company, hasdefault: default
74
+ hr_recruitment / hr.candidate / priority (selection) : NEW selection_keys: ['0', '1', '2', '3'], isfunction: function, stored
75
+ hr_recruitment / hr.candidate / user_id (many2one) : NEW relation: res.users, hasdefault: default
76
+ # DONE: post-migration: Populate the table from hr_applicant.
77
+
78
+ hr_recruitment / hr.applicant / partner_mobile (char) : DEL
79
+ hr_recruitment / hr.applicant / partner_mobile_sanitized (char): DEL
80
+ # DONE: post-migration: use in partner_phone & partner_phone_sanitized
81
+
82
+ hr_recruitment / hr.candidate / active (boolean) : NEW hasdefault: default
83
+ # DONE: post-migration: put to inactive if not active applicants
84
+
85
+ hr_recruitment / hr.candidate / attachment_ids (one2many) : NEW relation: ir.attachment
86
+ # DONE: post-migration: moved attachments
87
+
88
+ hr_recruitment / hr.candidate / activity_ids (one2many) : NEW relation: mail.activity
89
+ hr_recruitment / hr.candidate / candidate_properties (properties): NEW hasdefault: compute
90
+ hr_recruitment / hr.candidate / meeting_ids (one2many) : NEW relation: calendar.event
91
+ hr_recruitment / hr.candidate / message_follower_ids (one2many): NEW relation: mail.followers
92
+ hr_recruitment / hr.candidate / message_ids (one2many) : NEW relation: mail.message
93
+ hr_recruitment / hr.candidate / message_main_attachment_id (many2one): NEW relation: ir.attachment
94
+ hr_recruitment / hr.candidate / rating_ids (one2many) : NEW relation: rating.rating
95
+ hr_recruitment / hr.candidate / website_message_ids (one2many): NEW relation: mail.message
96
+ # NOTHING TO DO?
97
+
98
+ hr_recruitment / hr.employee / applicant_id (one2many) : DEL relation: hr.applicant
99
+ hr_recruitment / hr.employee / candidate_id (one2many) : NEW relation: hr.candidate
100
+ # NOTHING TO DO: one2many (handled by ORM)
101
+
102
+ hr_recruitment / hr.job / date_from (date) : NEW
103
+ hr_recruitment / hr.job / date_to (date) : NEW
104
+ hr_recruitment / hr.job / industry_id (many2one) : NEW relation: res.partner.industry
105
+ # NOTHING TO DO: new functionality
106
+
107
+ hr_recruitment / hr.job / job_properties (properties) : NEW hasdefault: compute
108
+ # NOTHING TO DO: new feature
109
+
110
+ hr / hr.job / no_of_hired_employee (integer): now a function
111
+ hr_recruitment / hr.job / no_of_hired_employee (integer): previously in module hr
112
+ # NOTHING TO DO: Moved from hr in https://github.com/odoo/odoo/commit/9e199cf7c624208229ad1e1c2d127fbbdaa3aa71
113
+
114
+ hr_recruitment / hr.job.platform / email (char) : NEW required
115
+ hr_recruitment / hr.job.platform / name (char) : NEW required
116
+ hr_recruitment / hr.job.platform / regex (char) : NEW
117
+ hr_recruitment / res.company / candidate_properties_definition (properties_definition): NEW
118
+ hr_recruitment / res.company / job_properties_definition (properties_definition): NEW
119
+ # NOTHING TO DO: new features
120
+
121
+ ---XML records in module 'hr_recruitment'---
122
+ NEW hr.job.platform: hr_recruitment.indeed_job_platform (noupdate)
123
+ NEW hr.job.platform: hr_recruitment.jobsdb_job_platform (noupdate)
124
+ NEW hr.job.platform: hr_recruitment.linkedin_job_platform (noupdate)
125
+ NEW ir.actions.act_window: hr_recruitment.action_hr_candidate
126
+ NEW ir.actions.act_window: hr_recruitment.action_hr_job_platforms
127
+ NEW ir.actions.act_window: hr_recruitment.mail_activity_plan_action_config_hr_applicant
128
+ NEW ir.actions.server: hr_recruitment.action_candidate_send_mail
129
+ NEW ir.actions.server: hr_recruitment.action_load_demo_data
130
+ NEW ir.model.access: hr_recruitment.access_candidate_send_mail
131
+ NEW ir.model.access: hr_recruitment.access_candidate_send_mail_interviewer
132
+ NEW ir.model.access: hr_recruitment.access_hr_candidate_interviewer
133
+ NEW ir.model.access: hr_recruitment.access_hr_candidate_user
134
+ NEW ir.model.access: hr_recruitment.access_hr_job_platform
135
+ NEW ir.model.access: hr_recruitment.access_hr_job_user
136
+ NEW ir.model.access: hr_recruitment.access_mail_activity_plan_hr_recruitment_manager
137
+ NEW ir.model.access: hr_recruitment.access_mail_activity_plan_template_hr_recruitment_manager
138
+ NEW ir.model.constraint: hr_recruitment.constraint_hr_job_platform_email_uniq
139
+ NEW ir.rule: hr_recruitment.hr_candidate_comp_rule (noupdate)
140
+ NEW ir.rule: hr_recruitment.hr_candidate_interviewer_rule (noupdate)
141
+ NEW ir.rule: hr_recruitment.hr_candidate_user_rule (noupdate)
142
+ NEW ir.rule: hr_recruitment.mail_plan_rule_group_hr_recruitment_manager_applicant (noupdate)
143
+ NEW ir.rule: hr_recruitment.mail_plan_templates_rule_group_hr_recruitment_manager_applicant (noupdate)
144
+ NEW ir.ui.menu: hr_recruitment.hr_recruitment_menu_config_activity_plan
145
+ NEW ir.ui.menu: hr_recruitment.menu_hr_candidate
146
+ NEW ir.ui.menu: hr_recruitment.menu_hr_job_boards
147
+ NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_emails
148
+ NEW ir.ui.view: hr_recruitment.candidate_send_mail_view_form
149
+ NEW ir.ui.view: hr_recruitment.hr_candidate_view_calendar
150
+ NEW ir.ui.view: hr_recruitment.hr_candidate_view_form
151
+ NEW ir.ui.view: hr_recruitment.hr_candidate_view_kanban
152
+ NEW ir.ui.view: hr_recruitment.hr_candidate_view_search
153
+ NEW ir.ui.view: hr_recruitment.hr_candidate_view_tree
154
+ NEW ir.ui.view: hr_recruitment.hr_job_platform_form
155
+ NEW ir.ui.view: hr_recruitment.hr_job_platform_tree
156
+ DEL ir.ui.view: hr_recruitment.hr_recruitment_source_kanban
157
+ NEW web_tour.tour: hr_recruitment.hr_recruitment_tour
158
+ # NOTHING TO DO
159
+
160
+ DEL hr.applicant.refuse.reason: hr_recruitment.refuse_reason_3 (noupdate)
161
+ DEL hr.applicant.refuse.reason: hr_recruitment.refuse_reason_4 (noupdate)
162
+ # DONE: pre-migration: merged into refuse_reason_2
163
+
164
+ DEL calendar.event.type: hr_recruitment.categ_meet_interview (noupdate)
165
+ DEL ir.config_parameter: hr_recruitment.hr_recruitment_blacklisted_emails (noupdate)
166
+ # DONE: post-migration: safely removed
167
+
168
+ NEW ir.ui.view: hr_recruitment.candidate_hired_template (noupdate)
169
+ DEL ir.ui.view: hr_recruitment.applicant_hired_template (noupdate)
170
+ # DONE: pre-migration: renamed xmlids
@@ -0,0 +1,47 @@
1
+ from openupgradelib import openupgrade
2
+
3
+ from odoo import Command
4
+
5
+
6
+ def _set_survey_recruitment(env):
7
+ """
8
+ Set the survey_type to 'recruitment' for all surveys linked to HR jobs.
9
+ """
10
+ openupgrade.logged_query(
11
+ env.cr,
12
+ """
13
+ UPDATE survey_survey survey
14
+ SET survey_type = 'recruitment'
15
+ FROM hr_job job
16
+ WHERE job.survey_id = survey.id
17
+ """,
18
+ )
19
+
20
+
21
+ def _normalize_res_groups_implied(env):
22
+ """
23
+ Remove the implied_ids from group_hr_recruitment_interviewer
24
+ according to the changes in Odoo 18.0.
25
+ https://github.com/odoo/odoo/commit/027a2a66d63225abbfaef425448188007f573ac5
26
+ """
27
+ recruitment_interviewer = env.ref("hr_recruitment.group_hr_recruitment_interviewer")
28
+ group_survey_user = env.ref("survey.group_survey_user")
29
+ recruitment_interviewer.write(
30
+ {
31
+ "implied_ids": [(Command.unlink, group_survey_user.id)],
32
+ "comment": "", # Set to blank, in the hr_recruitment module it is not set.
33
+ }
34
+ )
35
+
36
+
37
+ @openupgrade.migrate()
38
+ def migrate(env, version):
39
+ openupgrade.load_data(env, "hr_recruitment_survey", "18.0.1.0/noupdate_changes.xml")
40
+ _set_survey_recruitment(env)
41
+ _normalize_res_groups_implied(env)
42
+ openupgrade.delete_record_translations(
43
+ env.cr,
44
+ "hr_recruitment",
45
+ ["group_hr_recruitment_interviewer"],
46
+ ["comment"],
47
+ )
@@ -0,0 +1,45 @@
1
+ ---Models in module 'hr_recruitment_survey'---
2
+ ---Fields in module 'hr_recruitment_survey'---
3
+ hr_recruitment_survey / survey.survey / hr_job_ids (one2many) : NEW relation: hr.job
4
+ # NOTHING TO DO: one2many (handled by ORM)
5
+
6
+ hr_recruitment_survey / survey.survey / survey_type (False) : NEW selection_keys: ['assessment', 'custom', 'live_session', 'recruitment', 'survey'], mode: modify
7
+ # DONE: post-migration: Set `recruitment` in surveys where it is set in a recruitment
8
+
9
+ ---XML records in module 'hr_recruitment_survey'---
10
+ NEW ir.actions.act_window: hr_recruitment_survey.survey_survey_action_recruitment
11
+ NEW ir.model.access: hr_recruitment_survey.access_survey_invite_recruitment_interviewer
12
+ NEW ir.model.access: hr_recruitment_survey.access_survey_invite_recruitment_user
13
+ NEW ir.model.access: hr_recruitment_survey.access_survey_question_answer_recruitment_manager
14
+ NEW ir.model.access: hr_recruitment_survey.access_survey_question_recruitment_interviewer
15
+ NEW ir.model.access: hr_recruitment_survey.access_survey_question_recruitment_manager
16
+ NEW ir.model.access: hr_recruitment_survey.access_survey_survey_recruitment_interviewer
17
+ NEW ir.model.access: hr_recruitment_survey.access_survey_survey_recruitment_manager
18
+ NEW ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_interviewer
19
+ NEW ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_manager
20
+ NEW ir.model.access: hr_recruitment_survey.access_survey_user_input_line_recruitment_user
21
+ NEW ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_interviewer
22
+ NEW ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_manager
23
+ NEW ir.model.access: hr_recruitment_survey.access_survey_user_input_recruitment_user
24
+ NEW ir.rule: hr_recruitment_survey.survey_invite_recruitment_interviewer (noupdate)
25
+ NEW ir.rule: hr_recruitment_survey.survey_invite_recruitment_manager (noupdate)
26
+ NEW ir.rule: hr_recruitment_survey.survey_invite_recruitment_user (noupdate)
27
+ NEW ir.rule: hr_recruitment_survey.survey_question_answer_rule_recruitment_manager (noupdate)
28
+ NEW ir.rule: hr_recruitment_survey.survey_question_recruitment_interviewer (noupdate)
29
+ NEW ir.rule: hr_recruitment_survey.survey_question_rule_recruitment_manager (noupdate)
30
+ NEW ir.rule: hr_recruitment_survey.survey_survey_recruitment_interviewer (noupdate)
31
+ NEW ir.rule: hr_recruitment_survey.survey_survey_rule_recruitment_manager (noupdate)
32
+ NEW ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_interviewer (noupdate)
33
+ NEW ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_manager (noupdate)
34
+ NEW ir.rule: hr_recruitment_survey.survey_user_input_line_rule_recruitment_user (noupdate)
35
+ NEW ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_manager (noupdate)
36
+ NEW ir.rule: hr_recruitment_survey.survey_user_input_rule_recruitment_user (noupdate)
37
+ # NOTHING TO DO: Specific survey access rules for recruitment, see https://github.com/odoo/odoo/commit/027a2a66d63225abbfaef425448188007f573ac5
38
+ # The group_hr_recruitment_manager can manage surveys with full CRUD permissions.
39
+ # The group_hr_recruitment_user can read and invite participants to surveys.
40
+
41
+ NEW ir.ui.menu: hr_recruitment_survey.menu_hr_recruitment_config_surveys
42
+ NEW ir.ui.view: hr_recruitment_survey.hr_recruitment_survey_button_form_view
43
+ NEW ir.ui.view: hr_recruitment_survey.survey_survey_view_form
44
+ NEW ir.ui.view: hr_recruitment_survey.survey_survey_view_kanban
45
+ # NOTHING TO DO: New menu and views specific to creating surveys
@@ -0,0 +1,8 @@
1
+ ---Models in module 'hr_skills_survey'---
2
+ ---Fields in module 'hr_skills_survey'---
3
+ hr_skills_survey / survey.survey / certification_validity_months (integer): NEW
4
+ # NOTHING TO DO: new feature to set date end as dat_start + this validity. This behavior seems more correct, and we keep it for new records. Old ones will continue as it was.
5
+
6
+ ---XML records in module 'hr_skills_survey'---
7
+ NEW ir.ui.view: hr_skills_survey.survey_survey_view_form
8
+ # NOTHING TO DO: handled by ORM
@@ -20,6 +20,29 @@ field_renames = [
20
20
  ]
21
21
 
22
22
 
23
+ def create_imd_entry_for_config_param(env):
24
+ """
25
+ If database has config parameter mail.restrict.template.rendering already
26
+ set, create an ir.model.data entry for it to avoid trying to create it a
27
+ second time
28
+ """
29
+ param = env["ir.config_parameter"].search(
30
+ [("key", "=", "mail.restrict.template.rendering")]
31
+ )
32
+ if param and not env.ref(
33
+ "mail.restrict_template_rendering", raise_if_not_found=False
34
+ ):
35
+ env["ir.model.data"].create(
36
+ {
37
+ "name": "restrict_template_rendering",
38
+ "module": "mail",
39
+ "model": param._name,
40
+ "res_id": param.id,
41
+ "noupdate": True,
42
+ }
43
+ )
44
+
45
+
23
46
  @openupgrade.migrate()
24
47
  def migrate(env, version):
25
48
  openupgrade.rename_models(env.cr, model_renames)
@@ -34,3 +57,4 @@ def migrate(env, version):
34
57
  )
35
58
  ],
36
59
  )
60
+ create_imd_entry_for_config_param(env)
@@ -0,0 +1,7 @@
1
+ ---Models in module 'website_hr_recruitment'---
2
+ ---Fields in module 'website_hr_recruitment'---
3
+ ---XML records in module 'website_hr_recruitment'---
4
+ DEL ir.ui.view: website_hr_recruitment.default_description
5
+ DEL ir.ui.view: website_hr_recruitment.hr_recruitment_source_kanban_inherit_website
6
+ NEW website.menu: website_hr_recruitment.website_menu_jobs (noupdate)
7
+ # NOTHING TO DO
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-openupgrade_scripts
3
- Version: 18.0.1.0.0.335
3
+ Version: 18.0.1.0.0.346
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo==18.0.*
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/18.0.1.3/noupdate_changes.xml,sha256=givzahE7VAv9gM1TkNDHs3qhNh3AZacox5q-hDuDjIU,4078
9
9
  odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/post-migration.py,sha256=H-mx1NIfSfZvHghcvYRKHWJoZQEWJc9psTTL1Sbn33g,6519
10
10
  odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/pre-migration.py,sha256=Lm8x-SdarGIuUap9amSVUHCY_gFWotlPlUYrgbkDoR0,8249
11
- odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis.txt,sha256=RzjL-rFUWyrhCGHePhqhbILr9Zw3BqOVeHH7VST3jbY,21179
11
+ odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis.txt,sha256=xpQwQxWn0ktacfLBgmRuRMjvSY9R4ClAQlfLJRs35Tg,21369
12
12
  odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis_work.txt,sha256=IHraqatQaxlTvOPt0HE9Uca1y_qw1ZsUF-fB2PnQIH8,25211
13
13
  odoo/addons/openupgrade_scripts/scripts/account/tests/data.py,sha256=beOIEOzb6-hvlpjM9VVZrSj8pqZ6U7AcrS-w3vkTgsU,490
14
14
  odoo/addons/openupgrade_scripts/scripts/account/tests/test_migration.py,sha256=UsHOHhSkUkmcm4inSE8VgFIn79E-6i9FXt3v6jHW5HY,791
@@ -185,12 +185,18 @@ odoo/addons/openupgrade_scripts/scripts/hr_org_chart/18.0.1.0/upgrade_analysis_w
185
185
  odoo/addons/openupgrade_scripts/scripts/hr_presence/18.0.1.0/noupdate_changes.xml,sha256=F8rQNt3I2Z022Kd6-aUQwefRG6JhpP5h9qc1HKxS9rY,1144
186
186
  odoo/addons/openupgrade_scripts/scripts/hr_presence/18.0.1.0/upgrade_analysis.txt,sha256=6JNkLuUB-Ce1V2WJi_HhrtkQA_yS9ptiM2rFkIOFSAk,1001
187
187
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/noupdate_changes.xml,sha256=UX2Wy3IaZtT5-p3z2T1HgbSRd4t5espsASQBRq-nDpk,1581
188
+ odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/noupdate_changes_work.xml,sha256=qd5AjM0uWybu81xqGDsLa8hPAPK7e8f2D_tA6c5shsk,1784
189
+ odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/post-migration.py,sha256=dVOqX_IhsGiSa9dE_XdCOz42N6b2g1E6_lEvl3K5tNc,10834
190
+ odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/pre-migration.py,sha256=JkPKnqw5LVJ2LXJCvjnDbqz1716pu8JBjwQgG2ANiMc,1122
188
191
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/upgrade_analysis.txt,sha256=egJBU6M14oAL4JOPEej39P0w-tyi-v8eKSbdMUZM8-I,10676
192
+ odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/upgrade_analysis_work.txt,sha256=Bk15zVV8z-AUhC1oDmxJJhO3h95rXQpJ8neqFP1rdIo,11783
189
193
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment_skills/18.0.1.0/noupdate_changes.xml,sha256=TBWulUD77pcsyyuwVjk-O33EtjeAv98gbvpS0AHlFYA,563
190
194
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment_skills/18.0.1.0/upgrade_analysis.txt,sha256=iQF7k6CQCDXQyyh_TWqqn4ktJK7xEfgy4Q8xyo1acbk,2114
191
195
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment_sms/18.0.1.0/upgrade_analysis.txt,sha256=FJI1P9IcBHW7GjFk1x8zkxu1yfA99EiujiWfva0QWxc,212
192
196
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment_survey/18.0.1.0/noupdate_changes.xml,sha256=cfrhcI415EqNbAoWuR36rd77cmbKyJKAOxCbKnRs3a0,503
197
+ odoo/addons/openupgrade_scripts/scripts/hr_recruitment_survey/18.0.1.0/post-migration.py,sha256=px6qmnv3sWeO4qDo5B_iV2NJqe16_NzyY4FyT59Awew,1396
193
198
  odoo/addons/openupgrade_scripts/scripts/hr_recruitment_survey/18.0.1.0/upgrade_analysis.txt,sha256=aPNHVDFQ2Kqf4vwA_j7ZqyWrs85MIzte97F6gaNydIU,3081
199
+ odoo/addons/openupgrade_scripts/scripts/hr_recruitment_survey/18.0.1.0/upgrade_analysis_work.txt,sha256=5mNoRZ2Q7RK0h2UD6fGZj0qGbc7DaAHjHRfuRJ61TOU,3581
194
200
  odoo/addons/openupgrade_scripts/scripts/hr_skills/18.0.1.0/post-migration.py,sha256=ETyBTgUrVnpXDJfqNPQcYxduWl4kIRcb3_UM8ZcMbIQ,410
195
201
  odoo/addons/openupgrade_scripts/scripts/hr_skills/18.0.1.0/pre-migration.py,sha256=FEVhsx34mxMFD2mz0-_krKfvBzQLVpGmtJXvMBTweBU,285
196
202
  odoo/addons/openupgrade_scripts/scripts/hr_skills/18.0.1.0/upgrade_analysis.txt,sha256=CaDTiFS5E04Wiy3b-qbUCYVe8BCWciRf8H-4igaXQh8,3772
@@ -198,6 +204,7 @@ odoo/addons/openupgrade_scripts/scripts/hr_skills/18.0.1.0/upgrade_analysis_work
198
204
  odoo/addons/openupgrade_scripts/scripts/hr_skills_slides/18.0.1.0/upgrade_analysis.txt,sha256=oQB8tjhHAghJ25JskMaQEBVgDe2p4uz0qvWqX-QBuwQ,171
199
205
  odoo/addons/openupgrade_scripts/scripts/hr_skills_slides/18.0.1.0/upgrade_analysis_work.txt,sha256=GZ50if5Cj-olkF4Pf8HYlz00Yf6yVfr0BdXK4ILPCcA,187
200
206
  odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/18.0.1.0/upgrade_analysis.txt,sha256=62_iV0pHw5oxzbG1mv3_Ek0d1o7aMypWyCTtFnJ26LU,279
207
+ odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/18.0.1.0/upgrade_analysis_work.txt,sha256=ALpFFVogUtRXDVFjlwQVn1BpSaRX9ksiV9erbonVb-g,487
201
208
  odoo/addons/openupgrade_scripts/scripts/hr_timesheet/18.0.1.0/noupdate_changes.xml,sha256=u1LW9PIW7z-rnmCQe9Z6Oogyv4ncATE6KHe2MLNHr1M,1328
202
209
  odoo/addons/openupgrade_scripts/scripts/hr_timesheet/18.0.1.0/post-migration.py,sha256=y0qmrJJCcNW5gcOoCVqP7iD7JInjXLSdM4nIRcS4CFM,291
203
210
  odoo/addons/openupgrade_scripts/scripts/hr_timesheet/18.0.1.0/upgrade_analysis.txt,sha256=x6O3HV-UphXUsvvDp4Y-PomWh3xO24FGS_n7Cx2FSrA,2203
@@ -371,7 +378,7 @@ odoo/addons/openupgrade_scripts/scripts/loyalty/18.0.1.0/upgrade_analysis_work.t
371
378
  odoo/addons/openupgrade_scripts/scripts/lunch/18.0.1.0/upgrade_analysis.txt,sha256=I00Bu3CtG_X-c_-KpU7MGC0uZI306Mb6of6dMyB7nFg,283
372
379
  odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/noupdate_changes.xml,sha256=nHtVWU3RSjfpW7QN8N0Mt0qqVqHBC3-Pz7_po695_bs,4391
373
380
  odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/post-migration.py,sha256=ioQQmxrPDZC2D2WYZKDIFwRbxUx8muupRpk1hdmFFb4,2172
374
- odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/pre-migration.py,sha256=fIUsCJauN-HFI43SF3zKVyxvUBfbaXnx7eu7XJk6498,991
381
+ odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/pre-migration.py,sha256=rXGAyXr6fT0EDjXHac2p7QSB14kM9lssaL8VnmmGsLw,1757
375
382
  odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/upgrade_analysis.txt,sha256=9CQ14swPYLRX5H66iN0Tb0IYLAU-WjiMZFbBvyYFGFw,7039
376
383
  odoo/addons/openupgrade_scripts/scripts/mail/18.0.1.18/upgrade_analysis_work.txt,sha256=mWWnzMB8PnizxTYJfFkS0EhMzzKaiT2V4CxqxkPDEWQ,9864
377
384
  odoo/addons/openupgrade_scripts/scripts/mail/tests/data.py,sha256=Jd66WgwKgh_X3RLtCG2G-rLdrS5HyL4SjOwdjHIWuwk,218
@@ -698,6 +705,7 @@ odoo/addons/openupgrade_scripts/scripts/website_event_track_quiz/18.0.1.0/upgrad
698
705
  odoo/addons/openupgrade_scripts/scripts/website_forum/18.0.1.2/noupdate_changes.xml,sha256=sPZfqPBHqSnqTtMkj-b1h40LNDtpiHH52YHQ5TIf8xY,5419
699
706
  odoo/addons/openupgrade_scripts/scripts/website_forum/18.0.1.2/upgrade_analysis.txt,sha256=ZG-8hgvT59iE0qeiosTRINK4dglH7D43vJkkrLQNeXM,713
700
707
  odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis.txt,sha256=1MyS7_JKvWMwMN1MBXOpSVJLYqGlJOSAoZzCmX9PZ6w,362
708
+ odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis_work.txt,sha256=Q4YX5gM_-SzNCTqOurvSxPyHi8hBhtXTBXm0zoyT7FA,378
701
709
  odoo/addons/openupgrade_scripts/scripts/website_jitsi/18.0.1.0/upgrade_analysis.txt,sha256=UzHl2nfT05b9LOrVtS0ZMq1JlSmG2lWMuoMqOk-ib68,162
702
710
  odoo/addons/openupgrade_scripts/scripts/website_jitsi/18.0.1.0/upgrade_analysis_work.txt,sha256=uw2qHsviz_FSLGW5IPLFRYm_RNM-K5pTD7beQ9zg-SA,178
703
711
  odoo/addons/openupgrade_scripts/scripts/website_livechat/18.0.1.0/upgrade_analysis.txt,sha256=Z53ZRbF2Olol1BUE1zkLwPQedKI3NO59aOEQ_Zq2Bus,171
@@ -740,7 +748,7 @@ odoo/addons/openupgrade_scripts/scripts/website_slides_survey/18.0.1.0/upgrade_a
740
748
  odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
741
749
  odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
742
750
  odoo/addons/openupgrade_scripts/static/description/index.html,sha256=Jc0qAThlH5WnoSq6vPamjC8WyMkdo_9zkhDuU1qW1VI,12722
743
- odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info/METADATA,sha256=zPKd4H9hQ6EOzBB0xlUDmE6ZCfsxtOKkoNe5lpyNqYQ,3812
744
- odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
745
- odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
746
- odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info/RECORD,,
751
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info/METADATA,sha256=xiUYwoc_kMdmZckyVTyWA2U2r71UA6xikaPy1_BjxKg,3812
752
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
753
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
754
+ odoo_addon_openupgrade_scripts-18.0.1.0.0.346.dist-info/RECORD,,