如何在申请后立即自动发送电子邮件给求职者,odoo 14

  • 本文关键字:电子邮件 求职者 odoo python odoo
  • 更新时间 :
  • 英文 :


我有一个cron工作和电子邮件模板,我正试图编写一个python代码,一旦申请人提交申请并在Odoo 14中进入招聘的第一阶段,就向新申请人发送确认电子邮件。我如何访问刚刚申请的申请人并触发cron作业,以便在几分钟内向申请人发送电子邮件?任何帮助都将非常感激。这是我的代码。

Py.py文件:


def job_app_acknowledgments(self):
for rec in self:
rec.partner_id = self.env["hr.applicant"].search(
[("job_id", "=", job.id), ("stage_id", "=", job._get_first_stage().id)]
)
if rec.partner_id:
ctx = {}
ctx['email_to'] = rec.partner_id.email
# ctx['email_from'] = self.env.user.user_id.email
ctx['email_from'] = self.env.user.employee_id.work_email
ctx['send_email'] = True
ctx['partner_id'] = rec.partner_id.id
template = self.env.ref('hr_recruitment_new.job_applicant_acknowledgment')
template.with_context(ctx).send_mail(
rec.id, force_send=True, raise_exception=False)

Cron.xml


<record id="job_applicant_acknowledgment" model="ir.cron">
<field name="name">Job Applicant Acknowledgment Email</field>
<field name="model_id" ref="hr_recruitment.model_hr_applicant"/>
<field name="state">code</field>
<field name="code">model.job_app_acknowledgments()</field>
<field name="user_id" ref="base.user_root"/>
<field name='interval_number'>1</field>
<field name='interval_type'>minutes</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>

我找到了答案:Email_sent是一个布尔字段。cron作业很好,然后添加您的电子邮件模板。

def job_app_acknowledgments(self):
for rec in self:        
if rec.partner_id and not email_sent:
ctx = {}
ctx['email_to'] = rec.partner_id.email
# ctx['email_from'] = self.env.user.user_id.email
ctx['email_from'] = self.env.user.employee_id.work_email
ctx['send_email'] = True
ctx['partner_id'] = rec.partner_id.id
template = self.env.ref('hr_recruitment_new.job_applicant_acknowledgment')
template.with_context(ctx).send_mail(
rec.id, force_send=True, raise_exception=False)

相关内容

  • 没有找到相关文章

最新更新