diff --git a/addons/calendar/models/calendar_attendee.py b/addons/calendar/models/calendar_attendee.py index 2115022deb7..a9e106e31f6 100644 --- a/addons/calendar/models/calendar_attendee.py +++ b/addons/calendar/models/calendar_attendee.py @@ -131,6 +131,8 @@ class Attendee(models.Model): 'datas': base64.b64encode(ics_file), 'description': 'invitation.ics', 'mimetype': 'text/calendar', + 'res_id': event_id, + 'res_model': 'calendar.event', 'name': 'invitation.ics', }).ids diff --git a/addons/calendar/tests/test_calendar.py b/addons/calendar/tests/test_calendar.py index f4f6c4d06d5..60a6b9d334a 100644 --- a/addons/calendar/tests/test_calendar.py +++ b/addons/calendar/tests/test_calendar.py @@ -6,7 +6,7 @@ from datetime import date, datetime, timedelta from odoo import fields, Command from odoo.addons.base.tests.common import HttpCaseWithUserDemo -from odoo.tests import Form, HttpCase, tagged +from odoo.tests import Form, tagged, new_test_user from odoo.addons.base.tests.common import SavepointCaseWithUserDemo import freezegun @@ -381,6 +381,23 @@ class TestCalendar(SavepointCaseWithUserDemo): # no more email should be sent _test_one_mail_per_attendee(self, partners) + def test_event_creation_internal_user_invitation_ics(self): + """ Check that internal user can read invitation.ics attachment """ + internal_user = new_test_user(self.env, login='internal_user', groups='base.group_user') + + partner = internal_user.partner_id + self.event_tech_presentation.write({ + 'partner_ids': [(4, partner.id)], + }) + msg = self.env['mail.message'].search([ + ('notified_partner_ids', 'in', partner.id), + ]) + msg.invalidate_recordset() + + + # internal user can read the attachment without errors + self.assertEqual(msg.with_user(internal_user).attachment_ids.name, 'invitation.ics') + def test_event_creation_sudo_other_company(self): """ Check Access right issue when create event with sudo