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.2 -r1.3 --- openacs-4/packages/dotlrn-ecommerce/lib/tree-chunk.tcl 4 Jun 2005 10:05:17 -0000 1.2 +++ openacs-4/packages/dotlrn-ecommerce/lib/tree-chunk.tcl 9 Jun 2005 05:54:38 -0000 1.3 @@ -17,26 +17,44 @@ set package_id [ad_conn package_id] set user_id [ad_conn user_id] +set cc_package_id [apm_package_id_from_key "dotlrn-catalog"] + +set filters {} + # Generate filters based on categories -set filters { - category_f { - label "[_ dotlrn-catalog.categories]" - values { ${Course Type} } - where_clause { ${Course Type_where_query} } - } - uncat_f { - label "[_ dotlrn-catalog.uncat]" - values { "Watch" } - where_clause { dc.course_id not in ( select object_id from category_object_map where category_id in \ - ( select category_id from categories where tree_id =:tree_id )) - } - } -} +# set filters { +# uncat_f { +# label "[_ dotlrn-catalog.uncat]" +# values { "Watch" } +# where_clause { dc.course_id not in ( select object_id from category_object_map where category_id in \ +# ( select category_id from categories where tree_id =:tree_id )) +# } +# } +# } set filter_list [list category_f] set form [rp_getform] +set category_trees [concat [category_tree::get_mapped_trees $cc_package_id] [category_tree::get_mapped_trees $package_id]] +set course_categories [list] +set section_categories [list] + +foreach tree [category_tree::get_mapped_trees $cc_package_id] { + set tree_name [lindex $tree 1] + regsub -all { } $tree_name _ f + set f [string tolower $f]_f + + ns_log notice "DEBUG:: CATEGORY:: $tree_name" + + lappend filter_list $f + set ff [ns_set get $form $f] + + if { ! [empty_string_p $ff] } { + set $f $ff + } + lappend course_categories [lindex $tree 0] +} foreach tree [category_tree::get_mapped_trees $package_id] { set tree_name [lindex $tree 1] regsub -all { } $tree_name _ f @@ -50,6 +68,7 @@ if { ! [empty_string_p $ff] } { set $f $ff } + lappend section_categories [lindex $tree 0] } ns_log notice "DEBUG:: FILTER:: $filter_list" @@ -72,9 +91,9 @@ } # Get all tree categories -set category_trees [linsert [category_tree::get_mapped_trees $package_id] 0 $tree_id] +#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] -set count 0 foreach tree_id $category_trees { set tree_id [lindex $tree_id 0] @@ -101,12 +120,8 @@ lappend $name [list "${spacer}[lindex "$element" 1]" "[lindex $element 0]&level=[lindex $element 3]" ] } - if { $count == 0 } { - set f category_f - } else { - regsub -all { } $name _ f - set f [string tolower $f]_f - } + regsub -all { } $name _ f + set f [string tolower $f]_f # Get all sub categories set map_tree "(" @@ -138,7 +153,7 @@ append map_tree "0)" } - if { $count == 0 } { + if { [lsearch $course_categories $tree_id] != -1 } { if { [string equal $[set ${f}_category_v] ""] } { set ${name}_where_query "dc.course_id in ( select object_id from category_object_map_tree where tree_id = $tree_id )" } else { @@ -151,10 +166,9 @@ set ${name}_where_query "dec.community_id in ( select object_id from category_object_map_tree where tree_id = $tree_id and category_id in $map_tree )" } } - incr count } -foreach tree [category_tree::get_mapped_trees $package_id] { +foreach tree $category_trees { set tree_name [lindex $tree 1] regsub -all { } $tree_name _ f set f [string tolower $f]_f @@ -281,7 +295,7 @@ label "" display_template { - [_ dotlrn-ecommerce.add_to_cart] + [_ dotlrn-ecommerce.add_to_cart] @@ -299,7 +313,7 @@ label "Group by" type multivar values { - { { [_ dotlrn-ecommerce.info] [_ dotlrn-ecommerce.edit] [_ dotlrn-ecommerce.add_section] + { { [_ dotlrn-ecommerce.info] [_ dotlrn-ecommerce.edit] [_ dotlrn-ecommerce.add_section]
@course_list.course_grades@
@course_list.course_info;noquote@ @@ -315,7 +329,7 @@ where name = 'Grade' } -default 0] -db_multirow -extend { category_name community_url course_edit_url section_edit_url course_grades section_grades sections_url member_p sessions instructors prices } course_list get_courses { } { +db_multirow -extend { category_name community_url course_edit_url section_add_url section_edit_url course_grades section_grades sections_url member_p sessions instructors prices shopping_cart_add_url } course_list get_courses { } { # set mapped [category::get_mapped_categories $course_id] # foreach element $mapped { @@ -326,9 +340,12 @@ set community_url [dotlrn_community::get_community_url $community_id] set return_url [ad_return_url] set course_edit_url [export_vars -base admin/course-add-edit { course_id return_url }] + set section_add_url [export_vars -base admin/section-add-edit { course_id return_url }] set section_edit_url [export_vars -base admin/section-add-edit { course_id section_id return_url }] set sections_url [export_vars -base sections { course_id }] + set shopping_cart_add_url [export_vars -base [apm_package_url_from_key "ecommerce"]shopping-cart-add { product_id }] + set member_p [dotlrn_community::member_p $community_id $user_id] set section_grades ""