From 4fe15ff183e883ad6f8f8dfe83213f3f34bfc67b Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Wed, 6 Apr 2011 16:46:47 +0530 Subject: [PATCH] [FIX] crm, crm_claim, crm_helpdesk, hr_recruitent, project_issue, project_mailgate: fix double attachment creation error as removing attachment from message_new() bzr revid: rha@tinyerp.com-20110406111647-8xcyc2ershxj6q1a --- addons/crm/crm_lead.py | 15 +-------------- addons/crm_claim/crm_claim.py | 15 +-------------- addons/crm_helpdesk/crm_helpdesk.py | 15 +-------------- addons/hr_recruitment/hr_recruitment.py | 18 +----------------- addons/project_issue/project_issue.py | 13 ------------- addons/project_mailgate/project_mailgate.py | 16 +--------------- 6 files changed, 5 insertions(+), 87 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index d8b4ebaa10e..e796cf7e654 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -348,20 +348,7 @@ class crm_lead(crm_case, osv.osv): if res: vals.update(res) - res = self.create(cr, uid, vals, context) - attachents = msg.get('attachments', []) - for attactment in attachents or []: - data_attach = { - 'name': attactment, - 'datas':binascii.b2a_base64(str(attachents.get(attactment))), - 'datas_fname': attactment, - 'description': 'Mail attachment', - 'res_model': self._name, - 'res_id': res, - } - self.pool.get('ir.attachment').create(cr, uid, data_attach) - - return res + return self.create(cr, uid, vals, context) def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): """ diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index 9883c8720ac..f5cceb59498 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -202,20 +202,7 @@ class crm_claim(crm.crm_case, osv.osv): if res: vals.update(res) - res = self.create(cr, uid, vals, context) - attachents = msg.get('attachments', []) - for attactment in attachents or []: - data_attach = { - 'name': attactment, - 'datas':binascii.b2a_base64(str(attachents.get(attactment))), - 'datas_fname': attactment, - 'description': 'Mail attachment', - 'res_model': self._name, - 'res_id': res, - } - self.pool.get('ir.attachment').create(cr, uid, data_attach) - - return res + return self.create(cr, uid, vals, context) def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): """ diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index 1e0482f1834..ff503a8fb3e 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -126,20 +126,7 @@ class crm_helpdesk(crm.crm_case, osv.osv): if res: vals.update(res) - res = self.create(cr, uid, vals, context) - attachents = msg.get('attachments', []) - for attactment in attachents or []: - data_attach = { - 'name': attactment, - 'datas':binascii.b2a_base64(str(attachents.get(attactment))), - 'datas_fname': attactment, - 'description': 'Mail attachment', - 'res_model': self._name, - 'res_id': res, - } - self.pool.get('ir.attachment').create(cr, uid, data_attach) - - return res + return self.create(cr, uid, vals, context) def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): """ diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index b3eaad6d000..24b226f922e 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -309,8 +309,6 @@ class hr_applicant(crm.crm_case, osv.osv): @param uid: the current user’s ID for security checks """ thread_pool = self.pool.get('email.thread') - attach_obj = self.pool.get('ir.attachment') - subject = msg.get('subject') body = msg.get('body') msg_from = msg.get('from') @@ -329,21 +327,7 @@ class hr_applicant(crm.crm_case, osv.osv): res = thread_pool.get_partner(cr, uid, msg.get('from')) if res: vals.update(res) - res = self.create(cr, uid, vals, context=context) - - attachents = msg.get('attachments', []) - for attactment in attachents or []: - data_attach = { - 'name': attactment, - 'datas':binascii.b2a_base64(str(attachents.get(attactment))), - 'datas_fname': attactment, - 'description': 'Mail attachment', - 'res_model': self._name, - 'res_id': res, - } - attach_obj.create(cr, uid, data_attach, context=context) - - return res + return self.create(cr, uid, vals, context=context) def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): """ diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index bfb359ceeef..11e76f142a1 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -397,19 +397,6 @@ class project_issue(crm.crm_case, osv.osv): context.update({'state_to' : 'draft'}) res = self.create(cr, uid, vals, context=context) self.convert_to_bug(cr, uid, [res], context=context) - - attachents = msg.get('attachments', []) - for attactment in attachents or []: - data_attach = { - 'name': attactment, - 'datas': binascii.b2a_base64(str(attachents.get(attactment))), - 'datas_fname': attactment, - 'description': 'Mail attachment', - 'res_model': self._name, - 'res_id': res, - } - self.pool.get('ir.attachment').create(cr, uid, data_attach) - return res def message_update(self, cr, uid, ids, msg, vals=None, default_act='pending', context=None): diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index a50b15bd9e5..29c813b5d8a 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -52,21 +52,7 @@ class project_tasks(osv.osv): res = thread_obj.get_partner(cr, uid, msg_from) if res: data.update(res) - res = self.create(cr, uid, data) - - attachments = msg.get('attachments', []) - for attachment in attachments or []: - data_attach = { - 'name': attachment, - 'datas':binascii.b2a_base64(str(attachments.get(attachment))), - 'datas_fname': attachment, - 'description': 'Mail attachment', - 'res_model': self._name, - 'res_id': res, - } - self.pool.get('ir.attachment').create(cr, uid, data_attach) - - return res + return self.create(cr, uid, data) def message_update(self, cr, uid, id, msg, data={}, default_act='pending'): thread_obj = self.pool.get('email.thread')