ItEr56S13AdaptacionServiciosRESTItEr55S07: Modified calendar UI to allow work week changes in the past.

This commit is contained in:
Manuel Rego Casasnovas 2010-04-27 16:44:05 +02:00 committed by Javier Moran Rua
parent c23f79ca26
commit 592ca70a1f
5 changed files with 28 additions and 26 deletions

View file

@ -687,12 +687,22 @@ public class BaseCalendar extends IntegrationEntity implements IWorkHours {
return isLastVersion(new LocalDate(date));
}
public boolean isFirstVersion(Date date) {
return isFirstVersion(new LocalDate(date));
}
public boolean isLastVersion(LocalDate date) {
CalendarData calendarData = getCalendarData(date);
Integer index = calendarDataVersions.indexOf(calendarData);
return (index == (calendarDataVersions.size() - 1));
}
public boolean isFirstVersion(LocalDate date) {
CalendarData calendarData = getCalendarData(date);
Integer index = calendarDataVersions.indexOf(calendarData);
return (index == 0);
}
/**
* Returns a set of non workable days (0 hours) for a specific period
* depending on the calendar restrictions.

View file

@ -196,19 +196,6 @@ public abstract class BaseCalendarEditionController extends
return baseCalendarModel.isDerived();
}
public boolean isDateValidFromPast() {
if (!isEditing()) {
return false;
}
Date dateValidFrom = baseCalendarModel.getDateValidFrom();
if (dateValidFrom != null) {
return isPast(dateValidFrom);
}
return true;
}
private boolean isPast(Date date) {
LocalDate localDate = new LocalDate(date);
LocalDate currentLocalDate = new LocalDate();
@ -262,9 +249,7 @@ public abstract class BaseCalendarEditionController extends
});
if (isDateValidFromPast()) {
hoursIntbox.setDisabled(true);
} else if (baseCalendarModel.isDerived()
if (baseCalendarModel.isDerived()
&& baseCalendarModel.isDefault(day)) {
hoursIntbox.setDisabled(true);
}
@ -302,10 +287,6 @@ public abstract class BaseCalendarEditionController extends
});
if (isDateValidFromPast()) {
defaultCheckbox.setDisabled(true);
}
defaultListcell.appendChild(defaultCheckbox);
item.appendChild(defaultListcell);
}
@ -674,9 +655,7 @@ public abstract class BaseCalendarEditionController extends
LocalDate validFrom = baseCalendarModel.getValidFrom(calendarData);
if ((validFrom == null)
|| (!baseCalendarModel.getLastCalendarData().equals(
calendarData))
|| (validFrom.compareTo(
new LocalDate()) <= 0)) {
calendarData))) {
result.setDisabled(true);
}
return result;
@ -723,6 +702,10 @@ public abstract class BaseCalendarEditionController extends
return baseCalendarModel.isLastVersion();
}
public boolean isFirstVersion() {
return baseCalendarModel.isFirstVersion();
}
public void goToDate(Date date) {
setSelectedDay(date);

View file

@ -432,6 +432,14 @@ public class BaseCalendarModel implements IBaseCalendarModel {
return false;
}
@Override
public boolean isFirstVersion() {
if (getBaseCalendar() != null) {
return getBaseCalendar().isFirstVersion(selectedDate);
}
return false;
}
@Override
public String getName() {
if (getBaseCalendar() != null) {

View file

@ -150,6 +150,8 @@ public interface IBaseCalendarModel {
boolean isLastVersion();
boolean isFirstVersion();
String getName();
LocalDate getValidFrom(CalendarData calendarData);

View file

@ -174,8 +174,7 @@
<vbox>
<label value="@{calendarController.editionController.calendarType}" />
<combobox id="parentCalendars"
visible="@{calendarController.editionController.isDerived}"
disabled="@{calendarController.editionController.isDateValidFromPast}">
visible="@{calendarController.editionController.isDerived}">
<comboitem self="@{each='baseCalnedar'}" value="@{baseCalnedar}"
label="@{baseCalnedar.name}" />
</combobox>
@ -185,7 +184,7 @@
<hbox visible="@{calendarController.editionController.isEditing}">
<label value="${i18n:_('Valid from')}" />
<datebox id="dateValidFrom" value="@{calendarController.editionController.dateValidFrom}"
disabled="@{calendarController.editionController.isDateValidFromPast}" />
disabled="@{calendarController.editionController.isFirstVersion}" />
<label value="${i18n:_('to')}" />
<datebox id="expiringDate" value="@{calendarController.editionController.expiringDate}"
disabled="@{calendarController.editionController.isLastVersion}" />