Index: openacs-4/packages/dotlrn-ecommerce/lib/tree-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-ecommerce/lib/tree-chunk.tcl,v diff -u -r1.20 -r1.21 --- openacs-4/packages/dotlrn-ecommerce/lib/tree-chunk.tcl 20 Jul 2005 11:35:33 -0000 1.20 +++ openacs-4/packages/dotlrn-ecommerce/lib/tree-chunk.tcl 20 Jul 2005 16:40:21 -0000 1.21 @@ -94,6 +94,27 @@ #set category_trees [linsert [category_tree::get_mapped_trees $package_id] 0 $tree_id] #set category_trees [category_tree::get_mapped_trees $cc_package_id] +# Display only categories with associated courses/sections +set used_categories [db_list used_categories { + select distinct category_id + from ( + + select category_id + from categories c + where exists (select 1 + from category_object_map + where category_id in (select category_id + from categories + where left_ind > c.left_ind + and right_ind < c.right_ind)) + union + + select category_id + from category_object_map + + ) c +}] + foreach tree_id $category_trees { set tree_id [lindex $tree_id 0] @@ -107,12 +128,14 @@ set $name [list] foreach element $tree_list { - set ident [lindex $element 3] - set spacer "" - for { set i 1 } { $i < $ident } { incr i } { - append spacer ". . " + if { [lsearch $used_categories [lindex $element 0]] != -1 } { + set ident [lindex $element 3] + set spacer "" + for { set i 1 } { $i < $ident } { incr i } { + append spacer ". . " + } + lappend $name [list "${spacer}[lindex "$element" 1]" "[lindex $element 0]&level=[lindex $element 3]" ] } - lappend $name [list "${spacer}[lindex "$element" 1]" "[lindex $element 0]&level=[lindex $element 3]" ] } regsub -all { } $name _ f