From da11c4cdf4a41130bc97ac569c0fe843bb70459a Mon Sep 17 00:00:00 2001 From: "Louis Wicket (wil)" Date: Tue, 24 May 2022 08:25:36 +0000 Subject: [PATCH] [IMP] base: make sure binary_field_real_user is a record MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensure that the value of binary_field_real_user is a record before using it. closes odoo/odoo#92441 X-original-commit: 4ccf918c1596ac0ee104774d98d014708f03e901 Signed-off-by: Sébastien Theys (seb) --- odoo/addons/base/i18n/base.pot | 6 ++++++ odoo/addons/base/models/ir_attachment.py | 2 ++ 2 files changed, 8 insertions(+) diff --git a/odoo/addons/base/i18n/base.pot b/odoo/addons/base/i18n/base.pot index a2eee7ba4ce..f867502b0a5 100644 --- a/odoo/addons/base/i18n/base.pot +++ b/odoo/addons/base/i18n/base.pot @@ -28591,6 +28591,12 @@ msgstr "" msgid "binary" msgstr "" +#. module: base +#: code:addons/base/models/ir_attachment.py:0 +#, python-format +msgid "binary_field_real_user should be a res.users record." +msgstr "" + #. module: base #: model:ir.model.fields.selection,name:base.selection__ir_model_fields__ttype__boolean msgid "boolean" diff --git a/odoo/addons/base/models/ir_attachment.py b/odoo/addons/base/models/ir_attachment.py index 9190590cf29..e8421b143bf 100644 --- a/odoo/addons/base/models/ir_attachment.py +++ b/odoo/addons/base/models/ir_attachment.py @@ -341,6 +341,8 @@ class IrAttachment(models.Model): 'xml' in mimetype and # other xml (svg, text/xml, etc) not 'openxmlformats' in mimetype) # exception for Office formats user = self.env.context.get('binary_field_real_user', self.env.user) + if not isinstance(user, self.pool['res.users']): + raise UserError(_("binary_field_real_user should be a res.users record.")) force_text = xml_like and ( self.env.context.get('attachments_mime_plainxml') or not self.env['ir.ui.view'].with_user(user).check_access_rights('write', False))