【发布时间】:2016-12-07 16:14:50
【问题描述】:
如何使用 Xml Odoo 创建电子邮件模板
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="entretien_send_email" model="email.template">
<field name="name">Entretien Send by email</field>
<field name="model_id" ref="model_appelsoffres_entretien"/>
<field name="email_from">${(object.user_id.email or '')|safe}</field>
<field name="subject">entretien</field>
<field name="email_to">${(object.candidat.email or '')|safe}</field>
<field name="auto_delete" eval="True" />
<field name="subject">Your request has been submit</field>
<field name="message"><![CDATA[
THIS IS AN AUTOMATED EMAIL. DO NOT REPLY.
Hello,
We are here to inform you that the request [[object.candidat.nom]] est de faire un entretien [[object.titre_evenement]] with the following data:
| Request - Details
|=========================
| Titre Evenement: [[object.titre_evenement]]
|=========================
| Nom Person: [[object.candidat.nom]]
| Date Entretien: [[object.date_entretien]]
| Heure Debut: [[object.heure_debut]]
|=========================
| Heure Fin: [[object.heure_fin]]
Has not been confirmed and is closed.
If you have any question, do not hesitate to contact your supervisor.
Thank you!]]>
</field>
</record>
</data>
</openerp>
在python中我有
class entretien(models.Model):
_name='appelsoffres.entretien'
titre_evenement = fields.Char(required=True)
candidat =fields.Many2one('appelsoffres.candidature',string="Candidat",required=True)
email = fields.Char(required=True)
telephone = fields.Char(required=True)
portable = fields.Char(required=True)
state = fields.Selection([
('draft', "Brouillon"),
('confirmed', "Rendez Vous Planifié"),
('done', "Terminé"),
('sent', "Envoyé"),
], default='draft')
@api.multi
def action_draftentretien(self):
self.state = 'draft'
@api.multi
def action_confirmentretien(self):
self.state = 'confirmed'
@api.multi
def action_doneentretien(self):
self.state = 'done'
@api.multi
def send(self):
self.state = 'sent'
et_pool = self.pool.get('email.template')
mail_sent = et_pool.send_mail(
self.env.cr, 1, entretien_send_email, force_send=True, context=self.env.context)
entretien()
我收到以下错误:
File "C:\Program Files (x86)\Odoo 8.0-20160222\server\.\openerp\api.py", line 266, in wrapper
File "C:\Program Files (x86)\Odoo 8.0-
20160222\server\openerp\addons\Appelsdoffres\AppelsOffres.py", line 224, in send
ValueError: "global name 'entretien_send_email' is not defined" while evaluating u'send()'
【问题讨论】:
-
我只是想知道:使用的标签是 openerp-7,但您显然使用的是 odoo v8 引入的新 API。最后,您将它们混合在一起。你用的是什么版本?
-
哦,是的,谢谢提示
-
不要让他们保持现状。最后我也想知道新旧 API 的混合。
-
警告!模板呈现后发件人电子邮件丢失或为空。指定一个来传递您的消息
-
@CZoellner 我尝试了各种方式,但无济于事。我使用我的电子邮件作为发件人,我使用 [Entretien 通过电子邮件发送
]]> entretien ${(object. candidat.email 或 '')|safe}