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):