Odoo Help


2 Answers
Ankit Gauri
4/18/17, 1:46 AM


you have added chatter it just creates a log but for sending an email you have write method also you have create email template as well.

below is the code which i have write to send an email when picking validates/done with template design you can create your own template design


def make_pickings_auto_done(self):

        emails = []

        email_to = ''

        mail_mail = self.env['mail.mail']

        for pick in self:

            partner_ids = pick.message_follower_ids and \

                          pick.message_follower_ids.ids or []

            for partner in self.env['mail.followers'].browse(partner_ids):


            product_dic = {}

            for picking_line in pick.pack_operation_product_ids:

                product_dic.update({str(picking_line.product_id.name) :


        for email in emails:

            email_to = email_to and email_to + ',' + email or email_to + email

        do = pick.name and pick.name or ""

        body_html = '''





                            Delivery order ''' + do + ''' is move to done



                            The details of shipping is as below.



                        <table border="1" cellpadding="5" cellspacing="1">



                                <th>Delivery Order</th>





        for nm,qty in product_dic.iteritems():

            body_html += '''<tr>

                                <td>''' + do + '''</td>

                                <td>''' + pick.partner_id.name + '''</td>

                                <td>''' + nm + '''</td>

                                <td>''' + str(qty) +'''</td>


        body_html += '''</tbody>


        mail_values = {

            'email_from': self.company_id.partner_id.email or


            'email_to': email_to,

            'subject': 'Delivery order ',

            'body_html': body_html,

            'state': 'outgoing',

            'message_type': 'email',


        mail_id = mail_mail.create(mail_values)

        if mail_id:

            for mail in mail_id:

                # To avoid sending mail/notification multiple times

                return mail.send()


            return True

2/18/18, 11:02 PM

Yes you can send email on the change of fields in odoo. I have a code that sends email on button click you can modify the method of button click to onchange method and that it. To get complete code and description read: http://learnopenerp.blogspot.com/2017/08/odoo-how-to-send-email-on-button-click.html

1 Comment
2/18/18, 11:03 PM

Odoo how to send email on button click

just copy the method of sending email and use it in onchange method.



Ask a Question
Keep Informed
3 follower(s)
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now