Index: openacs-4/packages/categories/tcl/category-trees-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/category-trees-procs.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/categories/tcl/category-trees-procs.tcl 6 Feb 2004 14:06:52 -0000 1.7
+++ openacs-4/packages/categories/tcl/category-trees-procs.tcl 6 Feb 2004 17:19:05 -0000 1.8
@@ -62,6 +62,25 @@
db_exec_plsql unmap_tree ""
}
+ ad_proc -public edit_mapping {
+ -tree_id:required
+ -object_id:required
+ {-assign_single_p f}
+ {-require_category_p f}
+ } {
+ Edit the parameters of a mapped category tree.
+
+ @option tree_id mapped category tree.
+ @option object_id object the category tree is mapped to.
+ @option assign_single_p shows if the user will be allowed to assign multiple
+ categories to objects or only a single one in this subtree.
+ @option require_category_p shows if the user will have to assign at least one
+ category to objects.
+ @author Timo Hentschel (timo@timohentschel.de)
+ } {
+ db_dml edit_mapping ""
+ }
+
ad_proc -public copy {
-source_tree:required
-dest_tree:required
Index: openacs-4/packages/categories/tcl/category-trees-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/tcl/category-trees-procs.xql,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/categories/tcl/category-trees-procs.xql 6 Feb 2004 14:06:52 -0000 1.4
+++ openacs-4/packages/categories/tcl/category-trees-procs.xql 6 Feb 2004 17:19:05 -0000 1.5
@@ -12,6 +12,19 @@
+
+
+
+ update category_tree_map
+ set assign_single_p = :assign_single_p,
+ require_category_p = :require_category_p
+ where tree_id = :tree_id
+ and object_id = :object_id
+
+
+
+
+
Index: openacs-4/packages/categories/www/cadmin/one-object.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/one-object.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/categories/www/cadmin/one-object.tcl 5 Feb 2004 18:58:48 -0000 1.4
+++ openacs-4/packages/categories/www/cadmin/one-object.tcl 6 Feb 2004 17:18:46 -0000 1.5
@@ -26,7 +26,7 @@
set page_title "Category Management"
set context_bar [list $context_bar $page_title]
-template::multirow create mapped_trees tree_name tree_id site_wide_p assign_single_p require_category_p unmap_url
+template::multirow create mapped_trees tree_name tree_id site_wide_p assign_single_p require_category_p unmap_url edit_url
db_foreach get_mapped_trees "" {
set tree_name [category_tree::get_name $tree_id $locale]
@@ -35,7 +35,8 @@
}
template::multirow append mapped_trees $tree_name $tree_id $site_wide_p \
$assign_single_p $require_category_p \
- [export_vars -no_empty -base tree-unmap { tree_id locale object_id }]
+ [export_vars -no_empty -base tree-unmap { tree_id locale object_id }] \
+ [export_vars -no_empty -base tree-map { tree_id locale object_id {edit_p 1}}]
}
@@ -66,10 +67,11 @@
required) optional)
}
}
- unmap {
+ action {
label "Action"
display_template {
- Unmap
+ Unmap
+ Edit parameters
}
}
}
@@ -87,7 +89,7 @@
(Site-Wide Tree)
}
}
- map {
+ action {
label "Action"
display_template {
Map tree
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.2 -r1.3
--- openacs-4/packages/categories/www/cadmin/tree-map.tcl 1 Feb 2004 19:12:52 -0000 1.2
+++ openacs-4/packages/categories/www/cadmin/tree-map.tcl 6 Feb 2004 17:18:47 -0000 1.3
@@ -13,8 +13,7 @@
{category_id:integer,optional ""}
{locale ""}
object_id:integer,notnull
- {assign_single_p:optional f}
- {require_category_p:optional f}
+ {edit_p 0}
}
set user_id [ad_maybe_redirect_for_registration]
@@ -25,21 +24,35 @@
permission::require_permission -object_id $tree_id -privilege category_tree_read
}
-set context_bar [list [category::get_object_context $object_id] [list [export_vars -base one-object {locale object_id}]" "Category Management"]]
+set context_bar [list [category::get_object_context $object_id] [list [export_vars -base one-object {locale object_id}]" "Category Management"] "Mapping Parameters"]
+if {$edit_p} {
+ # parameters are edited, so get old data
+ db_1row get_mapped_subtree_id ""
+}
+
if {[empty_string_p $category_id]} {
- lappend context_bar "Map tree"
- set page_title "Confirm mapping tree \"$tree(tree_name)\""
+ set page_title "Parameters of mapping to tree \"$tree(tree_name)\""
} else {
- lappend context_bar "Map subtree"
- set page_title "Confirm mapping subtree \"$tree(tree_name) :: [category::get_name $category_id $locale]\""
+ set page_title "Parameters of mapping to subtree \"$tree(tree_name) :: [category::get_name $category_id $locale]\""
}
-ad_form -name tree_map_form -action tree-map -export { tree_id category_id locale object_id } -form {
- {assign_single_p:text(radio) {label "Let users assign multiple categories?"} {value f} {options {{"Yes" f} {"No" t}}}}
- {require_category_p:text(radio) {label "Require users to assign at least one category?"} {value f} {options {{"Yes" t} {"No" f}}}}
+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
+ }
} -on_submit {
- 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
+ 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 -base one-object {locale object_id}]
ad_script_abort
Index: openacs-4/packages/categories/www/cadmin/tree-map.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/Attic/tree-map.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/categories/www/cadmin/tree-map.xql 6 Feb 2004 17:18:47 -0000 1.1
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+ select subtree_category_id as category_id
+ from category_tree_map
+ where tree_id = :tree_id
+ and object_id = :object_id
+
+
+
+
+
+
+
+
+ select assign_single_p, require_category_p
+ from category_tree_map
+ where tree_id = :tree_id
+ and object_id = :object_id
+
+
+
+
+
+