Skip to content

Commit

Permalink
[MIG] hr_recruitment: Migrate 15 to 16
Browse files Browse the repository at this point in the history
  • Loading branch information
nguyenvietlam0640 authored and robinkeunen committed Feb 8, 2024
1 parent 5402439 commit 70d1d9d
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 107 deletions.
2 changes: 1 addition & 1 deletion docsource/modules150-160.rst
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ Module coverage 15.0 -> 16.0
+-------------------------------------------------+----------------------+-------------------------------------------------+
| hr_presence | |No DB layout changes. |
+-------------------------------------------------+----------------------+-------------------------------------------------+
| hr_recruitment | | |
| hr_recruitment | Done | |
+-------------------------------------------------+----------------------+-------------------------------------------------+
| |new| hr_recruitment_skills | | |
+-------------------------------------------------+----------------------+-------------------------------------------------+
Expand Down
118 changes: 12 additions & 106 deletions openupgrade_scripts/scripts/hr_recruitment/16.0.1.1/noupdate_changes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,121 +7,27 @@
<field name="description">The user interacting with the application as interviewer don't need any specific access. They'll have access thanks to their interviewer assignation.</field>
</record>
<record id="email_template_data_applicant_congratulations" model="mail.template">
<field name="body_html" type="html">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="background-color: white; border-collapse: collapse; margin-left: 20px;">
<tr>
<td valign="top" style="padding: 0px 10px;">
<div style="font-size: 13px; margin: 0px; padding: 0px;">
Hello,
<br/><br/>
We confirm we successfully received your application for the job
"<a t-att-href="hasattr(object.job_id, 'website_url') and object.job_id.website_url or ''" style="color:#9A6C8E;"><strong t-out="object.job_id.name or ''">Experienced Developer</strong></a>" at <strong t-out="object.company_id.name or ''">YourCompany</strong>.
<br/><br/>
We will come back to you shortly.

<div t-if="'website_url' in object.job_id and object.job_id.website_url" style="padding: 16px 8px 16px 8px;"><a t-att-href="object.job_id.website_url" style="background-color: #875a7b; text-decoration: none; color: #fff; padding: 8px 16px 8px 16px; border-radius: 5px;">Job Description</a></div>

<hr width="97%" style="background-color: rgb(204,204,204); border: medium none; clear: both; display: block; font-size: 0px; min-height: 1px; line-height: 0; margin: 16px 0px 16px 0px;"/>
<t t-if="object.user_id"><h3 style="color:#9A6C8E;"><strong>Your Contact:</strong></h3><p><strong t-out="object.user_id.name or ''">Mitchell Admin</strong><br/><span>Email: <t t-out="object.user_id.email or ''">[email protected]</t></span><br/><span>Phone: <t t-out="object.user_id.phone or ''">+1 650-123-4567</t></span></p><hr width="97%" style="background-color: rgb(204,204,204); border: medium none; clear: both; display: block; font-size: 0px; min-height: 1px; line-height: 0; margin: 16px 0px 16px 0px;"/></t>

<h3 style="color:#9A6C8E;"><strong>What is the next step?</strong></h3>
We usually <strong>answer applications within a few days.</strong><br/><br/>
Feel free to <strong>contact us if you want a faster
feedback</strong> or if you don't get news from us
quickly enough (just reply to this email).

<hr width="97%" style="background-color: rgb(204,204,204); border: medium none; clear: both; display: block; font-size: 0px; min-height: 1px; line-height: 0; margin: 17px 0px 16px 0px;"/>
<t t-set="location" t-value="''"/>
<t t-if="object.job_id.address_id.name"><strong t-out="object.job_id.address_id.name or ''">Teksa SpA</strong><br/></t>
<t t-if="object.job_id.address_id.street"><t t-out="object.job_id.address_id.street or ''">Puerto Madero 9710</t><br/><t t-set="location" t-value="object.job_id.address_id.street"/></t>
<t t-if="object.job_id.address_id.street2"><t t-out="object.job_id.address_id.street2 or ''">Of A15, Santiago (RM)</t><br/><t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.street2)"/></t>
<t t-if="object.job_id.address_id.city"><t t-out="object.job_id.address_id.city or ''">Pudahuel</t>,
<t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.city)"/></t>
<t t-if="object.job_id.address_id.state_id.name"><t t-out="object.job_id.address_id.state_id.name or ''">C1</t>,
<t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.state_id.name)"/></t>
<t t-if="object.job_id.address_id.zip"><t t-out="object.job_id.address_id.zip or ''">98450</t><t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.zip)"/></t>
<br/>
<t t-if="object.job_id.address_id.country_id.name"><t t-out="object.job_id.address_id.country_id.name or ''">Argentina</t><br/><t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.country_id.name)"/></t>
<br/>
</div>
</td>
</tr>
</table>
</field>
<field name="name">Recruitment: Application Acknowledgement</field>
<!-- The default template from version 15.0 should still work in version 16.0 -->
<!-- No need to erase user data -->
<!-- <field name="body_html" type="html"> ...-->
<!-- No need to erase user data -->
<!-- <field name="name">Recruitment: Application Acknowledgement</field>-->
<field name="description">Confirmation email sent to all new job applications</field>
</record>
<record id="email_template_data_applicant_interest" model="mail.template">
<field name="body_html" type="html">
<table border="0" cellpadding="0" cellspacing="0" width="590" style="background-color: white; border-collapse: collapse; margin-left: 20px;">
<tr>
<td valign="top" style="padding: 0px 10px;">
<div style="text-align: center">
<h2>Congratulations!</h2>
<div style="color:grey;">Your resume has been positively reviewed.</div>
</div>
<div style="font-size: 13px; margin: 0px; padding: 0px;">
We just reviewed your resume, and it caught our
attention. As we think you might be great for the
position, your application has been short listed for a
call or an interview.
<br/><br/>
<div t-if="'website_url' in object.job_id and object.job_id.website_url" style="padding: 16px 8px 16px 8px;"><a t-att-href="object.job_id.website_url" style="background-color: #875a7b; text-decoration: none; color: #fff; padding: 8px 16px 8px 16px; border-radius: 5px;">Job Description</a></div>

<t t-if="object.user_id">
You will soon be contacted by:<br/>
<strong t-out="object.user_id.name or ''">Mitchell Admin</strong><br/>
<span>Email: <t t-out="object.user_id.email or ''">[email protected]</t></span><br/>
<span>Phone: <t t-out="object.user_id.phone or ''">+1 650-123-4567</t></span>
<br/><br/>
</t>
See you soon,
<div style="font-size: 11px; color: grey;">
-- <br/>
The HR Team
<t t-if="'website_url' in object.job_id and hasattr(object.job_id, 'website_url') and object.job_id.website_url">
Discover <a href="/jobs" style="text-decoration:none;color:#717188;">all our jobs</a>.<br/>
</t>
</div>

<hr width="97%" style="background-color: rgb(204,204,204); border: medium none; clear: both; display: block; font-size: 0px; min-height: 1px; line-height: 0; margin: 16px 0px 16px 0px;"/>
<h3 style="color:#9A6C8E;"><strong>What is the next step?</strong></h3>
We usually <strong>answer applications within a few days</strong>.
<br/><br/>
The next step is either a call or a meeting in our offices.
<br/>
Feel free to <strong>contact us if you want a faster
feedback</strong> or if you don't get news from us
quickly enough (just reply to this email).
<br/>

<hr width="97%" style="background-color: rgb(204,204,204); border: medium none; clear: both; display: block; font-size: 0px; min-height: 1px; line-height: 0; margin: 17px 0px 16px 0px;"/>
<t t-set="location" t-value="''"/>
<t t-if="object.job_id.address_id.name"><strong t-out="object.job_id.address_id.name or ''">Teksa SpA</strong><br/></t>
<t t-if="object.job_id.address_id.street"><t t-out="object.job_id.address_id.street or ''">Puerto Madero 9710</t><br/><t t-set="location" t-value="object.job_id.address_id.street"/></t>
<t t-if="object.job_id.address_id.street2"><t t-out="object.job_id.address_id.street2 or ''">Of A15, Santiago (RM)</t><br/><t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.street2)"/></t>
<t t-if="object.job_id.address_id.city"><t t-out="object.job_id.address_id.city or ''">Pudahuel</t>,
<t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.city)"/></t>
<t t-if="object.job_id.address_id.state_id.name"><t t-out="object.job_id.address_id.state_id.name or ''">C1</t>,
<t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.state_id.name)"/></t>
<t t-if="object.job_id.address_id.zip"><t t-out="object.job_id.address_id.zip or ''">98450</t><t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.zip)"/></t>
<br/>
<t t-if="object.job_id.address_id.country_id.name"><t t-out="object.job_id.address_id.country_id.name or ''">Argentina</t><br/><t t-set="location" t-value="'%s, %s' % (location, object.job_id.address_id.country_id.name)"/></t>
<br/>
</div>
</td>
</tr>
</table>
</field>
<field name="name">Recruitment: Interest</field>
<!-- The default template from version 15.0 should still work in version 16.0 -->
<!-- No need to erase user data -->
<!-- <field name="body_html" type="html"> ...-->
<!-- No need to erase user data -->
<!-- <field name="name">Recruitment: Interest</field>-->
<field name="description">Set this template to a recruitment stage to send it when applications reach that stage</field>
</record>
<record id="email_template_data_applicant_not_interested" model="mail.template">
<field name="name">Recruitment: Not interested anymore</field>
<!-- <field name="name">Recruitment: Not interested anymore</field>-->
<field name="description">When you refuse an application, you can choose this template</field>
</record>
<record id="email_template_data_applicant_refuse" model="mail.template">
<field name="name">Recruitment: Refuse</field>
<!-- <field name="name">Recruitment: Refuse</field>-->
<field name="description">When you refuse an application, you can choose this template</field>
</record>
<record id="group_hr_recruitment_user" model="res.groups">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from openupgradelib import openupgrade

translations_to_delete = [
"hr_recruitment.group_hr_recruitment_user",
]


@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(env.cr, "hr_recruitment", "16.0.1.1/noupdate_changes.xml")
openupgrade.delete_record_translations(
env.cr, "hr_recruitment", translations_to_delete
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---Models in module 'hr_recruitment'---
new model applicant.send.mail [transient]

# NOTHING TO DO: new transient model

---Fields in module 'hr_recruitment'---
hr_recruitment / hr.applicant / interviewer_ids (many2many) : NEW relation: res.users
hr_recruitment / hr.applicant / linkedin_profile (char) : NEW
hr_recruitment / hr.job / _order : _order is now 'sequence, name asc' ('sequence, state desc, name asc')
hr_recruitment / hr.job / extended_interviewer_ids (many2many): NEW relation: res.users, isfunction: function, stored
hr_recruitment / hr.job / interviewer_ids (many2many) : NEW relation: res.users

# NOTHING TO DO: new fields

hr_recruitment / hr.recruitment.source / _inherits : DEL _inherits: {'utm.source': 'source_id'}

# NOTHING TO DO

hr_recruitment / hr.recruitment.source / medium_id (many2one) : NEW relation: utm.medium, hasdefault: default

# NOTHING TO DO: new field

---XML records in module 'hr_recruitment'---
NEW ir.actions.act_window: hr_recruitment.action_hr_applicant_new
NEW ir.actions.act_window: hr_recruitment.action_hr_job_interviewer
DEL ir.actions.act_window: hr_recruitment.hr_recruitment_source_action
NEW ir.actions.server: hr_recruitment.action_applicant_send_mail
DEL ir.actions.server: hr_recruitment.hr_applicant_resumes_server

# NOTHING TO DO

NEW ir.model.access: hr_recruitment.access_applicant_get_refuse_reason_interviewer
NEW ir.model.access: hr_recruitment.access_applicant_send_mail
NEW ir.model.access: hr_recruitment.access_applicant_send_mail_interviewer
NEW ir.model.access: hr_recruitment.access_hr_applicant_interviewer
NEW ir.model.access: hr_recruitment.access_hr_job_interviewer
NEW ir.model.access: hr_recruitment.access_hr_recruitment_refuse_reason_interviewer
NEW ir.model.access: hr_recruitment.access_hr_recruitment_stage_interviewer
NEW ir.rule: hr_recruitment.hr_applicant_interviewer_rule (noupdate)
NEW ir.rule: hr_recruitment.mail_message_interviewer_rule (noupdate)
NEW ir.ui.menu: hr_recruitment.menu_hr_job_position_interviewer
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_config_activities
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_config_applications
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_config_employees
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_config_jobs
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_contract_type
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_utm

# NOTHING TO DO

NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_utm_mediums
NEW ir.ui.menu: hr_recruitment.menu_hr_recruitment_utm_sources
DEL ir.ui.menu: hr_recruitment.menu_hr_job_position_config
DEL ir.ui.menu: hr_recruitment.menu_hr_recruitment_source

# NOTHING TO DO

NEW ir.ui.view: hr_recruitment.applicant_send_mail_view_form
NEW ir.ui.view: hr_recruitment.hr_applicant_view_form_interviewer
NEW ir.ui.view: hr_recruitment.hr_job_view_tree_inherit
NEW ir.ui.view: hr_recruitment.ir_attachment_hr_recruitment_list_view
NEW res.groups: hr_recruitment.group_applicant_cv_display (noupdate)
NEW res.groups: hr_recruitment.group_hr_recruitment_interviewer (noupdate)

# NOTHING TO DO

0 comments on commit 70d1d9d

Please sign in to comment.