Index: openacs-4/packages/categories/www/cadmin/category-link-add-3.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/cadmin/category-link-add-3.tcl,v diff -u -N -r1.8 -r1.8.2.1 --- openacs-4/packages/categories/www/cadmin/category-link-add-3.tcl 29 Jun 2018 17:27:18 -0000 1.8 +++ openacs-4/packages/categories/www/cadmin/category-link-add-3.tcl 15 Mar 2019 11:44:09 -0000 1.8.2.1 @@ -17,7 +17,17 @@ permission::require_permission -object_id $tree_id -privilege category_tree_write db_transaction { - foreach link_category_id [db_list check_link_target_permissions ""] { + foreach link_category_id [db_list check_link_target_permissions [subst { + select c.category_id as link_category_id + from categories c + where c.category_id in ([join $link_category_id ,]) + and acs_permission.permission_p(c.tree_id,:user_id,'category_tree_write') = 't' + and c.category_id <> :category_id + and not exists (select 1 + from category_links l + where l.from_category_id = :category_id + and l.to_category_id = c.category_id) + }]] { category_link::add -from_category_id $category_id -to_category_id $link_category_id } } on_error {