From c14afa2b1aa13b3a7a5eaa98cafe1d9e9fa3f4b8 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Thu, 27 Aug 2009 20:07:32 +0200 Subject: [PATCH] ItEr23S08CUEdicionCalendarioLaboral: Allowing navigation between versions through the selected dates on the right calendar. --- .../web/calendars/BaseCalendarModel.java | 15 +++++++-------- .../src/main/webapp/calendars/_edition.zul | 7 ++----- .../web/calendars/BaseCalendarModelTest.java | 3 +-- 3 files changed, 10 insertions(+), 15 deletions(-) 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 @@ - -