Index: openacs-4/packages/file-storage/www/folder-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/folder-delete.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/file-storage/www/folder-delete.tcl 3 Nov 2017 15:11:20 -0000 1.14 +++ openacs-4/packages/file-storage/www/folder-delete.tcl 15 Jun 2018 15:11:04 -0000 1.15 @@ -35,13 +35,15 @@ # Check if there are child items they don't have permission to delete # (Irrelevant at this point because they can't delete folders with # contents at all.) -set blocked_p [ad_decode [children_have_permission_p $folder_id delete] 0 t f] +set blocked_p [expr {![children_have_permission_p $folder_id delete]}] set folder_name [db_string folder_name {}] set child_count [db_string child_count {}] # TODO add child_count to message key +# Message lookup uses variable folder_name +set page_title [_ file-storage.folder_delete_page_title] set context [fs_context_bar_list -final "[_ file-storage.Delete]" $folder_id] set delete_message "[_ file-storage.delete_folder_and_children]" @@ -55,46 +57,18 @@ -form { {delete_message:text(inform) {label ""} {value $delete_message}} } -on_request { - } -on_submit { - if {$blocked_p == "f"} { - # they have confirmed that they want to delete the folder - - callback fs::folder_delete -package_id [ad_conn package_id] -folder_id $folder_id - db_1row parent_id "select parent_id from cr_items where item_id = :folder_id" - - db_exec_plsql folder_delete "" - } - - ad_returnredirect "index?folder_id=$parent_id" - ad_script_abort - } \ - -export {folder_id} + # they have confirmed that they want to delete the folder + set parent_id [db_string parent_id {}] + fs::delete_folder \ + -parent_id $parent_id \ + -folder_id $folder_id + + ad_returnredirect "index?folder_id=$parent_id" + ad_script_abort + } -export {folder_id} -if { $confirmed_p == "t" && $blocked_p == "f" } { - # they have confirmed that they want to delete the folder - fs::delete_folder \ - -folder_id $folder_id - - ad_returnredirect "index?folder_id=$parent_id" - ad_script_abort - -} else { - # they still need to confirm - - set folder_name [db_string folder_name { - select label from cr_folders where folder_id = :folder_id - }] - set child_count [db_string child_count { - select count(ci.item_id) from - (select item_id from cr_items connect by prior item_id=parent_id start with item_id=:folder_id) ci - }] - set context [fs_context_bar_list -final "[_ file-storage.Delete]" $folder_id] -} - -# Message lookup uses variable folder_name -set page_title [_ file-storage.folder_delete_page_title] # Local variables: # mode: tcl # tcl-indent-level: 4