Index: openacs-4/packages/imsld/tcl/imsld-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/tcl/imsld-procs.tcl,v diff -u -r1.69 -r1.70 --- openacs-4/packages/imsld/tcl/imsld-procs.tcl 29 Jun 2006 09:27:57 -0000 1.69 +++ openacs-4/packages/imsld/tcl/imsld-procs.tcl 29 Jun 2006 11:21:55 -0000 1.70 @@ -1050,13 +1050,15 @@ from imsld_role_parts where role_part_id = :role_part_id } + # check if the referenced activities have been finished switch $type { learning { if { [db_string completed_from_la { select count(*) from imsld_status_user where completed_id = content_item__get_live_revision(:learning_activity_id) and user_id = :user_id and run_id = :run_id + and status = 'finished' }] } { return 1 } @@ -1067,6 +1069,7 @@ where completed_id = content_item__get_live_revision(:support_activity_id) and user_id = :user_id and run_id = :run_id + and status = 'finished' }] } { return 1 } @@ -1173,6 +1176,7 @@ where completed_id = :play_id and user_id = :user_id and run_id = :run_id + and status = 'finished' }] } @@ -1194,6 +1198,7 @@ where completed_id = :method_id and user_id = :user_id and run_id = :run_id + and status = 'finished' }] } @@ -1215,6 +1220,7 @@ where completed_id = :imsld_id and user_id = :user_id and run_id = :run_id + and status = 'finished' }] } @@ -2353,6 +2359,7 @@ where related_id = :activity_id and user_id = :user_id and run_id = :run_id + and status = 'finished' }] if { $completed_activity_p || [lsearch -exact $next_activity_id_list $activity_id] != -1 && ([string eq $complete_act_id ""] || [string eq $is_visible_p "t"]) } { set activity_node [$dom_doc createElement li] @@ -2392,6 +2399,7 @@ where related_id = :activity_id and user_id = :user_id and run_id = :run_id + and status = 'finished' }] if { $completed_activity_p || [lsearch -exact $next_activity_id_list $activity_id] != -1 && ([string eq $complete_act_id ""] || [string eq $is_visible_p "t"]) } { set activity_node [$dom_doc createElement li] @@ -2887,6 +2895,7 @@ and icr.resource_id = stat.completed_id and user_id = :user_id and run_id = :run_id + and status = 'finished' }] } { # if the resource is not in the imsld_status_user, then the resource is not finished set all_finished_p 0