在odoo v8中发生错误时发送电子邮件并引发消息错误

2024-09-28 21:05:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想收到一封邮件时,有一个错误,并提出一个邮件错误。在

    from openerp import models, fields, api, _
    from openerp.exceptions import ValidationError
    from datetime import datetime

因此,为了发送和发送电子邮件,我在这个函数中创建了模板:

^{pr2}$

当发生错误时我会调用它

    @api.multi
    def schedule_synchro(self):
        remote_partners = self.env['res.partner']
        template_obj = self.pool['email.template']
        records = self.env['sync.synchro.partner'].search([])
        for record in records :
            if record.model_name == 'partners':
                try: 
                    remote_partners.export2remote([record.local_id])
                    record.unlink()
                except (Warning) as exc:
                    template_obj.send_mail(self.env.cr, self.env.uid,
                         synchro_partner.synchronise_erreur_template.id, 
                         synchro_partner.id, force_send=True,context=self.env.context)
                    raise except_orm('Couldn t Transfer partner to remote database')

但即使发生错误,我也不会收到电子邮件或消息错误


Tags: fromimportselfenvapiidpartnerremote
1条回答
网友
1楼 · 发布于 2024-09-28 21:05:50

我找到了解决办法

    @api.model
    def email_template(self):
            template_obj = self.env['email.template']
            model = self.env['ir.model'].search([('model', '=', 'sync.synchro.partner')])[0]
            company= self.env['res.company'].search([])[0]
            body_html =  u""" <html><h1>Erreur de Synchronisation</h1>
            <p>This error was raised ...</p></html> """
            synchronise_catogory_erreur_template = {
                'model_id': model.id,
                'name': 'Erreur Technique',
                'subject' : 'Erreur produite lors de Synchronisation',
                'body_html': body_html,
                'email_from' : company.email or '${object.employee_id.work_email}',
                'email_to' : 'tech@exemple.com',
                }
            template_exists = template_obj.search([('subject','=',"Erreur produite lors de Synchronisation")])
            if not template_exists :
                template_record = template_obj.create(synchronise_erreur_template)
            else :
                template_record = template_exists[0]
            return template_record

我称之为:

^{pr2}$

相关问题 更多 >