[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 <ir.model>. Task-2845877 X-original-commit: 087875594daefe487a5988a56c298af844d21dfb Part-of: odoo/odoo#99256
This commit is contained in:
committed by
Thibault Delavallée
parent
93fc52c8e1
commit
4e100d5e37
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user