Index: openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/tcl/Attic/project-manager-procs.tcl,v diff -u -N -r1.11 -r1.12 --- openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl 30 Jun 2004 21:29:30 -0000 1.11 +++ openacs-4/contrib/packages/project-manager/tcl/project-manager-procs.tcl 2 Jul 2004 21:17:04 -0000 1.12 @@ -450,19 +450,19 @@ set package_id [ad_conn package_id] } - # caches results for 5 minutes. - return [util_memoize [list pm::util::category_selects_helper -export_vars $export_vars -category_id $category_id -package_id $package_id] 300] + # caches results for 2.5 minutes. + return [util_memoize [list pm::util::category_selects_not_cached -export_vars $export_vars -category_id $category_id -package_id $package_id] 300] } -ad_proc -public pm::util::category_selects_helper { +ad_proc -private pm::util::category_selects_not_cached { {-export_vars ""} {-category_id ""} -package_id:required } { - Returns an HTML fragment of forms, one for each - category tree, suitable for use on a page. This proc + Returns an HTML fragment of category choices, suitable + for use on a page. This proc is used so that pm::util::category_selects can cache the categories @@ -480,42 +480,36 @@ # Categories are arranged into category trees. # Set up an array for each tree. The array contains the category for each tree + set category_select "" + set number_of_categories 0 + set last_tree "" + set category_select "" + db_foreach get_categories { } { - lappend category_choices($tree_id) [list $cat_name $cat_id] - } - - set category_select "" - - foreach tree_list [db_list_of_lists get_category_trees { }] { - - set tree_name [lindex $tree_list 0] - set tree_id [lindex $tree_list 1] - - if {![exists_and_not_null category_choices($tree_id)]} { - set category_choices($tree_id) [list] + if {![string equal $tree_name $last_tree] } { + append category_select "" } - - - append category_select "
$export_vars $tree_name:
$category_select" + + append return_val "
" - append category_select "" - - return $category_select + return $return_val }