Index: openacs-4/contrib/packages/project-manager/tcl/project-manager-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/tcl/Attic/project-manager-procs-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/contrib/packages/project-manager/tcl/project-manager-procs-postgresql.xql 11 Jun 2004 21:11:53 -0000 1.1 +++ openacs-4/contrib/packages/project-manager/tcl/project-manager-procs-postgresql.xql 2 Jul 2004 21:17:04 -0000 1.2 @@ -12,38 +12,28 @@ 7.3 - + - select + SELECT t.name as cat_name, t.category_id as cat_id, - tm.tree_id - from + tm.tree_id, + tt.name as tree_name + FROM category_tree_map tm, categories c, - category_translations t - where + category_translations t, + category_tree_translations tt + WHERE c.tree_id = tm.tree_id and c.category_id = t.category_id and tm.object_id = :package_id and + tm.tree_id = tt.tree_id and c.deprecated_p = 'f' - order - by t.name + ORDER BY + tt.name, + t.name - - - - select - tt.name as tree_name, - tt.tree_id - from - category_tree_map tm, - category_tree_translations tt - where - tm.object_id = :package_id and - tm.tree_id = tt.tree_id - - 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 -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 } Index: openacs-4/contrib/packages/project-manager/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/project-manager/www/Attic/index.tcl,v diff -u -r1.16 -r1.17 --- openacs-4/contrib/packages/project-manager/www/index.tcl 1 Jul 2004 22:56:19 -0000 1.16 +++ openacs-4/contrib/packages/project-manager/www/index.tcl 2 Jul 2004 21:17:04 -0000 1.17 @@ -71,9 +71,15 @@ set export_vars [export_vars -form {status_id orderby}] +if {[exists_and_not_null category_id]} { + set temp_category_id $category_id +} else { + set temp_category_id "" +} + set category_select [pm::util::category_selects \ -export_vars $export_vars \ - -category_id [template::util::nvl category_id ""] \ + -category_id $temp_category_id \ -package_id $package_id \ ]