You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo14如何通过服务器动作向多位求职者批量发送拒信并归档

Odoo14 批量发送求职拒绝邮件并自动归档实现方案

现有代码问题梳理

  • 服务器动作配置错误:model_id和binding_model_id错误关联了邮件模板,应关联求职者模型hr.applicant
  • 代码拼写错误:self.env.user.emoployee_id拼写错误,正确写法为employee_id
  • 未适配批量场景:现有方法仅支持单条求职者记录发送,未处理批量选中多条记录的场景
  • 冗余配置覆盖模板逻辑:手动传入email_to、email_from等参数会覆盖邮件模板内置的动态取值规则,无需额外配置
  • 缺少归档逻辑:邮件发送完成后没有执行求职者记录归档的相关代码

修正后完整代码

1. 邮件模板(XML)

仅需删除原有模板中多余的enter code here冗余内容即可,其余配置无需修改:

<record id="email_template_custom" model="mail.template">
    <field name="name">求职拒绝通知邮件</field>
    <field name="model_id" ref="hr_recruitment_custom.model_hr_applicant"/>
    <field name="email_from">${object.user_id.email_formatted |safe}</field>
    <field name="email_to">${object.email_from}</field>
    <field name="subject">应聘反馈:(岗位 ${object.job_id.name})</field>
    <field name="body_html" type="html">
    <div style="margin: 0px; padding: 0px;">
         <p style="margin: 0px; padding: 0px; font-size: 13px;">
              尊敬的 ${object.partner_name}:
               <br/>
               <br/>
               感谢您应聘${object.company_id.name}的${object.job_id.name}岗位,也十分感谢您投入时间参与我们的招聘流程。
               <br/>
               <br/>
               经过综合评估,我们本次选择了更匹配岗位需求的候选人,很遗憾没能和您共事。您的能力背景给我们留下了深刻印象,后续我们还有更多岗位开放,欢迎您持续关注并投递。
               <br/>
               <br/>
               祝您求职顺利,事业发展顺遂。
               <br/>
               <br/>
               此致
               敬礼
               ${object.user_id.name}
                </p>
          </div>
     </field>
</record>

如果要保留英文模板也可以直接用原有内容,删除冗余字符即可。

2. 业务逻辑代码(Python)

新增批量处理逻辑和归档逻辑:

def action_send_refusal_by_email(self):
    # 加载预设邮件模板
    template = self.env.ref('hr_recruitment_custom.email_template_custom')
    for applicant in self:
        # 跳过没有留邮箱的求职者
        if not applicant.email_from:
            continue
        # 发送邮件
        template.send_mail(applicant.id, force_send=True, raise_exception=False)
        # 归档逻辑:设置active=False即自动将记录移入归档,若需要同步修改求职阶段,可新增stage_id字段赋值
        applicant.write({'active': False})

3. 服务器动作配置(XML)

修正模型关联配置:

<record id="action_refuse_applicants" model="ir.actions.server">
    <field name="name">批量发送拒绝信并归档</field>
    <!-- 若你的自定义求职者模型在hr_recruitment_custom模块中,ref改为hr_recruitment_custom.model_hr_applicant -->
    <field name="model_id" ref="hr_recruitment.model_hr_applicant"/>
    <field name="binding_model_id" ref="hr_recruitment.model_hr_applicant"/>
    <field name="binding_type">action</field>
    <field name="state">code</field>
    <field name="code">records.action_send_refusal_by_email()</field>
</record>

功能验证

升级自定义模块后,进入求职者列表页,勾选需要处理的记录,点击动作菜单中的「批量发送拒绝信并归档」即可自动完成批量邮件发送和记录归档操作。

内容的提问来源于stack exchange,提问作者Jaymezon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:45:01