diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 7c5b4f5b632..40607341901 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -788,7 +788,10 @@ class crm_lead(base_stage, format_address, osv.osv): stage = self.pool.get('crm.case.stage').browse(cr, uid, vals['stage_id'], context=context) if stage.on_change: vals['probability'] = stage.probability - return super(crm_lead,self).write(cr, uid, ids, vals, context) + for lead in self.browse(cr, uid, ids, context=context): + if lead.section_id: + vals.update({'message_follower_ids': [(4, follow.id) for follow in lead.section_id.message_follower_ids]}) + return super(crm_lead,self).write(cr, uid, ids, vals, context) # ---------------------------------------- # Mail Gateway diff --git a/addons/sale_crm/sale_crm.py b/addons/sale_crm/sale_crm.py index d2c8358263e..cf715eb64d8 100644 --- a/addons/sale_crm/sale_crm.py +++ b/addons/sale_crm/sale_crm.py @@ -38,6 +38,12 @@ class sale_order(osv.osv): self.message_subscribe(cr, uid, [order], followers, context=context) return order + def write(self, cr, uid, ids, vals, context=None): + for order in self.browse(cr, uid, ids, context=context): + if order.section_id: + vals.update({'message_follower_ids': [(4, follow.id) for follow in order.section_id.message_follower_ids]}) + return super(sale_order, self).write(cr, uid, ids, vals, context=context) + sale_order() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: