[FIX] mail: Allow modifying followers in multi company/with private channel

It's a backport for https://github.com/odoo/odoo/commit/b795d69ce8aca2e88182c6d6d6b7af54d536f9dd
It also backports this fix https://github.com/odoo/odoo/commit/c49265afa1b0610d52fd356df26491546f1905bf

It also fixes #13578
This commit is contained in:
Goffin Simon
2018-06-12 09:52:12 +02:00
committed by Yannick Tivisse
parent 06a085b25f
commit cb3e415a7c
+8 -1
View File
@@ -112,7 +112,14 @@ class MailController(http.Controller):
def read_followers(self, follower_ids):
result = []
is_editable = request.env.user.has_group('base.group_no_one')
for follower in request.env['mail.followers'].browse(follower_ids):
follower_recs = request.env['mail.followers'].sudo().browse(follower_ids)
if follower_recs:
mapped_data = {}
for follower_rec in follower_recs:
mapped_data.setdefault(follower_rec.res_model, set()).add(follower_rec.res_id)
for res_model, res_ids in mapped_data.iteritems():
request.env[res_model].browse(list(res_ids)).check_access_rule("read")
for follower in follower_recs:
result.append({
'id': follower.id,
'name': follower.partner_id.name or follower.channel_id.name,