From 32ba28e56e3bac0080e4c5a5d98fc3e209075e10 Mon Sep 17 00:00:00 2001 From: Grigory Vodyanov Date: Fri, 23 Aug 2024 14:49:42 +0200 Subject: [PATCH] fix(CalendarObjectInstance): reset attendee participation status on duplication of an event Signed-off-by: Grigory Vodyanov --- src/models/event.js | 8 +++++++- src/store/calendarObjectInstance.js | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/models/event.js b/src/models/event.js index 58501ee60..b705d9065 100644 --- a/src/models/event.js +++ b/src/models/event.js @@ -178,8 +178,9 @@ const mapEventComponentToEventObject = (eventComponent) => { * * @param {object} eventObject The calendar-object-instance object * @param {EventComponent} eventComponent The calendar-js EventComponent object + * @param {boolean} resetAttendeeStatus Whether or not to reset the attendee status */ -const copyCalendarObjectInstanceIntoEventComponent = (eventObject, eventComponent) => { +const copyCalendarObjectInstanceIntoEventComponent = (eventObject, eventComponent, resetAttendeeStatus = false) => { eventComponent.title = eventObject.title eventComponent.location = eventObject.location eventComponent.description = eventObject.description @@ -206,6 +207,11 @@ const copyCalendarObjectInstanceIntoEventComponent = (eventObject, eventComponen } for (const attendee of eventObject.attendees) { + if (resetAttendeeStatus) { + attendee.attendeeProperty.participationStatus = "NEEDS-ACTION" + attendee.attendeeProperty.rsvp = true + } + eventComponent.addProperty(attendee.attendeeProperty) } diff --git a/src/store/calendarObjectInstance.js b/src/store/calendarObjectInstance.js index ef45e26f5..074aca8eb 100644 --- a/src/store/calendarObjectInstance.js +++ b/src/store/calendarObjectInstance.js @@ -1478,7 +1478,7 @@ export default defineStore('calendarObjectInstance', { isAllDay: oldEventComponent.isAllDay(), }) const eventComponent = getObjectAtRecurrenceId(calendarObject, startDate.jsDate) - copyCalendarObjectInstanceIntoEventComponent(oldCalendarObjectInstance, eventComponent) + copyCalendarObjectInstanceIntoEventComponent(oldCalendarObjectInstance, eventComponent, true) const calendarObjectInstance = mapEventComponentToEventObject(eventComponent) await this.setCalendarObjectInstanceForNewEvent({