我是odoo的入门者。谁能帮助我找到下面提到的问题的解决方案?
大家好,我已经创建了一个电子邮件模板来在此字段更改时触发邮件通知,所以我创建了此功能,但是当我选择标记为韩元或任何字段时,IAM无法处理此错误消息。>
lead_status = fields.Many2one("crm.stage","Lead Status",track_visibility='onchange',default=_get_default_lead_status)
@api.multi
def write(self, vals):
if 'lead_status' in vals and self.ids:
for rec in self:
template_id =self.env.ref('crm.lead.extended.crm_lead_mail_template').id
#template = self.env.ref('crm.lead.extended.crm_lead_mail_template')
#template = self.env.ref('module_name.crm_lead_mail_template')
template.send_mail(rec.id, force_send=True)
return super(crm_extended, self).write(vals)
mail template :
<?xml version="1.0" ?>
<odoo>
<data noupdate="1">
<record id="crm_lead_mail_template" model="mail.template">
<field name="name">CRM-OPPORTUNITY_MODIFIED: Send by email</field>
<field name="model_id" ref="crm_extended.model_crm_lead_extended"/>
<field name="email_from">[email protected]</field>
<field name="email_to">${object.account_manager.email}</field>
<field name="subject">Opportunity Record Has Been modified</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.account_manager.display_name}
<br /><br />
Opportunity ${object.customer_name.display_name} has been Modified. .
<br /><br />
Thank you
</p>
</div>
</field>
</record>
</data>
</odoo>
when i change select mark as won or any state it shows me below error
error :
Error:
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo/odoo-12.0/odoo/tools/cache.py", line 88, in lookup
r = d[key]
File "/opt/odoo/odoo-12.0/odoo/tools/func.py", line 69, in wrapper
return func(self, *args, **kwargs)
File "/opt/odoo/odoo-12.0/odoo/tools/lru.py", line 44, in __getitem__
a = self.d[obj].me
KeyError: ('ir.model.data', <function IrModelData.xmlid_lookup at 0x7f99c64197b8>, 'crm.lead.extended.crm_lead_mail_template')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo/odoo-12.0/odoo/http.py", line 656, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo-12.0/odoo/http.py", line 314, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/odoo/odoo-12.0/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/opt/odoo/odoo-12.0/odoo/http.py", line 698, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo-12.0/odoo/http.py", line 346, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo-12.0/odoo/service/model.py", line 98, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo-12.0/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/odoo-12.0/odoo/http.py", line 941, in __call__
return self.method(*args, **kw)
File "/opt/odoo/odoo-12.0/odoo/http.py", line 519, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo-12.0/addons/web/controllers/main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/odoo-12.0/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo/odoo-12.0/odoo/api.py", line 759, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/opt/odoo/odoo-12.0/odoo/api.py", line 746, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/opt/odoo/odoo-12.0/crm_internal_new/crm_extended/models/crm_lead_extended.py", line 122, in action_convert_nurture
self.write({'lead_status': self.nurture_id})
File "/opt/odoo/odoo-12.0/crm_internal_new/crm_extended/models/crm_lead_extended.py", line 88, in write
template_id =self.env.ref('crm.lead.extended.crm_lead_mail_template').id
File "/opt/odoo/odoo-12.0/odoo/api.py", line 864, in ref
return self['ir.model.data'].xmlid_to_object(xml_id, raise_if_not_found=raise_if_not_found)
File "/opt/odoo/odoo-12.0/odoo/addons/base/models/ir_model.py", line 1443, in xmlid_to_object
t = self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)
File "/opt/odoo/odoo-12.0/odoo/addons/base/models/ir_model.py", line 1427, in xmlid_to_res_model_res_id
return self.xmlid_lookup(xmlid)[1:3]
File "<decorator-gen-25>", line 2, in xmlid_lookup
File "/opt/odoo/odoo-12.0/odoo/tools/cache.py", line 93, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/opt/odoo/odoo-12.0/odoo/addons/base/models/ir_model.py", line 1416, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: crm.lead.extended.crm_lead_mail_template
SOMEONE HELP ME WITH THIS I HAVE TRIED DIFFERENT FUNCTIONS AS BELOW BUT STILL GETTING THE SAME ERROR:
#@api.multi
#def write(self, vals):
#if 'lead_status' in vals and self.ids:
#for rec in self:
#template=self.env.ref('crm_lead_extended.crm_lead_mail_template')
#template = self.env.ref('mail_template_demo.example_email_template')
#template = self.env.ref('crm.lead.extended.crm_lead_mail_template')
#template = self.env.ref('module_name.crm_lead_mail_template')
#template.send_mail(rec.id, force_send=True)
#return super(crm_extended, self).write(vals)
@api.multi
def write(self, vals):
res = super(crm_extended, self).write(vals)
if vals.get('lead_status'):
template_id = self.env.ref('crm_lead_extended.crm_lead_mail_template')
for lead in self:
template_id.send_mail(lead.id)
return res
#@api.multi
#def submit_expenses(self):
#self.write({'state': 'mgr_approval'})
#template = self.env.ref('reimbursement.reim_mgr_approve_email_templates')
#self.env['mail.template'].browse(template.id).send_mail(self.id)
#def crm_send_mail(self):
#print("send_mail when lead_status changes")
#template_id =self.env.ref('crm.lead.extended.crm_lead_mail_template').id
#self.env['mail.template'].browse(template_id).send_mail(self.id,force_send=True)
我是odoo的入门者。谁能帮助我找到下面提到的问题的解决方案?大家好,我创建了一个电子邮件模板,以在此字段更改时触发邮件通知,所以我有...
send_mail
方法中使用的外部ID错误,必须使用module_name.template_id
。