2015-08-27 128 views
1

我一直在试图与发送邮件每当有请假申请请假请求/批准/拒绝,我一直跟随下面的链接中的步骤 - https://www.odoo.com/forum/help-1/question/openerp-7-sending-email-to-manager-when-employee-applies-a-leave-7362如何在Odoo中实现此功能?

通过以上的步骤,消息会出现在Odoo收件箱,但我无法获得像thunderbird邮件客户端邮件

任何人都可以提出意见?

+0

请问有没有人有这方面的想法? –

+0

任何人都没有评论? –

回答

1

这里是你想要的代码,

代码请假条:

def create(self, cr, uid, values, context=None): 

     res = super(hr_holidays, self).create(cr, uid, values, context=context) 

     template = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_holidays_aspire', 'leave_request') 
     mail_id = self.pool.get('email.template').send_mail(cr, uid, template.id, res , force_send=True) 

     return res 

代码请假批准:

def holidays_validate(self, cr, uid, ids, context=None): 

     compose_ctx = dict(context,active_ids=ids) 
     search_domain = [('name', '=', 'Leave Approved')] 
     template_id = self.pool['email.template'].search(cr, uid, search_domain, context=context)[0] 

     compose_id = self.pool['mail.compose.message'].create(
      cr, uid, { 
       'model': self._name, 
       'composition_mode': 'mass_mail', 
       'template_id': template_id, 
       'post': True, 
       'notify': True, 
      }, context=compose_ctx) 
     self.pool['mail.compose.message'].write(
      cr, uid, [compose_id], 
      self.pool['mail.compose.message'].onchange_template_id(
       cr, uid, [compose_id], 
       template_id, 'mass_mail', self._name, False, 
       context=compose_ctx)['value'], 
      context=compose_ctx) 
     self.pool['mail.compose.message'].send_mail(cr, uid, [compose_id], context=compose_ctx) 

     return True 

代码休假拒绝:

def holidays_refuse(self, cr, uid, ids, context=None): 
     compose_ctx = dict(context,active_ids=ids) 
     search_domain = [('name', '=', 'Leave Refused')] 
     template_id = self.pool['email.template'].search(cr, uid, search_domain, context=context)[0] 

     compose_id = self.pool['mail.compose.message'].create(
      cr, uid, { 
       'model': self._name, 
       'composition_mode': 'mass_mail', 
       'template_id': template_id, 
       'post': True, 
       'notify': True, 
      }, context=compose_ctx) 
     self.pool['mail.compose.message'].write(
      cr, uid, [compose_id], 
      self.pool['mail.compose.message'].onchange_template_id(
       cr, uid, [compose_id], 
       template_id, 'mass_mail', self._name, False, 
       context=compose_ctx)['value'], 
      context=compose_ctx) 
     self.pool['mail.compose.message'].send_mail(cr, uid, [compose_id], context=compose_ctx) 
     return super(hr_holidays, self).holidays_refuse(cr, uid, ids, context=context) 

这是三个不同的模板分别为请求,批准和拒绝。

 <!-- Templates for requesting leave --> 
     <record id="leave_request" model="email.template"> 
      <field name="name">Leave Request</field> 
      <field name="subject">Leave Application from ${object.employee_id.name} [${object.employee_id.employee_no}].</field> 
      <field name="email_from">${object.employee_id.work_email}</field> 
      <field name="email_to">${object.employee_id.parent_id.work_email}</field> 
      <field name="model_id" ref="model_hr_holidays"/> 
      <field name="user_signature" eval="0"/> 
      <field name="body_html"><![CDATA[<p>Hi,</p> 
      <p> ${object.employee_id.name} [${object.employee_id.employee_no}] has applied for a leave application.</p><br/> 
      <p>Following are the applied leave details: </p> 
      <p>Leave type: ${object.holiday_status_id.name}</p> 
      <p>From Date: ${object.date_from}</p> 
      <p>To Date: ${object.date_to}</p> 
      <p>Number of days: ${object.number_of_days_temp}</p> 
      <p>Reason: ${object.name}</p> 
      <p>From Session: ${object.from_session}</p> 
      <p>To Session: ${object.to_session}</p> 
      <br/><br/> 
      <p>Regards, ${object.employee_id.name}</p> 
      ]]></field> 
     </record> 

     <!-- Templates for approving leave --> 
     <record id="leave_approve" model="email.template"> 
      <field name="name">Leave Approved</field> 
      <field name="subject">Your Leave Application has been Accepted.</field> 
      <field name="email_from">${object.employee_id.parent_id.work_email}</field> 
      <field name="email_to">${object.employee_id.work_email}</field> 
      <field name="model_id" ref="model_hr_holidays"/> 
      <field name="user_signature" eval="0"/> 
      <field name="body_html"><![CDATA[<p>Hi ${object.employee_id.name} [${object.employee_id.employee_no}], </p> 
      <p>Your leave application has been accepted.</p><br/> 
      <p>Leave type: ${object.holiday_status_id.name}</p> 
      <p>From Date: ${object.date_from}</p> 
      <p>To Date: ${object.date_to}</p> 
      <p>Number of days: ${object.number_of_days_temp}</p> 
      <p>Reason: ${object.name}</p> 
      <p>From Session: ${object.from_session}</p> 
      <p>To Session: ${object.to_session}</p> 
      <br/><br/> 
      <p>Regards, ${object.employee_id.parent_id.name}</p> 
      ]]></field> 
     </record> 

     <!-- Templates for refusing leave --> 
     <record id="leave_refuse" model="email.template"> 
      <field name="name">Leave Refused</field> 
      <field name="subject">Your Leave Application has been Refused.</field> 
      <field name="email_from">${object.employee_id.parent_id.work_email}</field> 
      <field name="email_to">${object.employee_id.work_email}</field> 
      <field name="model_id" ref="model_hr_holidays"/> 
      <field name="user_signature" eval="0"/> 
      <field name="body_html"><![CDATA[<p>Hi ${object.employee_id.name} [${object.employee_id.employee_no}], </p> 
      <p>Your leave application has been refused.</p><br/> 
      <p>Leave type: ${object.holiday_status_id.name}</p> 
      <p>From Date: ${object.date_from}</p> 
      <p>To Date: ${object.date_to}</p> 
      <p>Number of days: ${object.number_of_days_temp}</p> 
      <p>Reason: ${object.name}</p> 
      <p>From Session: ${object.from_session}</p> 
      <p>To Session: ${object.to_session}</p> 
      <br/><br/> 
      <p>Regards, ${object.employee_id.parent_id.name}</p> 
      ]]></field> 
     </record> 

干杯!

+0

关于如何批准或拒绝邮件本身的任何想法? –