ItEr23S08CUEdicionCalendarioLaboral: Allowing navigation between versions through the selected dates on the right calendar.

This commit is contained in:
Manuel Rego Casasnovas 2009-08-27 20:07:32 +02:00 committed by Óscar González Fernández
parent b64b8f1aae
commit c14afa2b1a
3 changed files with 10 additions and 15 deletions

View file

@ -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

View file

@ -81,13 +81,10 @@
<hbox visible="@{controller.isEditing}">
<label value="${i18n:_('Valid from')}" />
<datebox id="dateValidFrom" value="@{controller.dateValidFrom}" />
<label value="${i18n:_('to')}" />
<datebox value="@{controller.expiringDate}" />
</hbox>
<!-- hbox>
<label value="${i18n:_('Expiring date')}" />
<datebox value="@{controller.expiringDate}" disabled="true" />
</hbox -->
<hbox>
<button onClick="controller.save();"
label="${arg.save_button_label}" />

View file

@ -72,8 +72,7 @@ public class BaseCalendarModelTest {
baseCalendarModel.confirmSave();
assertThat(baseCalendarModel.getBaseCalendars().size(), equalTo(1));
assertThat(baseCalendarModel.getBaseCalendars().get(0)
.getPreviousCalendar().getId(),
assertThat(baseCalendarModel.getBaseCalendars().get(0).getId(),
equalTo(baseCalendar.getId()));
assertThat(baseCalendarModel.getBaseCalendars().get(0).getHours(
Days.MONDAY), equalTo(4));