Index: openacs-4/packages/categories/categories.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/categories.info,v diff -u -N -r1.20 -r1.21 --- openacs-4/packages/categories/categories.info 7 Aug 2017 23:48:05 -0000 1.20 +++ openacs-4/packages/categories/categories.info 31 Jan 2018 08:23:12 -0000 1.21 @@ -10,7 +10,7 @@ t categories - + timo@timohentschel.de Manage categories in category trees and let users map objects to categories. 2017-08-06 @@ -19,7 +19,7 @@ GPL 1 - + Index: openacs-4/packages/categories/tcl/categories-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/categories-procs.tcl,v diff -u -N -r1.30 -r1.31 --- openacs-4/packages/categories/tcl/categories-procs.tcl 7 Aug 2017 23:48:05 -0000 1.30 +++ openacs-4/packages/categories/tcl/categories-procs.tcl 31 Jan 2018 08:23:12 -0000 1.31 @@ -67,6 +67,37 @@ return $category_id } +ad_proc -public category::get { + -category_id:required + {-locale ""} +} { + + Get name and description for a category_id in the given or + connection's locale. If for the combination of category and locale + no entry in category_translations exists, then empty is returned. + + @option category_id category_id of the category to be queried. + @option locale locale of the language. [ad_conn locale] used by default. + @return list of attribute value pairs containing name and description +} { + if {$locale eq ""} { + set locale [ad_conn locale] + } + + if {[db_0or1row category_get { + select name, description + from category_translations + where category_id = :category_id + and locale = :locale + }]} { + set result [list name $name description $description] + } else { + set result "" + } + return $result +} + + ad_proc -public category::update { -category_id:required -name:required Index: openacs-4/packages/categories/www/cadmin/category-form.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/category-form.tcl,v diff -u -N -r1.12 -r1.13 --- openacs-4/packages/categories/www/cadmin/category-form.tcl 7 Aug 2017 23:48:05 -0000 1.12 +++ openacs-4/packages/categories/www/cadmin/category-form.tcl 31 Jan 2018 08:23:12 -0000 1.13 @@ -43,16 +43,29 @@ set name "" set description "" } -edit_request { - if {![db_0or1row check_translation_existence ""]} { - set default_locale [parameter::get -parameter DefaultLocale -default en_US] - db_1row get_default_translation "" + set category_info [category::get \ + -category_id $category_id \ + -locale [parameter::get -parameter DefaultLocale -default en_US]] + if {$category_info ne ""} { + set description [dict get $category_info description] + set name [dict get $category_info name] } } -on_submit { set description [util_close_html_tags $description 4000] } -new_data { - category::add -category_id $category_id -tree_id $tree_id -parent_id $parent_id -locale $language -name $name -description $description + category::add \ + -category_id $category_id \ + -tree_id $tree_id \ + -parent_id $parent_id \ + -locale $language \ + -name $name \ + -description $description } -edit_data { - category::update -category_id $category_id -locale $language -name $name -description $description + category::update \ + -category_id $category_id \ + -locale $language \ + -name $name \ + -description $description } -after_submit { ad_returnredirect [export_vars -no_empty -base tree-view {tree_id locale object_id ctx_id}] ad_script_abort