Index: openacs-4/packages/categories/www/cadmin/tree-map.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/tree-map.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/categories/www/cadmin/tree-map.tcl 9 Feb 2004 19:48:44 -0000 1.4 +++ openacs-4/packages/categories/www/cadmin/tree-map.tcl 11 Feb 2004 09:35:31 -0000 1.5 @@ -1,61 +1,59 @@ ad_page_contract { - - Asks whether users will be allowed to assign multiple - categories of this subtree to objects and if users - have to categorize an object in this subtree. - Then assings this subtree to the passed object (usually a package_id). + Lets user select a category to map a subtree. @author Timo Hentschel (timo@timohentschel.de) @cvs-id $Id: } { - tree_id:integer,notnull - {category_id:integer,optional ""} + tree_id:integer {locale ""} object_id:integer,notnull - {edit_p 0} +} -properties { + page_title:onevalue + context_bar:onevalue + locale:onevalue + tree:multirow } set user_id [ad_maybe_redirect_for_registration] permission::require_permission -object_id $object_id -privilege admin -array set tree [category_tree::get_data $tree_id $locale] -if {$tree(site_wide_p) == "f"} { +array set tree_data [category_tree::get_data $tree_id $locale] +set tree_name $tree_data(tree_name) +if {$tree_data(site_wide_p) == "f"} { permission::require_permission -object_id $tree_id -privilege category_tree_read } -set context_bar [list [category::get_object_context $object_id] [list [export_vars -no_empty -base one-object {locale object_id}]" "Category Management"] "Mapping Parameters"] +set page_title "Select subtree of \"$tree_name\" to map" -if {$edit_p} { - # parameters are edited, so get old data - db_1row get_mapped_subtree_id "" -} +set context_bar [list [category::get_object_context $object_id] [list [export_vars -no_empty -base one-object {locale object_id}] "Category Management"] "Map subtree"] -if {[empty_string_p $category_id]} { - set page_title "Parameters of mapping to tree \"$tree(tree_name)\"" -} else { - set page_title "Parameters of mapping to subtree \"$tree(tree_name) :: [category::get_name $category_id $locale]\"" +template::multirow create tree category_id category_name level left_indent map_url + +foreach category [category_tree::get_tree -all $tree_id $locale] { + util_unlist $category category_id category_name deprecated_p level + + template::multirow append tree $category_id $category_name $level \ + [string repeat " " [expr ($level-1)*5]] \ + [export_vars -no_empty -base tree-map-2 { category_id tree_id locale object_id }] } -ad_form -name tree_map_form -action tree-map -export { tree_id category_id locale object_id edit_p } -form { - {assign_single_p:text(radio) {label "Let users assign multiple categories?"} {options {{"Yes" f} {"No" t}}}} - {require_category_p:text(radio) {label "Require users to assign at least one category?"} {options {{"Yes" t} {"No" f}}}} -} -on_request { - if {$edit_p} { - db_1row get_mapping_parameters "" - } else { - set assign_single_p f - set require_category_p f +template::list::create \ + -name tree \ + -no_data "None" \ + -elements { + category_name { + label "Name" + display_template { + @tree.left_indent;noquote@ @tree.category_name@ + } + } + map { + label "Action" + display_template { + Map this subtree + } + } } -} -on_submit { - if {$edit_p} { - category_tree::edit_mapping -tree_id $tree_id -object_id $object_id -assign_single_p $assign_single_p -require_category_p $require_category_p - } else { - category_tree::map -tree_id $tree_id -subtree_category_id $category_id -object_id $object_id -assign_single_p $assign_single_p -require_category_p $require_category_p - } -} -after_submit { - ad_returnredirect [export_vars -no_empty -base one-object {locale object_id}] - ad_script_abort -} ad_return_template