Changeset 17785

Show
Ignore:
Timestamp:
07/25/08 10:56:18 (1 month ago)
Author:
sjmittal
Message:

fix for bfd 5778, 5779, 5780, 5781
TaskEdit?.jsp:
1. reset to again load the task from db
2. value change should always fire ajax call
ScheduleEntryDurationModifier?.java:
set the work complete also to be zero

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/src/net/project/schedule/calc/ScheduleEntryDurationModifier.java

    r17101 r17785  
    132132            if (newDuration.isZero()) { 
    133133                scheduleEntry.setWork(new TimeQuantity(0, scheduleEntry.getWorkTQ().getUnits())); 
     134                scheduleEntry.setWorkComplete(new TimeQuantity(0, scheduleEntry.getWorkCompleteTQ().getUnits())); 
    134135            } 
    135136            scheduleEntry.calculateEndDate(this.workingTimeCalendarProvider); 
     
    227228            // If the new duration is zero, we set work to zero (keeping same units) 
    228229            if (newDuration.isZero()) { 
    229                 this.scheduleEntry.setWork(new TimeQuantity(0, TimeQuantityUnit.HOUR)); 
     230                scheduleEntry.setWork(new TimeQuantity(0, scheduleEntry.getWorkTQ().getUnits())); 
     231                scheduleEntry.setWorkComplete(new TimeQuantity(0, scheduleEntry.getWorkCompleteTQ().getUnits())); 
    230232            } 
    231233 
  • trunk/core/web/jsp/schedule/TaskEdit.jsp

    r17781 r17785  
    245245 
    246246function reset() { 
    247         theForm.reset(); 
    248     document.getElementById("errorLocationID").innerHTML = ""; 
    249     var errorElts = Ext.DomQuery.select(".errorMessage"); 
    250     if(errorElts) { 
    251         for(i in errorElts) { 
    252             if(errorElts[i])  
    253                 errorElts[i].innerHTML = ""; 
    254         } 
    255     } 
    256     changeFixedElement(); 
    257     milestoneChecked(); 
    258     goSubmit = true; 
     247<% if (action.equals(String.valueOf(Action.CREATE))) { %> 
     248    var theLocation='<%=baseUrl + "/servlet/ScheduleController/TaskCreate?module=" + net.project.base.Module.SCHEDULE + "&action=" + net.project.security.Action.CREATE%>&refLink=<%=(refLink != null && refLink.length() > 0) ? refLink : ""%>'; 
     249        self.location = theLocation; 
     250<% } else if(action.equals(String.valueOf(Action.VIEW))) { %>  
     251    var theLocation='<%=baseUrl + "/servlet/ScheduleController/TaskEdit?module=" + net.project.base.Module.SCHEDULE + "&action=" + net.project.security.Action.VIEW + "&id=" + scheduleEntry.getID()%>&refLink=<%=(refLink != null && refLink.length() > 0) ? refLink : ""%>'; 
     252        self.location = theLocation; 
     253<%}%> 
    259254} 
    260255 
     
    286281 
    287282        // Now do a round-trip since no date is required 
    288         if (!ignoreOnChangeEvents && (getSelectedValue(document.getElementById("constraintTypeID")) != document.getElementById("constraintTypeIDHidden").value)) { 
     283        if (!ignoreOnChangeEvents) { 
    289284            recalculateForConstraintChange(); 
    290285        } 
     
    340335    toggleTimeWarningHelp(true); 
    341336 
    342     if (!ignoreOnChangeEvents && (document.getElementById("constraintDateString").value != document.getElementById("constraintDateStringHidden").value)) { 
     337    if (!ignoreOnChangeEvents) { 
    343338        recalculateForConstraintChange(); 
    344339    } 
     
    351346    var percentCompleteValueCell = document.getElementById("percentCompleteValueCell"); 
    352347 
    353     //Deal with percent complete field being disabled or enabled 
    354     //sjmittal: moved to milestoneChecked 
    355  
    356348        var workCompleteValue = getWorkHours(parseFloat(removeSeparator(theForm.work_complete.value)),parseInt(getSelectedValue(document.getElementById("work_complete_units")))); 
    357349        var workValue = getWorkHours(parseFloat(removeSeparator(theForm.work.value)), parseInt(getSelectedValue(document.getElementById("work_units")))); 
    358 //      if (theForm.work.value == '0') { 
    359 //          theForm.work_complete.value = '0'; 
    360 //      } 
    361350        if (workCompleteValue > workValue) {                             
    362351                errorHandler(theForm.work, '<%=PropertyProvider.get("prm.schedule.taskedit.error.moreworkcomplete.message")%>'); 
    363352        theForm.work.value = document.getElementById("workHidden").value; 
    364353        theForm.work.focus(); 
    365         } else if (!ignoreOnChangeEvents && (document.getElementById("work").value != document.getElementById("workHidden").value)) { 
    366         // Only if user changed the value and it is different 
     354        } else if (!ignoreOnChangeEvents) { 
    367355        recalculateForWorkChange(); 
    368356    } 
     
    372360    goSubmit = true; 
    373361    // Only if user changed the value 
    374     if (!ignoreOnChangeEvents && (getSelectedValue(document.getElementById("work_units")) != document.getElementById("work_unitsHidden").value)) { 
     362    if (!ignoreOnChangeEvents) { 
    375363                var workCompleteValue = getWorkHours(parseFloat(removeSeparator(theForm.work_complete.value)),parseInt(getSelectedValue(document.getElementById("work_complete_units")))); 
    376364                var workValue = getWorkHours(parseFloat(removeSeparator(theForm.work.value)), parseInt(getSelectedValue(document.getElementById("work_units")))); 
    377 //              if (theForm.work.value == '0') { 
    378 //                      theForm.work_complete.value = '0'; 
    379 //              } 
    380365                if (workCompleteValue > workValue) {     
    381366                        errorHandler(theForm.work, '<%=PropertyProvider.get("prm.schedule.taskedit.error.moreworkcomplete.message")%>'); 
     
    391376        var workCompleteValue = getWorkHours(parseFloat(removeSeparator(theForm.work_complete.value)),parseInt(getSelectedValue(document.getElementById("work_complete_units")))); 
    392377        var workValue = getWorkHours(parseFloat(removeSeparator(theForm.work.value)), parseInt(getSelectedValue(document.getElementById("work_units")))); 
    393 //    if (theForm.work.value == '0') { 
    394 //      theForm.work_complete.value = '0'; 
    395 //    } 
    396378        if (workCompleteValue > workValue) {                             
    397379                errorHandler(theForm.work_complete, '<%=PropertyProvider.get("prm.schedule.taskedit.error.moreworkcomplete.message")%>'); 
    398380        theForm.work_complete.value = document.getElementById("work_completeHidden").value; 
    399381        theForm.work_complete.focus(); 
    400         } else if (!ignoreOnChangeEvents && (document.getElementById("work_complete").value != document.getElementById("work_completeHidden").value)) { 
    401                 // Only if user changed the value and it is different 
     382        } else if (!ignoreOnChangeEvents) { 
    402383        recalculateForWorkCompleteChange(); 
    403384        } 
     
    417398function workCompleteUnitsChanged() { 
    418399    goSubmit = true; 
    419     // Only if user changed the value 
    420     if (!ignoreOnChangeEvents && (getSelectedValue(document.getElementById("work_complete_units")) != document.getElementById("work_complete_unitsHidden").value)) { 
     400    if (!ignoreOnChangeEvents) { 
    421401                var workCompleteValue = getWorkHours(parseFloat(removeSeparator(theForm.work_complete.value)),parseInt(getSelectedValue(document.getElementById("work_complete_units")))); 
    422402                var workValue = getWorkHours(parseFloat(removeSeparator(theForm.work.value)), parseInt(getSelectedValue(document.getElementById("work_units")))); 
    423 //              if (theForm.work.value == '0') { 
    424 //                      theForm.work_complete.value = '0'; 
    425 //              } 
    426403                if (workCompleteValue > workValue) {                             
    427404                        errorHandler(theForm.work_complete, '<%=PropertyProvider.get("prm.schedule.taskedit.error.moreworkcomplete.message")%>'); 
     
    435412function workPercentCompleteChanged() { 
    436413        goSubmit = true; 
    437     //sjmittal: why??!! milestone has work = 0 but some work percent complete 
    438 //    if (theForm.work.value == '0') {  
    439 //      theForm.work_percent_complete.value = '0%'; 
    440 //    } 
    441         // Only if user changed the value 
    442         if (!ignoreOnChangeEvents && (document.getElementById("work_percent_complete").value != document.getElementById("work_percent_completeHidden"))) { 
     414        if (!ignoreOnChangeEvents) { 
    443415                recalculateForWorkPercentCompleteChange(); 
    444416        } 
     
    494466    var startTimeHiddenElement = document.getElementById("startTimeHidden"); 
    495467 
    496     if (!ignoreOnChangeEvents && (startTimeElement.value != startTimeHiddenElement.value)) { 
     468    if (!ignoreOnChangeEvents) { 
    497469        if (!verifyConstraintChange(true)) { 
    498470            startTimeElement.value = startTimeHiddenElement.value; 
     
    522494    var endTimeHiddenElement = document.getElementById("endTimeHidden"); 
    523495 
    524     if (!ignoreOnChangeEvents && (endTimeElement.value != endTimeHiddenElement.value)) { 
     496    if (!ignoreOnChangeEvents) { 
    525497        if (!verifyConstraintChange(false)) { 
    526498            endTimeElement.value = endTimeHiddenElement.value; 
     
    579551function durationChanged() { 
    580552    goSubmit = true; 
    581     // Only if user changed the value and it is different 
    582     if (!ignoreOnChangeEvents && (document.getElementById("duration").value != document.getElementById("durationHidden"))) { 
     553    if (!ignoreOnChangeEvents) { 
    583554        recalculateForDurationChange(); 
    584555    } 
     
    587558function durationUnitsChanged() { 
    588559    goSubmit = true; 
    589     // Only if user changed the value 
    590     if (!ignoreOnChangeEvents && (getSelectedValue(document.getElementById("duration_units")) != document.getElementById("duration_unitsHidden"))) { 
     560    if (!ignoreOnChangeEvents) { 
    591561        recalculateForDurationChange(); 
    592562    }