Index: openacs-4/packages/expenses/tcl/apm-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/expenses/tcl/apm-callback-procs.tcl,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/expenses/tcl/apm-callback-procs.tcl	24 Jun 2005 04:24:52 -0000	1.5
+++ openacs-4/packages/expenses/tcl/apm-callback-procs.tcl	4 Aug 2005 06:51:55 -0000	1.6
@@ -13,9 +13,11 @@
     -package_id
     -node_id
 } {
-    create the category tree for expenses
+    create the categories for expenses
     
 } {
     set tree_id [category_tree::add -name "Expense Codes"]
     category_tree::map -tree_id $tree_id -object_id $package_id
+    set tree_id [category_tree::add -name "Expense Types"]
+    category_tree::map -tree_id $tree_id -object_id $package_id
 }
Index: openacs-4/packages/expenses/tcl/expenses-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/expenses/tcl/expenses-procs.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/expenses/tcl/expenses-procs.tcl	16 Jul 2005 13:02:36 -0000	1.6
+++ openacs-4/packages/expenses/tcl/expenses-procs.tcl	4 Aug 2005 06:51:55 -0000	1.7
@@ -43,13 +43,51 @@
 	Return comma separated list of expense codes given an expense id
 } {
 	set expense_codes ""
-	set categories [category::get_mapped_categories $id]
-	foreach category_id $categories {
-		append expense_codes "[category::get_name $category_id]"
+	# Get category tree id of expense code
+	set package_id [expenses::get_package_id]
+	set tree_list [category_tree::get_mapped_trees $package_id]
+	foreach tree $tree_list {
+		if { [lindex $tree 1] == "Expense Codes"} {
+			set tree_id [lindex $tree 0]
+		}
 	}
-	return [join $expense_codes ", "]
+	if { [exists_and_not_null tree_id] } {
+		set categories [category::get_mapped_categories -tree_id $tree_id $id]
+		foreach category_id $categories {
+			append expense_codes "[category::get_name $category_id]"
+		}
+		return [join $expense_codes ", "]
+	} else {
+		return ""
+	}
 }
 
+ad_proc list_expense_types {
+	{-id:required }
+} {
+	HAM (hamilton.chua@gmail.com)
+	Return comma separated list of expense types given an expense id
+} {
+	set expense_types ""
+	# Get category tree id of expense type
+	set package_id [expenses::get_package_id]
+	set tree_list [category_tree::get_mapped_trees $package_id]
+	foreach tree $tree_list {
+		if { [lindex $tree 1] == "Expense Types"} {
+			set tree_id [lindex $tree 0]
+		}
+	}	
+	if { [exists_and_not_null tree_id] } {
+		set categories [category::get_mapped_categories -tree_id $tree_id $id]
+		foreach category_id $categories {
+			append expense_types "[category::get_name $category_id]"
+		}
+		return [join $expense_types ", "]
+	} else {
+		return ""
+	}
+}
+
 ad_proc list_terms {
 	{-id:required }
 } {
Index: openacs-4/packages/expenses/www/admin/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/expenses/www/admin/index.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/expenses/www/admin/index.adp	24 Jun 2005 13:05:39 -0000	1.2
+++ openacs-4/packages/expenses/www/admin/index.adp	4 Aug 2005 06:51:55 -0000	1.3
@@ -1,6 +1,6 @@
 <master>
 <property name="title">@title@</property>
 
-<a href="/categories/cadmin/one-object?object_id=@object_id@">Administer Expense Codes</a><br /><br />
+<a href="/categories/cadmin/one-object?object_id=@object_id@">Administer Expense Categories</a><br /><br />
 
 <listtemplate name="expenses"></listtemplate>
Index: openacs-4/packages/expenses/www/admin/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/expenses/www/admin/index.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/expenses/www/admin/index.tcl	16 Jul 2005 13:02:36 -0000	1.6
+++ openacs-4/packages/expenses/www/admin/index.tcl	4 Aug 2005 06:51:55 -0000	1.7
@@ -55,6 +55,9 @@
 	expense_codes {
 		label "Expense Codes"
 	}
+	expense_types {
+		label "Expense Types"
+	}
 	terms {
 		label "Term"
 	}
@@ -67,12 +70,13 @@
 
 set orderby_clause "[template::list::orderby_clause -name expenses -orderby]"
 
-db_multirow -extend {course expense_codes terms } expenses get_expenses { } {
+db_multirow -extend {course expense_codes expense_types terms } expenses get_expenses { } {
 	# retrieve course/section for this expense
 	if { [db_0or1row "section_info" "select section_name, course_id from dotlrn_ecommerce_section where community_id =:community_id"] } {
 		set course_name [db_string "getcoursename" "select course_name from dotlrn_catalog where course_id = (select latest_revision from cr_items where item_id =:course_id)"]
 		set course "$course_name/$section_name"
 		set expense_codes [expenses::list_expense_codes -id $exp_id]
+		set expense_types [expenses::list_expense_types -id $exp_id]
 		set terms [expenses::list_terms -id $exp_id]
 	}
 }
\ No newline at end of file