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