diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java index 714a146f5..3cbfd1641 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/company/CompanyPlanningModel.java @@ -97,6 +97,7 @@ import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener; import org.zkoss.ganttz.timetracker.zoom.ZoomLevel; import org.zkoss.ganttz.util.Interval; import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.WrongValueException; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; @@ -383,11 +384,21 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel { vbox.removeChild(child); vbox.appendChild(getEarnedValueChartConfigurableLegend( earnedValueChartFiller, date)); + dateInfutureMessage(datebox); } }); } + private void dateInfutureMessage(Datebox datebox) { + Date value = datebox.getValue(); + Date today = LocalDate.fromDateFields(new Date()) + .toDateTimeAtStartOfDay().toDate(); + if (value != null && (value.compareTo(today) > 0)) { + throw new WrongValueException(datebox, _("date in future")); + } + } + public static void appendLoadChartAndLegend(Tabpanel loadChartPannel, Timeplot loadChart) { Hbox hbox = new Hbox(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java index a1e209249..b9be77bc6 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/OrderPlanningModel.java @@ -772,6 +772,15 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { }; } + private void dateInfutureMessage(Datebox datebox) { + Date value = datebox.getValue(); + Date today = LocalDate.fromDateFields(new Date()) + .toDateTimeAtStartOfDay().toDate(); + if (value != null && (value.compareTo(today) > 0)) { + throw new WrongValueException(datebox, _("date in future")); + } + } + private void appendEventListenerToDateboxIndicators( final OrderEarnedValueChartFiller earnedValueChartFiller, final Vbox vbox, final Datebox datebox) { @@ -785,6 +794,7 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { vbox.removeChild(child); vbox.appendChild(getEarnedValueChartConfigurableLegend( earnedValueChartFiller, date)); + dateInfutureMessage(datebox); } });