diff --git a/addons/website_slides/models/__init__.py b/addons/website_slides/models/__init__.py index 4fb9318f4da..6d256bb8eb6 100644 --- a/addons/website_slides/models/__init__.py +++ b/addons/website_slides/models/__init__.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import ir_http from . import gamification_challenge from . import slide_slide from . import slide_question @@ -10,4 +11,4 @@ from . import res_config_settings from . import website from . import res_users from . import res_groups -from . import res_partner \ No newline at end of file +from . import res_partner diff --git a/addons/website_slides/models/ir_http.py b/addons/website_slides/models/ir_http.py new file mode 100644 index 00000000000..5c501a575db --- /dev/null +++ b/addons/website_slides/models/ir_http.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class Http(models.AbstractModel): + _inherit = 'ir.http' + + def binary_content(self, xmlid=None, model='ir.attachment', id=None, field='datas', + unique=False, filename=None, filename_field='name', download=False, + mimetype=None, default_mimetype='application/octet-stream', + access_token=None): + obj = None + if xmlid: + obj = self._xmlid_to_obj(self.env, xmlid) + if obj._name != 'slide.slide': + obj = None + elif id and model == 'slide.slide': + obj = self.env[model].browse(int(id)) + if obj: + obj.check_access_rights('read') + obj.check_access_rule('read') + return super(Http, self).binary_content( + xmlid=xmlid, model=model, id=id, field=field, unique=unique, filename=filename, + filename_field=filename_field, download=download, mimetype=mimetype, + default_mimetype=default_mimetype, access_token=access_token)