Author: DavidK Date: 2010-02-24 21:24:29 +0100 (Wed, 24 Feb 2010) New Revision: 1857 Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java Log: one more fix to the modal planning Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java 2010-02-24 19:48:59 UTC (rev 1856) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/PlanningModalBean.java 2010-02-24 20:24:29 UTC (rev 1857) @@ -304,31 +304,37 @@ private void prepareFormDates(boolean modifying) { Date now = new Date(); - Date leftBorder = rect.getRealFrom(); + Date leftBorderReal = rect.getRealFrom(); + Date leftBorderRect = rect.getFrom(); Date rightBorder = rect.getRealTo(); Integer defaultLength = PropertyManager.getDefaultPlanningPeriod(); if (!modifying) { // calculate borders - if (leftBorder == null || now.after(leftBorder)) { - // set left border to now - leftBorder = now; + if (leftBorderReal == null || now.after(leftBorderReal)) { + // dateFrom cannot be in past, trim to the 'now' date at least + leftBorderReal = now; } + if (leftBorderRect.after(now)) { + // dateFrom should be at the beginning of selected time window + // (now is in the previous time window) + leftBorderReal = leftBorderRect; + } if (rightBorder == null) { // set right border to now + CONST - rightBorder = new Date(leftBorder.getTime()+defaultLength*msInDay); + rightBorder = new Date(leftBorderReal.getTime()+defaultLength*msInDay); } } // set times and dates - formShowStart = leftBorder; + formShowStart = leftBorderReal; formShowStartTime = formShowStart; formShowEnd = rightBorder; formShowEndTime = formShowEnd; - // store actual NOW date (for purpose of unability to plan to the past) + // keep actual 'NOW' date (for purpose of unability to plan to the past) Calendar cal = Calendar.getInstance(); cal.setTime(now); cal.add(Calendar.MINUTE, -1);