Skip to content
Snippets Groups Projects
Commit 987775cd authored by srosse's avatar srosse
Browse files

OO-941: clean up event's id before sending them to fullcalendar, and update...

OO-941: clean up event's id before sending them to fullcalendar, and update the equals methods to match the cleaned up ids
parent 3e27c83a
No related branches found
No related tags found
No related merge requests found
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
*/ */
package org.olat.commons.calendar.ui.components; package org.olat.commons.calendar.ui.components;
import java.text.Normalizer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
...@@ -128,7 +129,7 @@ public class FullCalendarComponent extends Component { ...@@ -128,7 +129,7 @@ public class FullCalendarComponent extends Component {
public KalendarEvent getKalendarEvent(String id) { public KalendarEvent getKalendarEvent(String id) {
for(KalendarRenderWrapper cal:calWrappers) { for(KalendarRenderWrapper cal:calWrappers) {
for(KalendarEvent event:cal.getKalendar().getEvents()) { for(KalendarEvent event:cal.getKalendar().getEvents()) {
if(id.equals(event.getID())) { if(id.equals(normalizeId(event.getID()))) {
return event; return event;
} }
} }
...@@ -139,7 +140,7 @@ public class FullCalendarComponent extends Component { ...@@ -139,7 +140,7 @@ public class FullCalendarComponent extends Component {
public KalendarRenderWrapper getKalendarRenderWrapperOf(String id) { public KalendarRenderWrapper getKalendarRenderWrapperOf(String id) {
for(KalendarRenderWrapper cal:calWrappers) { for(KalendarRenderWrapper cal:calWrappers) {
for(KalendarEvent event:cal.getKalendar().getEvents()) { for(KalendarEvent event:cal.getKalendar().getEvents()) {
if(id.equals(event.getID())) { if(id.equals(normalizeId(event.getID()))) {
return cal; return cal;
} }
} }
...@@ -181,4 +182,11 @@ public class FullCalendarComponent extends Component { ...@@ -181,4 +182,11 @@ public class FullCalendarComponent extends Component {
public void setKalendars(List<KalendarRenderWrapper> calendarWrappers) { public void setKalendars(List<KalendarRenderWrapper> calendarWrappers) {
this.calWrappers = new ArrayList<KalendarRenderWrapper>(calendarWrappers); this.calWrappers = new ArrayList<KalendarRenderWrapper>(calendarWrappers);
} }
protected static final String normalizeId(String id) {
String normalizedId = Normalizer.normalize(id, Normalizer.Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+","")
.replaceAll("\\W+", "");
return normalizedId;
}
} }
...@@ -139,7 +139,7 @@ public class FullCalendarMapper implements Mapper { ...@@ -139,7 +139,7 @@ public class FullCalendarMapper implements Mapper {
private JSONObject getJSONEvent(KalendarEvent event, KalendarRenderWrapper cal) throws JSONException { private JSONObject getJSONEvent(KalendarEvent event, KalendarRenderWrapper cal) throws JSONException {
JSONObject jsonEvent = new JSONObject(); JSONObject jsonEvent = new JSONObject();
jsonEvent.put("id", event.getID()); jsonEvent.put("id", FullCalendarComponent.normalizeId(event.getID()));
jsonEvent.put("title", event.getSubject()); jsonEvent.put("title", event.getSubject());
jsonEvent.put("allDay", new Boolean(event.isAllDayEvent())); jsonEvent.put("allDay", new Boolean(event.isAllDayEvent()));
if(StringHelper.containsNonWhitespace(cal.getKalendarConfig().getCss())) { if(StringHelper.containsNonWhitespace(cal.getKalendarConfig().getCss())) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment