torbenb
committed
on 11 Nov 05
Initial revision
openacs-4/.../content-admin/category-delete.tcl (+19 -16)
1 1 ad_page_contract {
2 2     @author byron Haroldo Linares Roman (bhlr@byronLs-Computer.local)
3 3     @creation-date 2007-08-27
4 4 } {
5 5     tree_id:integer
6 6     category_id:integer,notnull
7 7     {locale ""}
8 8     object_id:integer,optional
9 9     return_url:optional
10 10 }
11 11
12 12 set user_id [ad_conn user_id]
13 13 set package_id [ad_conn package_id]
14 14 permission::require_permission -object_id $package_id -privilege admin
15 15
  16 set delete_p [learning_content::category::delete_p -tree_id $tree_id -category_id $category_id]
  17 if {$delete_p} {
16 18     set tree_list [learning_content::category::get_tree_levels -subtree_id $category_id \
17 19         -tree_id $tree_id]
18 20     set tree_list [linsert $tree_list 0 $category_id]
19 21     foreach category $tree_list {
20 22         set my_category_id [lindex $category 0]
21 23         if {[db_string check_mapped_objects {*SQL*}] eq 1} {
22 24             ad_return_complaint 1 "[_ learning-content.mapped_objects]"
23 25             ad_script_abort
24 26         }
25 27         lappend category_ids $my_category_id
26 28     }
27 29    
28 30     set result [learning_content::category::delete -tree_id $tree_id \
29 31         -category_ids $category_ids]
30 32     if {$result eq 0} {
31 33         ad_return_complaint 1 "[_ learning-content.still_contains_subcategories]"
32 34     }
  35 }