From 3a305615e790a6b666bd9cdb1876e29285f72072 Mon Sep 17 00:00:00 2001 From: Ignacio Diaz Teijido Date: Fri, 17 Feb 2012 16:16:58 +0100 Subject: [PATCH] Bug #1375: Added a constraint for 24 hours and 0 minutes FEA: ItEr76S04BugFixing --- .../BaseCalendarEditionController.java | 2 ++ .../components/EffortDurationPicker.java | 28 +++++++++++++++++++ .../CalendarExceptionTypeCRUDController.java | 1 + 3 files changed, 31 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java index 4b38ad100..d5ff6aa1b 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/calendars/BaseCalendarEditionController.java @@ -181,6 +181,7 @@ public abstract class BaseCalendarEditionController extends Component extraEffortRow = comp.getFellow("exceptionDayExtraEffortBox"); EffortDurationPicker normalDuration = findOrCreateDurationPicker(normalEffortRow); + normalDuration.initializeFor24HoursAnd0Minutes(); EffortDurationPicker extraDuration = findOrCreateDurationPicker(extraEffortRow); Checkbox checkbox = findOrCreateUnlimitedCheckbox(extraEffortRow); return CapacityPicker.workWith(checkbox, normalDuration, extraDuration, @@ -347,6 +348,7 @@ public abstract class BaseCalendarEditionController extends addLabelCell(item, day); EffortDurationPicker normalDurationPicker = new EffortDurationPicker(); + normalDurationPicker.initializeFor24HoursAnd0Minutes(); EffortDurationPicker extraDurationPicker = new EffortDurationPicker(); Checkbox unlimitedCheckbox = createUnlimitedCheckbox(); diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/components/EffortDurationPicker.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/components/EffortDurationPicker.java index 88518f030..7b9176d40 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/components/EffortDurationPicker.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/components/EffortDurationPicker.java @@ -89,6 +89,34 @@ public class EffortDurationPicker extends Hbox { spinner.setConstraint(spinnerConstraint); } + public void initializeFor24HoursAnd0Minutes() { + minutes.addEventListener(Events.ON_CHANGE, new EventListener() { + public void onEvent(Event event) throws Exception { + setRangeFor24HoursAnd0Minutes(); + } + }); + hours.addEventListener(Events.ON_CHANGE, new EventListener() { + public void onEvent(Event event) throws Exception { + setRangeFor24HoursAnd0Minutes(); + } + }); + } + + private void setRangeFor24HoursAnd0Minutes() { + SimpleSpinnerConstraint spinnerConstraint = new SimpleSpinnerConstraint(); + spinnerConstraint.setMin(0); + if (minutes.getValue() == null || minutes.getValue().intValue() == 0) + spinnerConstraint.setMax(24); + else { + SimpleSpinnerConstraint spinnerConstraintMinutes = new SimpleSpinnerConstraint(); + spinnerConstraintMinutes.setMin(0); + spinnerConstraintMinutes.setMax(59); + minutes.setConstraint(spinnerConstraintMinutes); + spinnerConstraint.setMax(23); + } + hours.setConstraint(spinnerConstraint); + } + private void setMinFor(Spinner spinner, int min) { SimpleSpinnerConstraint spinnerConstraint = new SimpleSpinnerConstraint(); spinnerConstraint.setMin(min); diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/exceptionDays/CalendarExceptionTypeCRUDController.java b/libreplan-webapp/src/main/java/org/libreplan/web/exceptionDays/CalendarExceptionTypeCRUDController.java index fd3741fb4..08deec2ad 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/exceptionDays/CalendarExceptionTypeCRUDController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/exceptionDays/CalendarExceptionTypeCRUDController.java @@ -152,6 +152,7 @@ public class CalendarExceptionTypeCRUDController extends tbName = (Textbox) editWindow.getFellowIfAny("tbName"); overAssignable = Util.findComponentAt(editWindow, "overAssignable"); standardEffort = Util.findComponentAt(editWindow, "standardEffort"); + standardEffort.initializeFor24HoursAnd0Minutes(); extraEffort = Util.findComponentAt(editWindow, "extraEffort"); }