From d8a18a9d16d11f0d65ae44e519bdea28ba2a7ac1 Mon Sep 17 00:00:00 2001 From: Rahul Prajapati Date: Thu, 9 Mar 2023 11:15:51 +0000 Subject: [PATCH] [FIX] mail: channel partner avatar response for public user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This issue was caught in Sentry. The return type of the partner avatar for public users is `odoo.http.Stream`, but the `route_wrapper` expects it to be `Response streamed`. sentry-3929988311 closes odoo/odoo#114933 X-original-commit: 62ddfe0badf54375bc458bdb50cbcdbe4da5bbcd Signed-off-by: Sébastien Theys (seb) --- addons/mail/controllers/discuss.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mail/controllers/discuss.py b/addons/mail/controllers/discuss.py index 8c46a700839..f740f55ee3c 100644 --- a/addons/mail/controllers/discuss.py +++ b/addons/mail/controllers/discuss.py @@ -141,7 +141,7 @@ class DiscussController(http.Controller): if channel_member_sudo and channel_member_sudo.env['mail.channel.member'].search([('channel_id', '=', channel_id), ('partner_id', '=', partner_id)], limit=1): return request.env['ir.binary']._get_image_stream_from(partner_sudo, field_name='avatar_128', placeholder=placeholder).get_response() if request.env.user.share: - return request.env['ir.binary']._get_placeholder_stream(placeholder) + return request.env['ir.binary']._get_placeholder_stream(placeholder).get_response() return request.env['ir.binary']._get_image_stream_from(partner_sudo.sudo(False), field_name='avatar_128', placeholder=placeholder).get_response() @http.route('/mail/channel//guest//avatar_128', methods=['GET'], type='http', auth='public') @@ -152,7 +152,7 @@ class DiscussController(http.Controller): if channel_member_sudo and channel_member_sudo.env['mail.channel.member'].search([('channel_id', '=', channel_id), ('guest_id', '=', guest_id)], limit=1): return request.env['ir.binary']._get_image_stream_from(guest_sudo, field_name='avatar_128', placeholder=placeholder).get_response() if request.env.user.share: - return request.env['ir.binary']._get_placeholder_stream(placeholder) + return request.env['ir.binary']._get_placeholder_stream(placeholder).get_response() return request.env['ir.binary']._get_image_stream_from(guest_sudo.sudo(False), field_name='avatar_128', placeholder=placeholder).get_response() @http.route('/mail/channel//attachment/', methods=['GET'], type='http', auth='public')