diff --git a/addons/website_mail_channel/controllers/main.py b/addons/website_mail_channel/controllers/main.py index 37dd899b3fc..143b6f08e37 100644 --- a/addons/website_mail_channel/controllers/main.py +++ b/addons/website_mail_channel/controllers/main.py @@ -175,8 +175,19 @@ class MailGroup(http.Controller): base_domain = [('model', '=', 'mail.channel'), ('res_id', '=', group.id)] next_message = Message.search(base_domain + [('date', '<', message.date)], order="date DESC", limit=1) or None prev_message = Message.search(base_domain + [('date', '>', message.date)], order="date", limit=1) or None + + # handle access to attachments for public / portal + if request.env.user.has_group('base.group_user'): + attachments = message.attachment_ids + else: + # portal / external people cannot access attachments -> grant access + # as message is ok, generate access tokens + attachments = message.sudo().attachment_ids + attachments.generate_access_token() + values = { 'message': message, + 'attachments': attachments, 'group': group, 'mode': mode, 'archives': self._get_archives(group.id), diff --git a/addons/website_mail_channel/views/website_mail_channel_templates.xml b/addons/website_mail_channel/views/website_mail_channel_templates.xml index 4e247afd621..fe88c9e9d7f 100644 --- a/addons/website_mail_channel/views/website_mail_channel_templates.xml +++ b/addons/website_mail_channel/views/website_mail_channel_templates.xml @@ -202,20 +202,28 @@
-

+

- attachments + attachments - attachments + attachments