|
|
for event in self:
# By default, only current attendees and the organizer can edit the event.
editor_candidates = set(event.partner_ids.user_ids + event.user_id)
# Right before saving the event, old partners must be able to save changes.
if event._origin:
editor_candidates |= set(event._origin.partner_ids.user_ids)
# Non-private events must be editable by uninvited administrators.
if self.env.user.has_group('base.group_system') and event.privacy != 'private':
editor_candidates.add(self.env.user)
event.user_can_edit = self.env.user in editor_candidates
|
|