diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarModel.java index cbce5f758..2c91180de 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarModel.java @@ -74,14 +74,6 @@ public class BaseCalendarModel implements IBaseCalendarModel { Validate.notNull(baseCalendar); this.baseCalendar = getFromDB(baseCalendar); - try { - this.baseCalendar = this.baseCalendar.newVersion(); - } catch (IllegalArgumentException e) { - LocalDate expiringDate = this.baseCalendar.getPreviousCalendar() - .getExpiringDate(); - this.baseCalendar = this.baseCalendar.newVersion(expiringDate - .plusDays(1)); - } forceLoadHoursPerDayAndExceptionDays(this.baseCalendar); } @@ -198,8 +190,15 @@ public class BaseCalendarModel implements IBaseCalendarModel { } @Override + @Transactional(readOnly = true) public void setSelectedDay(Date date) { this.selectedDate = date; + + BaseCalendar validCalendar = baseCalendar.getCalendarVersion(date); + if (!validCalendar.equals(baseCalendar)) { + baseCalendar = validCalendar; + forceLoadHoursPerDayAndExceptionDays(baseCalendar); + } } @Override diff --git a/navalplanner-webapp/src/main/webapp/calendars/_edition.zul b/navalplanner-webapp/src/main/webapp/calendars/_edition.zul index 2becee26f..0286517a4 100644 --- a/navalplanner-webapp/src/main/webapp/calendars/_edition.zul +++ b/navalplanner-webapp/src/main/webapp/calendars/_edition.zul @@ -81,13 +81,10 @@ - -