From f743584c0902ef14307103b4de3472e9a06541b1 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 16 Oct 2017 13:42:48 +0200 Subject: [PATCH] OO-3069: clone updated event to initialize the immutable fields with the last data --- .../commons/calendar/manager/ICalFileCalendarManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/commons/calendar/manager/ICalFileCalendarManager.java b/src/main/java/org/olat/commons/calendar/manager/ICalFileCalendarManager.java index 6b434b8585e..d302b09cf4e 100644 --- a/src/main/java/org/olat/commons/calendar/manager/ICalFileCalendarManager.java +++ b/src/main/java/org/olat/commons/calendar/manager/ICalFileCalendarManager.java @@ -354,7 +354,7 @@ public class ICalFileCalendarManager implements CalendarManager, InitializingBea @Override public boolean persistCalendar(Kalendar kalendar) { Calendar calendar = buildCalendar(kalendar); - boolean success = writeCalendarFile(calendar,kalendar.getType(), kalendar.getCalendarID()); + boolean success = writeCalendarFile(calendar, kalendar.getType(), kalendar.getCalendarID()); calendarCache.update(getKeyFor(kalendar.getType(), kalendar.getCalendarID()), kalendar); return success; } @@ -1204,7 +1204,9 @@ public class ICalFileCalendarManager implements CalendarManager, InitializingBea } reloadedCal.removeEvent(kalendarEvent); // remove old event - reloadedCal.addEvent(kalendarEvent); // add changed event + // clone the event to initialize the immutable date used to control moving events + KalendarEvent clonedEvent = getKalendarEvent(getVEvent(kalendarEvent)); + reloadedCal.addEvent(clonedEvent); // add changed event boolean successfullyPersist = persistCalendar(reloadedCal); // inform all controller about calendar change for reload -- GitLab