python - 如何在申请后立即自动向求职者发送电子邮件,odoo 14
问题描述
我有一个 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)
推荐阅读
- android - Ionic 4 App 安装在多个设备上,在同一屏幕上重复
- c# - File.ReadLines(filePath).First() 是否立即关闭文件?
- c++ - C++17 中带有引用成员的结构的深拷贝
- python - 如何使用 Flask 将文件返回给用户
- android - 上传到Playstore后应用功能不起作用
- python - 如何使用python删除csv中的换行符/新行
- python-3.x - lxml-stubs 参数“nsmap”到“Element”的类型不兼容
- java - Android WebView 问题导致其上方的布局隐藏
- c - Akka.actor.default-dispacher 接受了新连接,但 http 调用不起作用
- c++ - Arduino运动传感器光定时器