diff options
| author | Kevin Baptiste <kba@odoo.com> | 2020-09-09 08:55:19 +0000 |
|---|---|---|
| committer | Kevin Baptiste <kba@odoo.com> | 2020-09-28 10:13:53 +0000 |
| commit | 287ee0f83ae6fd457e5356860c8a8ab5a4e66754 (patch) | |
| tree | 5339210758d844723d0ed25d72eda79a46bead0a /addons/calendar | |
| parent | 0c4f2fd9b2039d11f4245f54c5745543b48e8365 (diff) | |
[FIX] calendar: set attendees on quickcreate
When creating an event through the quickcreate, the user creating the
event was not set as attendee.
closes odoo/odoo#58580
Taskid: 2334943
X-original-commit: 07d799a5f676ed68fd2ffd9cd9bac3269f947ad1
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Diffstat (limited to 'addons/calendar')
| -rw-r--r-- | addons/calendar/models/calendar_event.py | 14 | ||||
| -rw-r--r-- | addons/calendar/tests/test_attendees.py | 4 |
2 files changed, 10 insertions, 8 deletions
diff --git a/addons/calendar/models/calendar_event.py b/addons/calendar/models/calendar_event.py index 903e5a772a7..ab446d2ff69 100644 --- a/addons/calendar/models/calendar_event.py +++ b/addons/calendar/models/calendar_event.py @@ -475,11 +475,12 @@ class Meeting(models.Model): added_partner_ids += [command[1]] if command[1] not in self.partner_ids.ids else [] # commands 0 and 1 not supported - attendees_to_unlink = self.env['calendar.attendee'].search([ - ('event_id', 'in', self.ids), - ('partner_id', 'in', removed_partner_ids), - ]) - attendee_commands += [[2, attendee.id] for attendee in attendees_to_unlink] # Removes and delete + if removed_partner_ids: + attendees_to_unlink = self.env['calendar.attendee'].search([ + ('event_id', 'in', self.ids), + ('partner_id', 'in', removed_partner_ids), + ]) + attendee_commands += [[2, attendee.id] for attendee in attendees_to_unlink] # Removes and delete attendee_commands += [ [0, 0, dict(partner_id=partner_id)] @@ -699,8 +700,9 @@ class Meeting(models.Model): activity_vals['user_id'] = user_id values['activity_ids'] = [(0, 0, activity_vals)] + self_partner_id = [(4, self.env.user.partner_id.id)] vals_list = [ - dict(vals, attendee_ids=self._attendees_values(vals['partner_ids'])) if 'partner_ids' in vals else vals + dict(vals, attendee_ids=self._attendees_values(vals.get('partner_ids', self_partner_id))) for vals in vals_list ] recurrence_fields = self._get_recurrent_fields() diff --git a/addons/calendar/tests/test_attendees.py b/addons/calendar/tests/test_attendees.py index 7b3389b717c..74c3f843ced 100644 --- a/addons/calendar/tests/test_attendees.py +++ b/addons/calendar/tests/test_attendees.py @@ -11,12 +11,12 @@ class TestEventNotifications(SavepointCase): @classmethod def setUpClass(cls): super().setUpClass() - cls.event = cls.env['calendar.event'].create({ + cls.user = new_test_user(cls.env, 'xav', email='em@il.com', notification_type='inbox') + cls.event = cls.env['calendar.event'].with_user(cls.user).create({ 'name': "Doom's day", 'start': datetime(2019, 10, 25, 8, 0), 'stop': datetime(2019, 10, 27, 18, 0), }).with_context(mail_notrack=True) - cls.user = new_test_user(cls.env, 'xav', email='em@il.com', notification_type='inbox') cls.partner = cls.user.partner_id def test_attendee_added(self): |
