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 0cf440b82..20fa8ee5e 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 @@ -165,18 +165,9 @@ public class BaseCalendarModel implements IBaseCalendarModel { if (getBaseCalendar() != null) { for (BaseCalendar calendar : baseCalendars) { - if (isEditing()) { - if ((getBaseCalendar().getPreviousCalendar() != null) - && (calendar.getId().equals(getBaseCalendar() - .getPreviousCalendar().getId()))) { - baseCalendars.remove(calendar); - break; - } - } else { - if (calendar.getId().equals(getBaseCalendar().getId())) { - baseCalendars.remove(calendar); - break; - } + if (calendar.getId().equals(getBaseCalendar().getId())) { + baseCalendars.remove(calendar); + break; } } } diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java index 6d8fffc5f..1f708e775 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/calendars/BaseCalendarModelTest.java @@ -7,6 +7,8 @@ import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONF import static org.navalplanner.web.WebappGlobalNames.WEBAPP_SPRING_CONFIG_FILE; import static org.navalplanner.web.test.WebappGlobalNames.WEBAPP_SPRING_CONFIG_TEST_FILE; +import java.util.List; + import org.joda.time.LocalDate; import org.junit.Test; import org.junit.runner.RunWith; @@ -127,4 +129,30 @@ public class BaseCalendarModelTest { assertThat(baseCalendarModel.getBaseCalendars().size(), equalTo(0)); } + @Test + public void testPossibleParentCalendars() throws ValidationException { + baseCalendarModel.initCreate(); + setHours(baseCalendarModel.getBaseCalendar(), 8); + BaseCalendar parent = baseCalendarModel.getBaseCalendar(); + baseCalendarModel.createNewVersion((new LocalDate()).plusMonths(1) + .toDateTimeAtStartOfDay().toDate()); + BaseCalendar parentNewVersion = baseCalendarModel.getBaseCalendar(); + baseCalendarModel.confirmSave(); + + baseCalendarModel.initCreateDerived(parent); + BaseCalendar child = baseCalendarModel.getBaseCalendar(); + baseCalendarModel.confirmSave(); + + baseCalendarModel.initEdit(child); + List possibleParentCalendars = baseCalendarModel + .getPossibleParentCalendars(); + + assertThat(possibleParentCalendars.size(), equalTo(1)); + assertThat(possibleParentCalendars.get(0).getId(), + equalTo(parentNewVersion.getId())); + assertThat( + possibleParentCalendars.get(0).getPreviousCalendar().getId(), + equalTo(parent.getId())); + } + }