Index: openacs-4/contrib/packages/project-manager/tcl/project-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/tcl/Attic/project-procs.tcl,v diff -u -r1.6.2.12 -r1.6.2.13 --- openacs-4/contrib/packages/project-manager/tcl/project-procs.tcl 5 Nov 2004 21:08:05 -0000 1.6.2.12 +++ openacs-4/contrib/packages/project-manager/tcl/project-procs.tcl 5 Nov 2004 21:41:42 -0000 1.6.2.13 @@ -757,6 +757,7 @@ set old_EF_j($my_iid) $old_earliest_finish_j set old_LS_j($my_iid) $old_latest_start_j set old_LF_j($my_iid) $old_latest_finish_j + set task_percent_complete($my_iid) $my_percent_complete set activity_time($my_iid) [expr [expr $to_work * [expr 100 - $my_percent_complete] / 100]] @@ -1197,6 +1198,7 @@ # end_date_j is empty when there is no deadline. # So we need to remember that min_latest_start can # be an empty value + set min_latest_start $end_date_j if {[string is true $debug]} { @@ -1272,12 +1274,17 @@ ns_log Notice " my_latest_start: $my_latest_start" } - if {[exists_and_not_null min_latest_start]} { - if {$my_latest_start < $min_latest_start} { + # we also only want to move forward the latest_start + # date if the dependent item is not already completed! + + if {$task_percent_complete($dependent_item) < 100} { + if {[exists_and_not_null min_latest_start]} { + if {$my_latest_start < $min_latest_start} { + set min_latest_start $my_latest_start + } + } else { set min_latest_start $my_latest_start } - } else { - set min_latest_start $my_latest_start } set defer_p f