diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 330bbb1fc9b..cca195a1539 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -102,6 +102,7 @@ class crm_case_section(osv.osv): """ Model for sales teams. """ _name = "crm.case.section" _inherits = {'mail.alias': 'alias_id'} + _inherit = "mail.thread" _description = "Sales Teams" _order = "complete_name" diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index fff47205582..7c5b4f5b632 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -277,6 +277,10 @@ class crm_lead(base_stage, format_address, osv.osv): def create(self, cr, uid, vals, context=None): obj_id = super(crm_lead, self).create(cr, uid, vals, context) + section_id = self.browse(cr, uid, obj_id, context=context).section_id + if section_id: + followers = [follow.id for follow in section_id.message_follower_ids] + self.message_subscribe(cr, uid, [obj_id], followers, context=context) self.create_send_note(cr, uid, [obj_id], context=context) return obj_id diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index 4f4d73d5f43..373844a08af 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -115,6 +115,10 @@ +
+ + +
diff --git a/addons/project/project.py b/addons/project/project.py index edd4e0c614a..94ae9ed35bc 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1098,17 +1098,13 @@ class task(base_stage, osv.osv): }, context=context) return True - def project_message_followers(self, cr, uid, task_id, context=None): + def create(self, cr, uid, vals, context=None): + task_id = super(task, self).create(cr, uid, vals, context=context) project_obj = self.pool.get("project.project") project_id = self.browse(cr, uid, task_id, context=context).project_id if project_id: - followers = [follower.id for follower in project_obj.browse(cr, uid, project_id.id, context=context).message_follower_ids] - self.message_subscribe(cr, uid, task_id, followers, context=context) - return True - - def create(self, cr, uid, vals, context=None): - task_id = super(task, self).create(cr, uid, vals, context=context) - self.project_message_followers(cr, uid, task_id, context=context) + followers = [follower.id for follower in project_id.message_follower_ids] + self.message_subscribe(cr, uid, [task_id], followers, context=context) self._store_history(cr, uid, [task_id], context=context) self.create_send_note(cr, uid, [task_id], context=context) return task_id diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index ea3a892eb32..805d29eb98d 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -379,16 +379,12 @@ class project_issue(base_stage, osv.osv): self.write(cr, uid, ids, {'date_open': False, 'date_closed': False}) return res - def project_message_followers(self, cr, uid, issue_id, context=None): - project_obj = self.pool.get("project.project") - project_id = self.browse(cr, uid, issue_id, context=context).project_id - followers = [follower.id for follower in project_obj.browse(cr, uid, project_id.id, context=context).message_follower_ids] - self.message_subscribe(cr, uid, issue_id, followers, context=context) - return True - def create(self, cr, uid, vals, context=None): obj_id = super(project_issue, self).create(cr, uid, vals, context=context) - self.project_message_followers(cr, uid, obj_id, context=context) + project_obj = self.pool.get("project.project") + project_id = self.browse(cr, uid, obj_id, context=context).project_id + followers = [follower.id for follower in project_id.message_follower_ids] + self.message_subscribe(cr, uid, [obj_id], followers, context=context) self.create_send_note(cr, uid, [obj_id], context=context) return obj_id diff --git a/addons/sale_crm/sale_crm.py b/addons/sale_crm/sale_crm.py index b6d5ec25ce1..b7bd064563d 100644 --- a/addons/sale_crm/sale_crm.py +++ b/addons/sale_crm/sale_crm.py @@ -30,6 +30,14 @@ class sale_order(osv.osv): domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]") } + def create(self, cr, uid, vals, context=None): + order = super(sale_order, self).create(cr, uid, vals, context=context) + section_id = self.browse(cr, uid, order, context=context).section_id + if section_id: + followers = [follow.id for follow in section_id.message_follower_ids] + self.message_subscribe(cr, uid, [order.id], followers, context=context) + return order + sale_order() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: