diff options
| author | Gaurav Panchal <gan@openerp.com> | 2015-06-17 16:08:36 +0530 |
|---|---|---|
| committer | David Monjoie <dmo@odoo.com> | 2015-09-01 08:13:53 +0200 |
| commit | bb1200adc781efc1318e502a84cc1e77315aabc4 (patch) | |
| tree | 1aa1d6801691bd5f4f3edef21fd711b724ca812e /addons/project_issue/project_issue.py | |
| parent | f41595f15b9cffad04816a3354942c44a8c33733 (diff) | |
[IMP] project, project_issue : email cc set follower
Partner is created on the fly if it didn't exist yet.
Diffstat (limited to 'addons/project_issue/project_issue.py')
| -rw-r--r-- | addons/project_issue/project_issue.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 09f24792656..92eb06c7b66 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -368,6 +368,13 @@ class project_issue(osv.Model): pass return recipients + def email_split(self, cr, uid, ids, msg, context=None): + email_list = tools.email_split((msg.get('to') or '') + ',' + (msg.get('cc') or '')) + # check left-part is not already an alias + issue_ids = self.browse(cr, uid, ids, context=context) + aliases = [issue.project_id.alias_name for issue in issue_ids if issue.project_id] + return filter(lambda x: x.split('@')[0] not in aliases, email_list) + def message_new(self, cr, uid, msg, custom_values=None, context=None): """ Overrides mail_thread message_new that is called by the mailgateway through message_process. @@ -384,9 +391,21 @@ class project_issue(osv.Model): 'user_id': False, } defaults.update(custom_values) + res_id = super(project_issue, self).message_new(cr, uid, msg, custom_values=defaults, context=context) + email_list = self.email_split(cr, uid, [res_id], msg, context=context) + partner_ids = self._find_partner_from_emails(cr, uid, [res_id], email_list, force_create=True, context=context) + self.message_subscribe(cr, uid, [res_id], partner_ids, context=context) return res_id + def message_update(self, cr, uid, ids, msg, update_vals=None, context=None): + """ Override to update the issue according to the email. """ + + email_list = self.email_split(cr, uid, ids, msg, context=context) + partner_ids = self._find_partner_from_emails(cr, uid, ids, email_list, force_create=True, context=context) + self.message_subscribe(cr, uid, ids, partner_ids, context=context) + return super(project_issue, self).message_update(cr, uid, ids, msg, update_vals=update_vals, context=context) + @api.cr_uid_ids_context @api.returns('mail.message', lambda value: value.id) def message_post(self, cr, uid, thread_id, subtype=None, context=None, **kwargs): |
