[FIX] purchase_requisition: fixed mail.message inheritance, where behavior specific...
authorThibault Delavallée <tde@openerp.com>
Mon, 6 Aug 2012 10:24:31 +0000 (12:24 +0200)
committerThibault Delavallée <tde@openerp.com>
Mon, 6 Aug 2012 10:24:31 +0000 (12:24 +0200)
bzr revid: tde@openerp.com-20120806102431-2vw87hw656kss0q0

addons/purchase_requisition/purchase_requisition.py

index 1b0c36b..85ce92a 100644 (file)
@@ -201,17 +201,18 @@ class mail_message(osv.osv):
                              email_bcc=None, reply_to=False, attachments=None, message_id=False, references=False,
                              res_id=False, subtype='plain', headers=None, mail_server_id=False, auto_delete=False,
                              context=None):
-        purchase_order_obj = self.pool.get('purchase.order')
-        requisition_id = purchase_order_obj.browse(cr, uid, res_id, context=context).requisition_id.id
         result = super(mail_message, self).schedule_with_attach(cr, uid, email_from, email_to, subject, body, model=model, email_cc=email_cc,
-                     email_bcc=email_bcc, reply_to=reply_to, attachments=attachments, message_id=message_id, references=references,
-                     res_id=res_id, subtype='plain', headers=headers, mail_server_id=mail_server_id, auto_delete=auto_delete,
-                     context=context)
-        if requisition_id:
-            result = self.schedule_with_attach(cr, uid, email_from, email_to, subject, body, 'purchase.requisition', email_cc=email_cc,
-                             email_bcc=email_bcc, reply_to=reply_to, attachments=attachments, message_id=message_id, references=references,
-                             res_id=requisition_id, subtype='plain', headers=headers, mail_server_id=mail_server_id, auto_delete=auto_delete,
-                             context=context)
+            email_bcc=email_bcc, reply_to=reply_to, attachments=attachments, message_id=message_id, references=references,
+            res_id=res_id, subtype='plain', headers=headers, mail_server_id=mail_server_id, auto_delete=auto_delete,
+            context=context)
+        # check model is purchase.order
+        if model and model == 'purchase.order' and res_id:
+            requisition_id = self.pool.get('purchase.order').browse(cr, uid, res_id, context=context).requisition_id
+            if requisition_id:
+                result = self.schedule_with_attach(cr, uid, email_from, email_to, subject, body, 'purchase.requisition', email_cc=email_cc,
+                    email_bcc=email_bcc, reply_to=reply_to, attachments=attachments, message_id=message_id, references=references,
+                    res_id=requisition_id.id, subtype='plain', headers=headers, mail_server_id=mail_server_id, auto_delete=auto_delete,
+                    context=context)
         return result
 
 class purchase_requisition_line(osv.osv):