diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java index bee300db2..8dd4299fb 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java @@ -258,7 +258,8 @@ public class BaseCalendar extends IntegrationEntity implements ICalendar { public void updateExceptionDay(LocalDate date, Capacity capacity, CalendarExceptionType type) throws IllegalArgumentException { removeExceptionDay(date); - CalendarException day = CalendarException.create(date, capacity, type); + CalendarException day = CalendarException.create("", date, capacity, + type); addExceptionDay(day); } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java index 8ffb27d40..0195140b9 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java @@ -223,4 +223,10 @@ public class Capacity { : allowedExtraEffort.multiplyBy(capacity)); } + @Override + public String toString() { + return "[" + getStandardEffortString() + " - " + getExtraEffortString() + + "]"; + } + } \ No newline at end of file diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java index deedb222e..35af3f72c 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/BaseCalendarEditionController.java @@ -38,14 +38,14 @@ import java.util.Map; import org.apache.commons.lang.StringUtils; import org.joda.time.LocalDate; import org.navalplanner.business.calendars.entities.BaseCalendar; +import org.navalplanner.business.calendars.entities.BaseCalendar.DayType; import org.navalplanner.business.calendars.entities.CalendarAvailability; import org.navalplanner.business.calendars.entities.CalendarData; +import org.navalplanner.business.calendars.entities.CalendarData.Days; import org.navalplanner.business.calendars.entities.CalendarException; import org.navalplanner.business.calendars.entities.CalendarExceptionType; import org.navalplanner.business.calendars.entities.Capacity; import org.navalplanner.business.calendars.entities.ResourceCalendar; -import org.navalplanner.business.calendars.entities.BaseCalendar.DayType; -import org.navalplanner.business.calendars.entities.CalendarData.Days; import org.navalplanner.business.workingday.EffortDuration; import org.navalplanner.business.workingday.EffortDuration.Granularity; import org.navalplanner.web.common.IMessagesForUser; @@ -491,8 +491,7 @@ public abstract class BaseCalendarEditionController extends dateboxStartDate.setValue(toDate(selectedDay)); Datebox dateboxEndDate = (Datebox) window.getFellow("exceptionEndDate"); dateboxEndDate.setValue(toDate(selectedDay)); - capacityPicker.setValue(Capacity.create(baseCalendarModel - .getWorkableTime())); + capacityPicker.setValue(baseCalendarModel.getWorkableCapacity()); } private void highlightDaysOnCalendar() { 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 639a5e75f..3bfca59c0 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 @@ -263,6 +263,14 @@ public class BaseCalendarModel extends IntegrationEntityModel implements PartialDay.wholeDay(selectedDate)); } + @Override + public Capacity getWorkableCapacity() { + if (getBaseCalendar() == null) { + return null; + } + return getBaseCalendar().getCapacityWithOvertime(selectedDate); + } + @Override public DayType getTypeOfDay() { if (getBaseCalendar() == null) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/IBaseCalendarModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/IBaseCalendarModel.java index dc2358dbd..8e076db08 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/IBaseCalendarModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/calendars/IBaseCalendarModel.java @@ -27,13 +27,13 @@ import java.util.Set; import org.joda.time.LocalDate; import org.navalplanner.business.calendars.entities.BaseCalendar; +import org.navalplanner.business.calendars.entities.BaseCalendar.DayType; import org.navalplanner.business.calendars.entities.CalendarAvailability; import org.navalplanner.business.calendars.entities.CalendarData; +import org.navalplanner.business.calendars.entities.CalendarData.Days; import org.navalplanner.business.calendars.entities.CalendarException; import org.navalplanner.business.calendars.entities.CalendarExceptionType; import org.navalplanner.business.calendars.entities.Capacity; -import org.navalplanner.business.calendars.entities.BaseCalendar.DayType; -import org.navalplanner.business.calendars.entities.CalendarData.Days; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.workingday.EffortDuration; import org.navalplanner.web.common.IIntegrationEntityModel; @@ -114,6 +114,8 @@ public interface IBaseCalendarModel extends IIntegrationEntityModel { EffortDuration getWorkableTime(); + Capacity getWorkableCapacity(); + void createException(CalendarExceptionType type, LocalDate startDate, LocalDate endDate, Capacity capacity); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/EffortDurationPicker.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/EffortDurationPicker.java index dc46557f2..4bb9c92bb 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/EffortDurationPicker.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/EffortDurationPicker.java @@ -114,9 +114,12 @@ public class EffortDurationPicker extends Hbox { private void updateUIWithValuesFrom(EffortDuration duration) { EnumMap values = duration.decompose(); hours.setValue(values.get(Granularity.HOURS)); + hours.invalidate(); minutes.setValue(values.get(Granularity.MINUTES)); + minutes.invalidate(); if (withseconds) { seconds.setValue(values.get(Granularity.SECONDS)); + seconds.invalidate(); } }