如何在odoo中覆盖此方法?

时间:2015-08-14 04:30:33

标签: python-2.7 openerp odoo odoo-8 openerp-8

我使用以下代码从自定义模块创建日历事件。

def create_calender_event(self,cr,uid,ids,context=None):
    calendar_obj = self.pool.get('calendar.event')      
    for rec in self.browse(cr,uid,ids,context=context):
        if rec.action:
            for rec_res in rec.action:
                calendar_obj.create(cr,uid,{'name' : rec_res.act_ion,
                    'user_id' : rec_res.asgnd_to.id,
                    'start_date' : fields.date.today(),
                    'stop_date' : rec_res.due_date,
                    'allday' : True,
                    'partner_ids' : [(6,0, [rec_res.asgnd_to.partner_id.id])]
                },context=context)
    return True

日历事件对象使用以下函数

def _send_mail_to_attendees(self, cr, uid, ids, email_from=tools.config.get('email_from', False),template_xmlid='calendar_template_meeting_invitation', force=False, context=None):

我想知道我是否可以覆盖此方法并在上面的代码中设置我的自定义电子邮件模板,以便在创建日历活动期间发送的电子邮件会发送我的自定义电子邮件模板消息

1 个答案:

答案 0 :(得分:0)

您可以在上下文中管理此设置变量。在Odoo 8中,你可以用这种方式修改上下文(你必须在调用 _send_mail_to_attendees方法的函数中写这个 - 可以是以下之一:do_mail_remindercreate_attendeesdo_sendmail或类write的{​​{1}}方法 - ):

calendar_event

一旦找到了进行调用的函数并添加了我刚刚在上面编写的代码的和平,就必须以这种方式覆盖context.update({ 'set_my_template': True, 'my_template_xml_id': 'your_module.your_template_xml_id', })

def _send_mail_to_attendees