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.9 -r1.10 --- openacs-4/packages/imsld/tcl/imsld-procs.tcl 23 Nov 2005 11:06:33 -0000 1.9 +++ openacs-4/packages/imsld/tcl/imsld-procs.tcl 23 Nov 2005 17:41:43 -0000 1.10 @@ -168,14 +168,14 @@ ) } - if { [db_0or1row referenced_p { + db_foreach referencer_structure { select ias.structure_id, ias.item_id as structure_item_id from acs_rels ar, imsld_activity_structuresi ias, cr_items cri where ar.object_id_one = ias.item_id and ar.object_id_two = cri.item_id and cri.live_revision = :element_id - }] } { + } { # if this activity is part of an activity structure, let's check if the rest of referenced # activities are finished too, so we can mark finished the activity structure as well set scturcture_finished_p 1 @@ -283,8 +283,8 @@ where item_id = :object_id_two and content_revision__is_live(activity_id) = 't' } - if { ![db_0or1row completed_p { - select 1 + if { ![db_string completed_p { + select count(*) from imsld_status_user where completed_id = :learning_activity_id }] && ( [string eq "" $min_sort_order] || $sort_order < $min_sort_order ) } { @@ -302,8 +302,8 @@ where item_id = :object_id_two and content_revision__is_live(activity_id) = 't' } - if { ![db_0or1row completed_p { - select 1 + if { ![db_string completed_p { + select count(*) from imsld_status_user where completed_id = :support_activity_id }] && ( [string eq "" $min_sort_order] || $sort_order < $min_sort_order ) } { @@ -322,8 +322,8 @@ and content_revision__is_live(structure_id) = 't' } - if { ![db_0or1row completed_p { - select 1 + if { ![db_string completed_p { + select count(*) from imsld_status_user where completed_id = :structure_id }] && ( [string eq "" $min_sort_order] || $sort_order < $min_sort_order ) } { @@ -869,7 +869,7 @@ where fs.live_revision = :imsld_file_id }] set file_url "[apm_package_url_from_id $fs_package_id]view/${file_url}" - append files_lis " $file_name " + append files_lis " $file_name " } } } @@ -957,7 +957,11 @@ if { [string eq "" $one_activity_urls] } { lappend activity_items_list "[_ imsld.lt_li_desc_no_file_assoc]" } else { - set activity_items_list [concat [list $activity_items_list] [list $one_activity_urls]] + if { [llength $activity_items_list] } { + set activity_items_list [concat $activity_items_list [list $one_activity_urls]] + } else { + set activity_items_list [list $one_activity_urls] + } } } if_no_rows { ns_log notice "[_ imsld.lt_li_desc_no_file_assoc]" @@ -1042,7 +1046,11 @@ if { [string eq "" $one_activity_urls] } { lappend activity_items_list "[_ imsld.lt_li_desc_no_file_assoc]" } else { - set activity_items_list [concat [list $activity_items_list] [list $one_activity_urls]] + if { [llength $activity_items_list] } { + set activity_items_list [concat $activity_items_list [list $one_activity_urls]] + } else { + set activity_items_list [list $one_activity_urls] + } } } if_no_rows { ns_log notice "[_ imsld.lt_li_desc_no_file_assoc]" @@ -1446,12 +1454,17 @@ append environments "" regsub -all {
  • [ ]*
  • } $environments "" environments } + set files "" + if { [llength [lindex $activities_list 3]] } { + set files "[join [lindex $activities_list 3] "
    "]" + regsub -all {
  • [ ]*
  • } $files "" files + } template::multirow append imsld_multirow $prerequisites \ $objectives \ $environments \ $activity_title \ - [join [lindex $activities_list 3] "
    "] \ + $files \ {} \ "finish" }