Index: openacs-4/packages/xowiki/tcl/includelet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/includelet-procs.tcl,v diff -u -r1.91 -r1.92 --- openacs-4/packages/xowiki/tcl/includelet-procs.tcl 26 Jan 2009 19:33:26 -0000 1.91 +++ openacs-4/packages/xowiki/tcl/includelet-procs.tcl 29 Jan 2009 15:05:18 -0000 1.92 @@ -628,11 +628,32 @@ {-order_items_by "title,asc"} {-category_ids ""} {-except_category_ids ""} + {-allow_edit false} {-ordered_composite} }} } + categories instproc category_tree_missing {{-name ""} -object_id -locale {-allow_edit false}} { + # todo i18n + # next steps: handle allow_edit for cases, where category tree was found + if {$name eq ""} { + set msg "No category tree found." + } else { + set msg "No category tree with name '$name' found." + } + [my package_id] flush_page_fragment_cache -scope agg + set allow_p [::xo::cc permission -object_id $object_id -privilege admin -party_id [::xo::cc user_id]] + if {$allow_edit && $allow_p} { + set href "admin/manage_categories?object_id=$object_id" + set html [[my set __including_page] include [list edit-item-button -link $href]] + return "
$msg
Manage Categories? $html" + } else { + my log $msg + return "
$msg
" + } + } + categories instproc render {} { my get_parameters @@ -653,16 +674,16 @@ # we have nothing left from mapped trees, maybe the tree_names are not mapped; # try to get these foreach name $tree_name { - #lappend trees [list [lindex [category_tree::get_id $tree_name $locale] 0] $name] - lappend trees [list [lindex [category_tree::get_id $tree_name] 0] $name] + #set tree_id [lindex [category_tree::get_id $tree_name $locale] 0] + set tree_id [lindex [category_tree::get_id $tree_name] 0] + if {$tree_id ne ""} { + lappend trees [list $tree_id $name] + } } } if {[llength $trees] == 0} { - my log "No mapped category tree found\n\ - (mapped trees = [llength $trees],\n\ - tree_name = '$tree_name')" - return "" + return [my category_tree_missing -name $name -object_id $package_id -locale $locale -allow_edit $allow_edit] } foreach tree $trees { @@ -2342,6 +2363,7 @@ {-title "#xowiki.edit#"} {-alt "edit"} {-book_mode false} + {-link ""} }} } @@ -2358,7 +2380,7 @@ append return_url #[toc anchor [$page name]] } return [my render_button \ - -page $page -method edit -package_id $package_id \ + -page $page -method edit -package_id $package_id -link $link \ -title $title -alt $alt -return_url $return_url] }