Eric Lee
Eric Lee

Reputation: 710

How to send email notification when Project Issue was created? Odoo 9

Hi I have created new issue but I cannot get email notification.

How do you do that?

Edited

I've add some code below but I cannot get message_follower_ids from self to send emails.

class project_issue(osv.osv):
_inherit = 'project.issue'
_columns = {}

def create(self, cr, uid, vals, context=None):
    res = super(project_issue, self).create(cr, uid, vals, context=context)
    return res

Updated

I updated the code to get followers email address and successfully sent the mails but they go to one email.

And Its object.name is partner's name but I want it to be issue name.

def create(self, cr, uid, vals, context=None):
    res = super(project_issue, self).create(cr, uid, vals, context=context)
    issue = self.pool.get('project.issue').browse(cr, uid, res, context=context)

    template = self.pool.get('ir.model.data').get_object(cr, uid, 'customized_project', 'email_template_customer_auto')

    for follower in issue.message_partner_ids:
        self.pool.get('mail.template').send_mail(cr, uid, template.id, follower.id, force_send=True, raise_exception=True, context=context)

here is a email template

<?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data noupdate="1">
      <!--Email template-->
      <record id="email_template_customer_auto" model="mail.template">
          <field name="name">Send email notification for issue creation</field>
          <field name="email_from">${object.company_id and object.company_id.email or ''}</field>
          <field name="subject">New Issue created ${object.name}</field>
          <field name="email_to">${object.email|safe}</field>
          <field name="model_id" ref="model_project_issue"/>
          <field name="auto_delete" eval="True"/>
          <field name="lang">${object.lang}</field>
          <field name="body_html"><![CDATA[
            """
            Write here a body of email using HTML tag.....
            """
            ]]>
          </field>
      </record>
   </data>
</openerp>

Upvotes: 4

Views: 1391

Answers (1)

Eric Lee
Eric Lee

Reputation: 710

I found the solution to send email when an issue is created

from openerp.osv import osv, fields
import logging

class project_issue(osv.osv):
    _inherit = 'project.issue'
    _columns = {}

    issue = ''
    templtate = ''

    def create(self, cr, uid, vals, context=None):
        res = super(project_issue, self).create(cr, uid, vals, context=context)

        self.issue = self.pool.get('project.issue').browse(cr, uid, res, context=context)

        manager = self.issue.project_id.user_id.partner_id.id

        assignTo = self.issue.user_id.partner_id.id

        post_vars = {
            'subject': ("Issue {} has been created".format(self.issue.name)),
            'body': ("Issue {} has been created".format(self.issue.name)),
            'partner_ids': [(4, manager)],
        }
        thread_pool = self.pool.get('mail.thread')
        thread_pool.message_post(cr, uid, False,
                                 context=context,
                                 **post_vars)
        return res

Upvotes: 1

Related Questions