diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py index fe0cc3950ae..c7c51a84a00 100644 --- a/addons/mail/mail_group.py +++ b/addons/mail/mail_group.py @@ -125,7 +125,7 @@ class mail_group(osv.Model): params = { 'search_view_id': search_ref and search_ref[1] or False, 'domain': [('model', '=', 'mail.group'), ('res_id', '=', mail_group_id)], - 'context': {'default_model': 'mail.group', 'default_res_id': mail_group_id}, + 'context': {'default_model': 'mail.group', 'default_res_id': mail_group_id, 'mail_keep_unread':True}, 'res_model': 'mail.message', 'thread_level': 1, } diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml index 31beba80ecc..bcd754fed3d 100644 --- a/addons/mail/mail_group_view.xml +++ b/addons/mail/mail_group_view.xml @@ -6,6 +6,7 @@ Discussion Group mail.wall mail.message + {'mail_keep_unread': True} diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 44ce76b94b0..c9340b77cea 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -218,10 +218,17 @@ class mail_message(osv.Model): """ limit = limit or self._message_read_limit context = context or {} + notif_obj = self.pool.get("mail.notification") if not ids: ids = self.search(cr, uid, domain, context=context, limit=limit) messages = self.browse(cr, uid, ids, context=context) + partner_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).partner_id.id + for msg in messages: + notif_ids = notif_obj.search(cr, uid, [('partner_id', '=', partner_id), ('message_id', '=', msg.id)], context=context) + notif_obj.write(cr, uid, notif_ids, {'read': True}, context=context) + context.update({'mail_keep_unread':False}) + result = [] tree = {} # key: ID, value: record for msg in messages: diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml index 914937a34f3..c9806a9db9a 100644 --- a/addons/mail/mail_message_view.xml +++ b/addons/mail/mail_message_view.xml @@ -91,14 +91,14 @@ News Feed mail.wall + 'context': {'default_model': 'res.users', 'default_res_id': uid, 'mail_keep_unread': True} }""/> My Feeds mail.wall + 'context': {'default_model': 'res.users', 'default_res_id': uid, 'mail_keep_unread': True} }""/>