Add followers and send email on odoo9

    @api.multi
    def send_message_approval(self,new_follower_ids,message):
group_id = self.env['ir.model.data'].xmlid_to_res_id('branch_sale.branch_head_sales')
        self._cr.execute("select rp.id from res_groups_users_rel rel inner join res_users ru on rel.uid=ru.id "\
                    "inner join res_partner rp on rp.id=ru.partner_id  "\
                    "where rel.gid=%s and rp.branch_id=%s " % (group_id, self.env.user.partner_id.branch_id.id))
        ress = self._cr.fetchall()
        new_follower_ids = []
        for res in ress:
            p_id = res[0]
            new_follower_ids.append(p_id)

        res_model = 'sale.order'
        ir_model = self.env['ir.model']
for obj in self :
            model_obj = self.env[res_model]
            model_ids = ir_model.search([('model','=',model_obj.name)])
            model_name = model_ids.name
            obj.message_subscribe(new_follower_ids)
            mail_mail = self.env['mail.mail']
            mail_id = mail_mail.create({
                    'model': res_model,
                    'res_id': obj.id,
                    'record_name': obj.name,
                    'email_from': self.env['mail.message']._get_default_from(),
                    'reply_to': self.env['mail.message']._get_default_from(),
                    'subject': '%s need Approval' % self.name,
                    'body_html': message,
                    'message_id': self.env['mail.message']._get_message_id({'no_auto_thread': True}),
                    'auto_delete': False,
                    'state':'sent',
                    'body':message,
                    'recipient_ids': [(4, id) for id in new_follower_ids]
                    })
            mail_id.send()


Ini digunakan selain untuk menambahkan followers, tetapi juga mengirim email

Komentar

Postingan populer dari blog ini

Tugas Makalah Sistem Temu Kembali Informasi

Tugas Teknologi Mobile - Android Marshmallow

Tugas PLC