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 ""
-
- 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 \
]