[Bug #1066] Fixed bug updating calendar exception days.

FEA: ItEr74S04BugFixing
This commit is contained in:
Manuel Rego Casasnovas 2011-05-13 18:16:16 +02:00
parent 95389ffcd4
commit a78a86083c
6 changed files with 26 additions and 7 deletions

View file

@ -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);
}

View file

@ -223,4 +223,10 @@ public class Capacity {
: allowedExtraEffort.multiplyBy(capacity));
}
@Override
public String toString() {
return "[" + getStandardEffortString() + " - " + getExtraEffortString()
+ "]";
}
}

View file

@ -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() {

View file

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

View file

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

View file

@ -114,9 +114,12 @@ public class EffortDurationPicker extends Hbox {
private void updateUIWithValuesFrom(EffortDuration duration) {
EnumMap<Granularity, Integer> 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();
}
}