Index: openacs-4/packages/ajax-filestorage-ui/www/resources/ajaxfs.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ajax-filestorage-ui/www/resources/ajaxfs.js,v diff -u -r1.3 -r1.4 --- openacs-4/packages/ajax-filestorage-ui/www/resources/ajaxfs.js 8 Sep 2007 14:32:55 -0000 1.3 +++ openacs-4/packages/ajax-filestorage-ui/www/resources/ajaxfs.js 22 Sep 2007 03:32:38 -0000 1.4 @@ -908,10 +908,11 @@ var callback = function(option,success,response) { var error_msg_txt = acs_lang_text.new_folder_error || "Sorry, there was an error trying to create your new folder."; if(success) { - if (!isNaN(parseInt(response.responseText))) { - if(parseInt(response.responseText) != 0) { + if (response.responseText) { + var result_obj = eval(response.responseText); + if(parseInt(result_obj[0].id) != 0) { // create a new blank node on the currently selected one - var newnode = currentTreeNode.appendChild(new Ext.tree.TreeNode({text:acs_lang_text.new_folder_label || 'New Folder',id:response.responseText,iconCls:'folder',singleClickExpand:true,attributes:{write_p:'t'}})); + var newnode = currentTreeNode.appendChild(new Ext.tree.TreeNode({text:result_obj[0].pretty_folder_name,id:result_obj[0].id,iconCls:'folder',singleClickExpand:true,attributes:{write_p:'t'}})); tree.getSelectionModel().select(newnode); newnode.loaded=true; newnode.fireEvent("click",newnode); Index: openacs-4/packages/ajax-filestorage-ui/www/xmlhttp/newblankfolder.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ajax-filestorage-ui/www/xmlhttp/Attic/newblankfolder.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/ajax-filestorage-ui/www/xmlhttp/newblankfolder.tcl 8 Sep 2007 14:32:56 -0000 1.1 +++ openacs-4/packages/ajax-filestorage-ui/www/xmlhttp/newblankfolder.tcl 22 Sep 2007 03:32:38 -0000 1.2 @@ -32,20 +32,27 @@ set result 0 -set folder_name "New Folder" set description "" +set pretty_folder_name "New Folder" +set folder_name [string tolower [util_text_to_url -text $pretty_folder_name]] +set file_exists [db_string "count_existing" "select count(*) from cr_items where name like '$folder_name%' and parent_id=:folder_id"] +if { $file_exists != 0 } { + append folder_name "_$file_exists" + append pretty_folder_name " ($file_exists)" +} + db_transaction { set new_folder_id [fs::new_folder \ - -name [ns_rand] \ - -pretty_name $folder_name \ + -name $folder_name \ + -pretty_name $pretty_folder_name \ -parent_id $folder_id \ -creation_user $user_id \ -creation_ip [ad_conn peeraddr] \ -description $description] - set result $new_folder_id + set result "\[{\"id\":\"$new_folder_id\",\"pretty_folder_name\":\"$pretty_folder_name\"}\]" } on_error {