From 0c7876ac291b720b787f97834ded983b21c30025 Mon Sep 17 00:00:00 2001 From: "Yogesh (OpenERP)" Date: Mon, 7 Feb 2011 11:21:57 +0530 Subject: [IMP] replace mailgate.message to email.message in addons module. bzr revid: ysa@tinyerp.com-20110207055157-yr9co24w84kv0yvy --- addons/project_mailgate/project_mailgate.py | 36 ++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 64bb8c2dc69..18ef28a7f00 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -26,9 +26,9 @@ import binascii class project_tasks(osv.osv): _name = "project.task" _inherit = ['mailgate.thread','project.task'] - + _columns={ - 'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True), + 'message_ids': fields.one2many('email.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True), } def message_new(self, cr, uid, msg, context=None): # """ @@ -44,7 +44,7 @@ class project_tasks(osv.osv): msg_from = msg.get('from') priority = msg.get('priority') - data = { + data = { 'name': subject, 'description': body, 'planned_hours' : 0.0, @@ -52,8 +52,8 @@ class project_tasks(osv.osv): res = mailgate_obj.get_partner(cr, uid, msg_from) if res: data.update(res) - res = self.create(cr, uid, data) - + res = self.create(cr, uid, data) + attachments = msg.get('attachments', []) for attachment in attachments or []: data_attach = { @@ -66,19 +66,19 @@ class project_tasks(osv.osv): } self.pool.get('ir.attachment').create(cr, uid, data_attach) - return res - - def message_update(self, cr, uid, id, msg, data={}, default_act='pending'): + return res + + def message_update(self, cr, uid, id, msg, data={}, default_act='pending'): mailgate_obj = self.pool.get('email.server.tools') - msg_actions, body_data = mailgate_obj.msg_act_get(msg) + msg_actions, body_data = mailgate_obj.msg_act_get(msg) data.update({ - 'description': body_data, + 'description': body_data, }) act = 'do_'+default_act if 'state' in msg_actions: if msg_actions['state'] in ['draft','close','cancel','open','pending']: act = 'do_' + msg_actions['state'] - + for k1,k2 in [('cost','planned_hours')]: try: data[k2] = float(msg_actions[k1]) @@ -88,7 +88,7 @@ class project_tasks(osv.osv): if 'priority' in msg_actions: if msg_actions['priority'] in ('1','2','3','4','5'): data['priority'] = msg_actions['priority'] - + self.write(cr, uid, [id], data) getattr(self,act)(cr, uid, [id]) return True @@ -108,7 +108,7 @@ class project_tasks(osv.osv): def msg_send(self, cr, uid, id, *args, **argv): return True - + def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None): mailgate_pool = self.pool.get('mailgate.thread') return mailgate_pool.history(cr, uid, cases, keyword, history=history,\ @@ -116,25 +116,25 @@ class project_tasks(osv.osv): details=details, email_from=email_from,\ message_id=message_id, attach=attach, \ context=context) - + def do_draft(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_draft(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) self._history(cr, uid, tasks, _('Draft')) return res - + def do_open(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_open(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) self._history(cr, uid, tasks, _('Open')) return res - + def do_pending(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_pending(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) self._history(cr, uid, tasks, _('Pending')) return res - + def do_close(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_close(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) @@ -142,7 +142,7 @@ class project_tasks(osv.osv): if task.state == 'done': self._history(cr, uid, tasks, _('Done')) return res - + def do_cancel(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_cancel(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) -- cgit v1.2.3 From 455fb2d6b349df99449e1b8655349be8ce2869db Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Fri, 18 Mar 2011 19:14:19 +0530 Subject: [IMP] email: email cleanup bzr revid: rha@tinyerp.com-20110318134419-78qmipdipsryqgnz --- addons/project_mailgate/project_mailgate.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 18ef28a7f00..557726352ec 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -25,7 +25,7 @@ import binascii class project_tasks(osv.osv): _name = "project.task" - _inherit = ['mailgate.thread','project.task'] + _inherit = ['email.thread','project.task'] _columns={ 'message_ids': fields.one2many('email.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True), @@ -38,7 +38,7 @@ class project_tasks(osv.osv): # @param cr: the current row, from the database cursor, # @param uid: the current user’s ID for security checks # """ - mailgate_obj = self.pool.get('email.server.tools') + thread_obj = self.pool.get('email.thread') subject = msg.get('subject') body = msg.get('body') msg_from = msg.get('from') @@ -49,7 +49,7 @@ class project_tasks(osv.osv): 'description': body, 'planned_hours' : 0.0, } - res = mailgate_obj.get_partner(cr, uid, msg_from) + res = thread_obj.get_partner(cr, uid, msg_from) if res: data.update(res) res = self.create(cr, uid, data) @@ -69,8 +69,8 @@ class project_tasks(osv.osv): return res def message_update(self, cr, uid, id, msg, data={}, default_act='pending'): - mailgate_obj = self.pool.get('email.server.tools') - msg_actions, body_data = mailgate_obj.msg_act_get(msg) + thread_obj = self.pool.get('email.thread') + msg_actions, body_data = thread_obj.msg_act_get(msg) data.update({ 'description': body_data, }) @@ -93,7 +93,7 @@ class project_tasks(osv.osv): getattr(self,act)(cr, uid, [id]) return True - def message_followers(self, cr, uid, ids, context=None): + def thread_followers(self, cr, uid, ids, context=None): res = [] if isinstance(ids, (str, int, long)): select = [ids] @@ -110,7 +110,7 @@ class project_tasks(osv.osv): return True def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None): - mailgate_pool = self.pool.get('mailgate.thread') + mailgate_pool = self.pool.get('email.thread') return mailgate_pool.history(cr, uid, cases, keyword, history=history,\ subject=subject, email=email, \ details=details, email_from=email_from,\ -- cgit v1.2.3 From 2fe7c51e361ade79eef9af67f11a96a5fc24b035 Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Mon, 21 Mar 2011 19:01:56 +0530 Subject: [REM] email.smtp_server: removed email.smtp_server and did changes in email module bzr revid: rha@tinyerp.com-20110321133156-y57yw6sekshnw9ns --- addons/project_mailgate/project_mailgate.py | 3 --- 1 file changed, 3 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 557726352ec..23a97af7fc5 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -106,9 +106,6 @@ class project_tasks(osv.osv): return len(res) and res[0] or False return res - def msg_send(self, cr, uid, id, *args, **argv): - return True - def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None): mailgate_pool = self.pool.get('email.thread') return mailgate_pool.history(cr, uid, cases, keyword, history=history,\ -- cgit v1.2.3 From dfb7539e9866817721728a09704ebf06c2b9106e Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Thu, 31 Mar 2011 14:33:50 +0530 Subject: [IMP]: improvements bzr revid: rha@tinyerp.com-20110331090350-uud2kept28bs1xv0 --- addons/project_mailgate/project_mailgate.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 23a97af7fc5..a50b15bd9e5 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -107,8 +107,8 @@ class project_tasks(osv.osv): return res def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None): - mailgate_pool = self.pool.get('email.thread') - return mailgate_pool.history(cr, uid, cases, keyword, history=history,\ + thread_pool = self.pool.get('email.thread') + return thread_pool.history(cr, uid, cases, keyword, history=history,\ subject=subject, email=email, \ details=details, email_from=email_from,\ message_id=message_id, attach=attach, \ -- cgit v1.2.3 From 4fe15ff183e883ad6f8f8dfe83213f3f34bfc67b Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Wed, 6 Apr 2011 16:46:47 +0530 Subject: [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/project_mailgate/project_mailgate.py | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') 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') -- cgit v1.2.3 From 7ed0659f6e25f387f041f4d6f91cfb76459462cf Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Wed, 20 Apr 2011 11:36:05 +0530 Subject: [IMP] mail: improvement for message_new() and related modules bzr revid: rha@tinyerp.com-20110420060605-7q1z5917g1b7wapw --- addons/project_mailgate/project_mailgate.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 29c813b5d8a..212fe161094 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -52,7 +52,22 @@ class project_tasks(osv.osv): res = thread_obj.get_partner(cr, uid, msg_from) if res: data.update(res) - return self.create(cr, uid, data) + res_id = self.create(cr, uid, vals, context) + + attachments = msg.get('attachments', []) + self.history(cr, uid, [res_id], _('receive'), history=True, + subject = msg.get('subject'), + email = msg.get('to'), + details = msg.get('body'), + email_from = msg.get('from'), + email_cc = msg.get('cc'), + message_id = msg.get('message-id'), + references = msg.get('references', False) or msg.get('in-reply-to', False), + attach = attachments, + email_date = msg.get('date'), + context = context) + + return res_id def message_update(self, cr, uid, id, msg, data={}, default_act='pending'): thread_obj = self.pool.get('email.thread') -- cgit v1.2.3 From 280e446ceffeae725249a2687db203e9f97d8abe Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Wed, 20 Apr 2011 11:56:46 +0530 Subject: [FIX]: attachment type as dictionary bzr revid: rha@tinyerp.com-20110420062646-ngijwvt2395cihuw --- addons/project_mailgate/project_mailgate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 212fe161094..7610f35d648 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -54,7 +54,7 @@ class project_tasks(osv.osv): data.update(res) res_id = self.create(cr, uid, vals, context) - attachments = msg.get('attachments', []) + attachments = msg.get('attachments', {}) self.history(cr, uid, [res_id], _('receive'), history=True, subject = msg.get('subject'), email = msg.get('to'), -- cgit v1.2.3 From 190148f759d9134a2ecae103342cdba19cec5dec Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Wed, 20 Apr 2011 13:41:41 +0530 Subject: [FIX]: changes in message_update() bzr revid: rha@tinyerp.com-20110420081141-4w1wi70e290m2a69 --- addons/project_mailgate/project_mailgate.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 7610f35d648..dc0f04aeddf 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -69,7 +69,7 @@ class project_tasks(osv.osv): return res_id - def message_update(self, cr, uid, id, msg, data={}, default_act='pending'): + def message_update(self, cr, uid, ids, msg, data={}, default_act='pending'): thread_obj = self.pool.get('email.thread') msg_actions, body_data = thread_obj.msg_act_get(msg) data.update({ @@ -90,8 +90,21 @@ class project_tasks(osv.osv): if msg_actions['priority'] in ('1','2','3','4','5'): data['priority'] = msg_actions['priority'] - self.write(cr, uid, [id], data) - getattr(self,act)(cr, uid, [id]) + self.write(cr, uid, ids, data) + getattr(self,act)(cr, uid, ids) + + attachments = msg.get('attachments', {}) + self.history(cr, uid, ids, _('receive'), history=True, + subject = msg.get('subject'), + email = msg.get('to'), + details = msg.get('body'), + email_from = msg.get('from'), + email_cc = msg.get('cc'), + message_id = msg.get('message-id'), + references = msg.get('references', False) or msg.get('in-reply-to', False), + attach = attachments, + email_date = msg.get('date'), + context = context) return True def thread_followers(self, cr, uid, ids, context=None): -- cgit v1.2.3 From 4b2f93cb343874fb828a62694a09a858f7cc45c0 Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Thu, 21 Apr 2011 14:49:15 +0530 Subject: [FIX]: removed method _history() and called history() instead bzr revid: rha@tinyerp.com-20110421091915-fw1sr549av69mm4b --- addons/project_mailgate/project_mailgate.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index dc0f04aeddf..cea05b3fa44 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -120,30 +120,22 @@ class project_tasks(osv.osv): return len(res) and res[0] or False return res - def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, email_from=False, message_id=False, attach=[], context=None): - thread_pool = self.pool.get('email.thread') - return thread_pool.history(cr, uid, cases, keyword, history=history,\ - subject=subject, email=email, \ - details=details, email_from=email_from,\ - message_id=message_id, attach=attach, \ - context=context) - def do_draft(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_draft(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) - self._history(cr, uid, tasks, _('Draft')) + self.history(cr, uid, tasks, _('Draft')) return res def do_open(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_open(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) - self._history(cr, uid, tasks, _('Open')) + self.history(cr, uid, tasks, _('Open')) return res def do_pending(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_pending(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) - self._history(cr, uid, tasks, _('Pending')) + self.history(cr, uid, tasks, _('Pending')) return res def do_close(self, cr, uid, ids, *args, **kwargs): @@ -151,13 +143,13 @@ class project_tasks(osv.osv): tasks = self.browse(cr, uid, ids) for task in tasks: if task.state == 'done': - self._history(cr, uid, tasks, _('Done')) + self.history(cr, uid, tasks, _('Done')) return res def do_cancel(self, cr, uid, ids, *args, **kwargs): res = super(project_tasks, self).do_cancel(cr, uid, ids, *args, **kwargs) tasks = self.browse(cr, uid, ids) - self._history(cr, uid, tasks, _('Cancel')) + self.history(cr, uid, tasks, _('Cancel')) return res project_tasks() -- cgit v1.2.3 From 96a33521da4a5a01440a31b95ec34aba3394999b Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Mon, 2 May 2011 12:28:49 +0530 Subject: [IMP] crm,crm_claim,crm_helpdesk,hr_recruitment,project_issue,project_mailgate: improvement in message_new() bzr revid: rha@tinyerp.com-20110502065849-19nilmvniw28n8ts --- addons/project_mailgate/project_mailgate.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index cea05b3fa44..c4698540053 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -65,6 +65,10 @@ class project_tasks(osv.osv): references = msg.get('references', False) or msg.get('in-reply-to', False), attach = attachments, email_date = msg.get('date'), + body_html= msg.get('body_html'), + sub_type = msg.get('sub_type'), + headers = msg.get('headers'), + priority = msg.get('priority', False), context = context) return res_id -- cgit v1.2.3 From 3a904e407b6b1a7122bac98470e3b9330926ffab Mon Sep 17 00:00:00 2001 From: "Rifakat Haradwala (Open ERP)" Date: Tue, 3 May 2011 12:08:44 +0530 Subject: [IMP] mail: able to retrive priority of an email message and related changes in message_new() and message_update() bzr revid: rha@tinyerp.com-20110503063844-yhlhlnpvciveh219 --- addons/project_mailgate/project_mailgate.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index c4698540053..a7768fc862d 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -68,7 +68,7 @@ class project_tasks(osv.osv): body_html= msg.get('body_html'), sub_type = msg.get('sub_type'), headers = msg.get('headers'), - priority = msg.get('priority', False), + priority = msg.get('priority'), context = context) return res_id @@ -108,6 +108,10 @@ class project_tasks(osv.osv): references = msg.get('references', False) or msg.get('in-reply-to', False), attach = attachments, email_date = msg.get('date'), + body_html= msg.get('body_html'), + sub_type = msg.get('sub_type'), + headers = msg.get('headers'), + priority = msg.get('priority'), context = context) return True -- cgit v1.2.3 From 8f9f45ea948d1ffecb79601e860d522fc6686c2d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 22 Aug 2011 19:16:59 +0200 Subject: [IMP] all: next pass of review/renaming for new mail API bzr revid: odo@openerp.com-20110822171659-zxho36a6n628i10q --- addons/project_mailgate/project_mailgate.py | 66 ++++------------------------- 1 file changed, 9 insertions(+), 57 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 808eede3b3c..7e794c7f75b 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -33,20 +33,11 @@ class project_tasks(osv.osv): 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True), } - def message_new(self, cr, uid, msg, context=None): -# """ -# Automatically calls when new email message arrives -# -# @param self: The object pointer -# @param cr: the current row, from the database cursor, -# @param uid: the current user’s ID for security checks -# """ - thread_obj = self.pool.get('email.thread') + def message_new(self, cr, uid, msg, custom_values=None, context=None): + thread_obj = self.pool.get('mail.thread') subject = msg.get('subject') - body = msg.get('body') + body = msg.get('body_text') msg_from = msg.get('from') - #TODO map email priority with openerp task priority - priority = msg.get('priority') data = { 'name': subject, @@ -56,34 +47,11 @@ class project_tasks(osv.osv): res = thread_obj.get_partner(cr, uid, msg_from) if res: data.update(res) - res_id = self.create(cr, uid, data, context) - attachments = msg.get('attachments', {}) - for attachment in attachments: - 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, context) - self.history(cr, uid, [res_id], _('receive'), history=True, - subject = msg.get('subject'), - email = msg.get('to'), - details = msg.get('body'), - email_from = msg.get('from'), - email_cc = msg.get('cc'), - message_id = msg.get('message-id'), - references = msg.get('references', False) or msg.get('in-reply-to', False), - attach = attachments, - email_date = msg.get('date'), - body_html= msg.get('body_html'), - sub_type = msg.get('sub_type'), - headers = msg.get('headers'), - priority = msg.get('priority'), - context = context) + if custom_values and isinstance(custom_values, dict): + data.update(custom_values) + res_id = self.create(cr, uid, data, context) + self.append_mail(cr, uid, [res_id], msg, context=context) return res_id def message_update(self, cr, uid, ids, msg, data={}, default_act='pending'): @@ -95,7 +63,7 @@ class project_tasks(osv.osv): maps = { 'cost':'planned_hours', } - for line in msg['body'].split('\n'): + for line in msg['body_text'].split('\n'): line = line.strip() res = tools.misc.command_re.match(line) if res: @@ -112,23 +80,7 @@ class project_tasks(osv.osv): self.write(cr, uid, ids, data, context=context) getattr(self,act)(cr, uid, ids, context=context) - - attachments = msg.get('attachments', {}) - self.history(cr, uid, ids, _('receive'), history=True, - subject = msg.get('subject'), - email = msg.get('to'), - details = msg.get('body'), - email_from = msg.get('from'), - email_cc = msg.get('cc'), - message_id = msg.get('message-id'), - references = msg.get('references', False) or msg.get('in-reply-to', False), - attach = attachments, - email_date = msg.get('date'), - body_html= msg.get('body_html'), - sub_type = msg.get('sub_type'), - headers = msg.get('headers'), - priority = msg.get('priority'), - context = context) + self.append_mail(cr, uid, [res_id], msg, context=context) return True def thread_followers(self, cr, uid, ids, context=None): -- cgit v1.2.3 From b0bed63351956455a23cdc960292e104af53f67a Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 23 Aug 2011 19:58:09 +0200 Subject: [IMP] mail.thread: renaming methods to avoid collisions with objects that use the mixin bzr revid: odo@openerp.com-20110823175809-hw81fkptg90702vh --- addons/project_mailgate/project_mailgate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 7e794c7f75b..da82a22f17a 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -83,7 +83,7 @@ class project_tasks(osv.osv): self.append_mail(cr, uid, [res_id], msg, context=context) return True - def thread_followers(self, cr, uid, ids, context=None): + def message_thread_followers(self, cr, uid, ids, context=None): res = [] if isinstance(ids, (str, int, long)): select = [ids] -- cgit v1.2.3 From 2f543db06e952991577ca659f6b9b4dfc57cf828 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 25 Aug 2011 14:27:57 +0200 Subject: [IMP] mail: cleanup/rename API + adapt dependencies (wip) bzr revid: odo@openerp.com-20110825122757-0mqr0gbol25t0n41 --- addons/project_mailgate/project_mailgate.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index da82a22f17a..9ebd12ec206 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -34,24 +34,17 @@ class project_tasks(osv.osv): } def message_new(self, cr, uid, msg, custom_values=None, context=None): - thread_obj = self.pool.get('mail.thread') + res_id = super(project_tasks,self).message_new(cr, uid, msg, custom_values=custom_values, context=context) subject = msg.get('subject') body = msg.get('body_text') msg_from = msg.get('from') - data = { 'name': subject, 'description': body, 'planned_hours': 0.0, } - res = thread_obj.get_partner(cr, uid, msg_from) - if res: - data.update(res) - - if custom_values and isinstance(custom_values, dict): - data.update(custom_values) - res_id = self.create(cr, uid, data, context) - self.append_mail(cr, uid, [res_id], msg, context=context) + data.update(self.message_partner_by_email(cr, uid, msg_from)) + self.write(cr, uid, [res_id], data, context) return res_id def message_update(self, cr, uid, ids, msg, data={}, default_act='pending'): @@ -80,7 +73,7 @@ class project_tasks(osv.osv): self.write(cr, uid, ids, data, context=context) getattr(self,act)(cr, uid, ids, context=context) - self.append_mail(cr, uid, [res_id], msg, context=context) + self.message_append_dict(cr, uid, [res_id], msg, context=context) return True def message_thread_followers(self, cr, uid, ids, context=None): @@ -102,19 +95,19 @@ class project_tasks(osv.osv): def do_draft(self, cr, uid, ids, context=None): res = super(project_tasks, self).do_draft(cr, uid, ids, context) tasks = self.browse(cr, uid, ids, context=context) - self.history(cr, uid, tasks, _('Draft'), context=context) + self.message_append(cr, uid, tasks, _('Draft'), context=context) return res def do_open(self, cr, uid, ids, context=None): res = super(project_tasks, self).do_open(cr, uid, ids, context) tasks = self.browse(cr, uid, ids, context=context) - self.history(cr, uid, tasks, _('Open'), context=context) + self.message_append(cr, uid, tasks, _('Open'), context=context) return res def do_pending(self, cr, uid, ids, context=None): res = super(project_tasks, self).do_pending(cr, uid, ids, context) tasks = self.browse(cr, uid, ids, context=context) - self.history(cr, uid, tasks, _('Pending'), context=context) + self.message_append(cr, uid, tasks, _('Pending'), context=context) return res def do_close(self, cr, uid, ids, context=None): @@ -122,13 +115,13 @@ class project_tasks(osv.osv): tasks = self.browse(cr, uid, ids, context=context) for task in tasks: if task.state == 'done': - self.history(cr, uid, tasks, _('Done'), context=context) + self.message_append(cr, uid, tasks, _('Done'), context=context) return res def do_cancel(self, cr, uid, ids, context=None): res = super(project_tasks, self).do_cancel(cr, uid, ids, context=context) tasks = self.browse(cr, uid, ids, context=context) - self.history(cr, uid, tasks, _('Cancel'), context=context) + self.message_append(cr, uid, tasks, _('Cancel'), context=context) return res project_tasks() -- cgit v1.2.3 From 0b5c73027c2205b78f5b3d1e27967ca11f125750 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 7 Sep 2011 23:39:49 +0200 Subject: [REM] crm*: remove useless msg_send() method, cleanup bzr revid: odo@openerp.com-20110907213949-pl2jg4fjd1pcvik9 --- addons/project_mailgate/project_mailgate.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 9ebd12ec206..293d97c88a7 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -29,9 +29,9 @@ class project_tasks(osv.osv): _name = "project.task" _inherit = ['mail.thread','project.task'] - _columns={ - 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True), - } + _columns = { + 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)], readonly=True), + } def message_new(self, cr, uid, msg, custom_values=None, context=None): res_id = super(project_tasks,self).message_new(cr, uid, msg, custom_values=custom_values, context=context) @@ -89,9 +89,6 @@ class project_tasks(osv.osv): return len(res) and res[0] or False return res - def msg_send(self, cr, uid, id, *args, **argv): - return True - def do_draft(self, cr, uid, ids, context=None): res = super(project_tasks, self).do_draft(cr, uid, ids, context) tasks = self.browse(cr, uid, ids, context=context) -- cgit v1.2.3 From b066e09042c00080a93442522423f34c33f739c0 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 8 Sep 2011 00:38:59 +0200 Subject: [FIX] project.mailgate: wrong implementation of mail.thread API bzr revid: odo@openerp.com-20110907223859-iywto1y7j08bu0bi --- addons/project_mailgate/project_mailgate.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'addons/project_mailgate/project_mailgate.py') diff --git a/addons/project_mailgate/project_mailgate.py b/addons/project_mailgate/project_mailgate.py index 293d97c88a7..9715a32c151 100644 --- a/addons/project_mailgate/project_mailgate.py +++ b/addons/project_mailgate/project_mailgate.py @@ -77,17 +77,12 @@ class project_tasks(osv.osv): return True def message_thread_followers(self, cr, uid, ids, context=None): - res = [] - if isinstance(ids, (str, int, long)): - select = [ids] - else: - select = ids - for task in self.browse(cr, uid, select, context=context): - user_email = (task.user_id and task.user_id.user_email) or False - res += [(user_email, False, False, task.priority)] - if isinstance(ids, (str, int, long)): - return len(res) and res[0] or False - return res + followers = super(project_tasks,self).message_thread_followers(cr, uid, ids, context=context) + for task in self.browse(cr, uid, followers.keys(), context=context): + task_followers = set(followers[task.id]) + task_followers.add(task.user_id.user_email) + followers[task.id] = filter(None, task_followers) + return followers def do_draft(self, cr, uid, ids, context=None): res = super(project_tasks, self).do_draft(cr, uid, ids, context) -- cgit v1.2.3