From 4e100d5e37ddf5f2013a6f7df4dad53a12933f09 Mon Sep 17 00:00:00 2001 From: std-odoo Date: Wed, 22 Jun 2022 11:27:09 +0000 Subject: [PATCH] [FIX] mail: allow a normal user to view the mail template preview Bug === A user without administration right can not preview a mail template because of the ACl on the . Task-2845877 X-original-commit: 087875594daefe487a5988a56c298af844d21dfb Part-of: odoo/odoo#99256 --- addons/mail/wizard/mail_template_preview.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/mail/wizard/mail_template_preview.py b/addons/mail/wizard/mail_template_preview.py index 118fbf4fb93..e82cb90e0fe 100644 --- a/addons/mail/wizard/mail_template_preview.py +++ b/addons/mail/wizard/mail_template_preview.py @@ -24,10 +24,11 @@ class MailTemplatePreview(models.TransientModel): result = super(MailTemplatePreview, self).default_get(fields) if not result.get('mail_template_id') or 'resource_ref' not in fields: return result - mail_template = self.env['mail.template'].browse(result['mail_template_id']) - res = self.env[mail_template.model_id.model].search([], limit=1) + mail_template = self.env['mail.template'].browse(result['mail_template_id']).sudo() + model = mail_template.model + res = self.env[model].search([], limit=1) if res: - result['resource_ref'] = '%s,%s' % (mail_template.model_id.model, res.id) + result['resource_ref'] = '%s,%s' % (model, res.id) return result mail_template_id = fields.Many2one('mail.template', string='Related Mail Template', required=True) @@ -52,8 +53,9 @@ class MailTemplatePreview(models.TransientModel): @api.depends('model_id') def _compute_no_record(self): - for preview in self: - preview.no_record = (self.env[preview.model_id.model].search_count([]) == 0) if preview.model_id else True + for preview, preview_sudo in zip(self, self.sudo()): + model_id = preview_sudo.model_id + preview.no_record = not model_id or not self.env[model_id.model].search_count([]) @api.depends('lang', 'resource_ref') def _compute_mail_template_fields(self):