odoo-addon-openupgrade-scripts 18.0.1.0.0.335__py3-none-any.whl → 18.0.1.0.0.343__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.
- odoo/addons/openupgrade_scripts/scripts/account/18.0.1.3/upgrade_analysis.txt +3 -0
- odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/noupdate_changes_work.xml +41 -0
- odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/post-migration.py +251 -0
- odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/pre-migration.py +46 -0
- odoo/addons/openupgrade_scripts/scripts/hr_recruitment/18.0.1.1/upgrade_analysis_work.txt +170 -0
- odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/18.0.1.0/upgrade_analysis_work.txt +8 -0
- odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis_work.txt +7 -0
- {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info}/METADATA +1 -1
- {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info}/RECORD +11 -5
- {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info}/WHEEL +0 -0
- {odoo_addon_openupgrade_scripts-18.0.1.0.0.335.dist-info → odoo_addon_openupgrade_scripts-18.0.1.0.0.343.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,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
|
odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis_work.txt
ADDED
@@ -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
|
@@ -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=
|
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,7 +185,11 @@ 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
|
@@ -198,6 +202,7 @@ odoo/addons/openupgrade_scripts/scripts/hr_skills/18.0.1.0/upgrade_analysis_work
|
|
198
202
|
odoo/addons/openupgrade_scripts/scripts/hr_skills_slides/18.0.1.0/upgrade_analysis.txt,sha256=oQB8tjhHAghJ25JskMaQEBVgDe2p4uz0qvWqX-QBuwQ,171
|
199
203
|
odoo/addons/openupgrade_scripts/scripts/hr_skills_slides/18.0.1.0/upgrade_analysis_work.txt,sha256=GZ50if5Cj-olkF4Pf8HYlz00Yf6yVfr0BdXK4ILPCcA,187
|
200
204
|
odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/18.0.1.0/upgrade_analysis.txt,sha256=62_iV0pHw5oxzbG1mv3_Ek0d1o7aMypWyCTtFnJ26LU,279
|
205
|
+
odoo/addons/openupgrade_scripts/scripts/hr_skills_survey/18.0.1.0/upgrade_analysis_work.txt,sha256=ALpFFVogUtRXDVFjlwQVn1BpSaRX9ksiV9erbonVb-g,487
|
201
206
|
odoo/addons/openupgrade_scripts/scripts/hr_timesheet/18.0.1.0/noupdate_changes.xml,sha256=u1LW9PIW7z-rnmCQe9Z6Oogyv4ncATE6KHe2MLNHr1M,1328
|
202
207
|
odoo/addons/openupgrade_scripts/scripts/hr_timesheet/18.0.1.0/post-migration.py,sha256=y0qmrJJCcNW5gcOoCVqP7iD7JInjXLSdM4nIRcS4CFM,291
|
203
208
|
odoo/addons/openupgrade_scripts/scripts/hr_timesheet/18.0.1.0/upgrade_analysis.txt,sha256=x6O3HV-UphXUsvvDp4Y-PomWh3xO24FGS_n7Cx2FSrA,2203
|
@@ -698,6 +703,7 @@ odoo/addons/openupgrade_scripts/scripts/website_event_track_quiz/18.0.1.0/upgrad
|
|
698
703
|
odoo/addons/openupgrade_scripts/scripts/website_forum/18.0.1.2/noupdate_changes.xml,sha256=sPZfqPBHqSnqTtMkj-b1h40LNDtpiHH52YHQ5TIf8xY,5419
|
699
704
|
odoo/addons/openupgrade_scripts/scripts/website_forum/18.0.1.2/upgrade_analysis.txt,sha256=ZG-8hgvT59iE0qeiosTRINK4dglH7D43vJkkrLQNeXM,713
|
700
705
|
odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis.txt,sha256=1MyS7_JKvWMwMN1MBXOpSVJLYqGlJOSAoZzCmX9PZ6w,362
|
706
|
+
odoo/addons/openupgrade_scripts/scripts/website_hr_recruitment/18.0.1.1/upgrade_analysis_work.txt,sha256=Q4YX5gM_-SzNCTqOurvSxPyHi8hBhtXTBXm0zoyT7FA,378
|
701
707
|
odoo/addons/openupgrade_scripts/scripts/website_jitsi/18.0.1.0/upgrade_analysis.txt,sha256=UzHl2nfT05b9LOrVtS0ZMq1JlSmG2lWMuoMqOk-ib68,162
|
702
708
|
odoo/addons/openupgrade_scripts/scripts/website_jitsi/18.0.1.0/upgrade_analysis_work.txt,sha256=uw2qHsviz_FSLGW5IPLFRYm_RNM-K5pTD7beQ9zg-SA,178
|
703
709
|
odoo/addons/openupgrade_scripts/scripts/website_livechat/18.0.1.0/upgrade_analysis.txt,sha256=Z53ZRbF2Olol1BUE1zkLwPQedKI3NO59aOEQ_Zq2Bus,171
|
@@ -740,7 +746,7 @@ odoo/addons/openupgrade_scripts/scripts/website_slides_survey/18.0.1.0/upgrade_a
|
|
740
746
|
odoo/addons/openupgrade_scripts/static/description/banner.png,sha256=KTIBu4gfxeZVw9zjs_fivTgFEOeaAorlBxajmCA1p6k,26859
|
741
747
|
odoo/addons/openupgrade_scripts/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
742
748
|
odoo/addons/openupgrade_scripts/static/description/index.html,sha256=Jc0qAThlH5WnoSq6vPamjC8WyMkdo_9zkhDuU1qW1VI,12722
|
743
|
-
odoo_addon_openupgrade_scripts-18.0.1.0.0.
|
744
|
-
odoo_addon_openupgrade_scripts-18.0.1.0.0.
|
745
|
-
odoo_addon_openupgrade_scripts-18.0.1.0.0.
|
746
|
-
odoo_addon_openupgrade_scripts-18.0.1.0.0.
|
749
|
+
odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info/METADATA,sha256=YUUpbcQya5CxFj0ywx6_flHhnce1Y0yqGiVBmBnR3Oo,3812
|
750
|
+
odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
751
|
+
odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
752
|
+
odoo_addon_openupgrade_scripts-18.0.1.0.0.343.dist-info/RECORD,,
|
File without changes
|