Index: openacs-4/packages/file-storage/www/folder-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/folder-chunk.tcl,v diff -u -r1.25 -r1.26 --- openacs-4/packages/file-storage/www/folder-chunk.tcl 20 Apr 2004 21:13:40 -0000 1.25 +++ openacs-4/packages/file-storage/www/folder-chunk.tcl 17 May 2004 15:15:14 -0000 1.26 @@ -16,6 +16,9 @@ ad_return_complaint 1 [_ file-storage.lt_bad_folder_id_folder_] ad_script_abort } +if {![exists_and_not_null allow_bulk_actions]} { + set allow_bulk_actions "0" +} set viewing_user_id [ad_conn user_id] @@ -51,42 +54,47 @@ set root_folder_id [fs::get_root_folder] } -set folder_path [db_exec_plsql get_folder_path {}] +if {![string equal $root_folder_id $folder_id]} { + set folder_path [db_exec_plsql get_folder_path {}] +} else { + set folder_path "" +} set actions [list] # for now, invite users to upload, and then they will be asked to # login if they are not. - lappend actions "Upload File" file-add?[export_vars folder_id] "Upload a file in this folder" "Add Link" simple-add?[export_vars folder_id] "Add a link to a web page" "\#file-storage.New_Folder\#" folder-create?[export_vars {{parent_id $folder_id}}] "\#file-storage.Create_a_new_folder\#" +lappend actions "\#file-storage.Add_File\#" ${fs_url}file-add?[export_vars folder_id] "Upload a file in this folder" "\#file-storage.Create_a_URL\#" ${fs_url}simple-add?[export_vars folder_id] "Add a link to a web page" "\#file-storage.New_Folder\#" ${fs_url}folder-create?[export_vars {{parent_id $folder_id}}] "\#file-storage.Create_a_new_folder\#" if {$delete_p} { - lappend actions "Delete Folder" folder-delete?[export_vars folder_id] "Delete folder" + lappend actions "\#file-storage.Delete_this_folder\#" ${fs_url}folder-delete?[export_vars folder_id] "\#file-storage.Delete_this_folder\#" } if {$admin_p} { set return_url [ad_conn url] - lappend actions "Rename Folder" "folder-edit?folder_id=$folder_id" "Change the name of this folder" - lappend actions "Folder Permissions" "/permissions/one?[export_vars -override {{object_id $folder_id}} {return_url}]" "Change the permissions of this folder" + lappend actions "\#file-storage.Edit_Folder\#" "${fs_url}folder-edit?folder_id=$folder_id" "\#file-storage.Rename_this_folder\#" + lappend actions "\#file-storage.lt_Modify_permissions_on_1\#" "/permissions/one?[export_vars -override {{object_id $folder_id}} {return_url}]" "\#file-storage.lt_Modify_permissions_on_1\#" } #set n_past_filter_values [list [list "Yesterday" 1] [list [_ file-storage.last_week] 7] [list [_ file-storage.last_month] 30]] set elements [list icon \ [list label "" \ - display_template {#file-storage.@contents.type@#}] \ + display_template {#file-storage.@contents.pretty_type@#}] \ name \ [list label [_ file-storage.Name] \ - link_url_col file_url \ + display_template {@contents.name@
@contents.file_upload_name@} \ orderby_desc {fs_objects.name desc} \ orderby_asc {fs_objects.name asc}] \ content_size_pretty \ [list label [_ file-storage.Size] \ orderby_desc {content_size desc} \ orderby_asc {content_size asc}] \ type [list label [_ file-storage.Type] \ - orderby_desc {type desc} \ - orderby_asc {type asc}] \ + display_col pretty_type \ + orderby_desc {(sort_key = 0),pretty_type desc} \ + orderby_asc {sort_key, pretty_type asc}] \ last_modified_pretty \ [list label [_ file-storage.Last_Modified] \ orderby_desc {last_modified_ansi desc} \ @@ -96,11 +104,18 @@ link_url_col properties_url] ] +if {$allow_bulk_actions} { + set bulk_actions [list "Move" "move" "Move Checked Items to Another Folder" "Copy" "copy" "Copy Checked Items to Another Folder" "Delete" "delete" "Delete Checked Items"] +} else { + set bulk_actions "" +} + template::list::create \ -name contents \ -multirow contents \ -key object_id \ -actions $actions \ + -bulk_actions $bulk_actions \ -filters { folder_id {hide_p 1} } \ @@ -114,13 +129,20 @@ db_multirow -extend { label icon last_modified_pretty content_size_pretty properties_link properties_url} contents select_folder_contents {} { set last_modified_ansi [lc_time_system_to_conn $last_modified_ansi] - + set last_modified_pretty [lc_time_fmt $last_modified_ansi "%x %X"] - set content_size_pretty [lc_numeric $content_size] if {[string equal $type "folder"]} { + set content_size_pretty [lc_numeric $content_size] append content_size_pretty " [_ file-storage.items]" + set pretty_type "Folder" } else { - append content_size_pretty " [_ file-storage.bytes]" + set type [string trimleft [file extension $file_upload_name] . ] + if {$content_size < 1024} { + set content_size_pretty "[lc_numeric $content_size] [_ file-storage.bytes]" + } else { + set content_size_pretty "[lc_numeric [expr $content_size / 1024 ]] [_ file-storage.kb]" + } + } set file_upload_name [fs::remove_special_file_system_characters -string $file_upload_name] @@ -137,19 +159,19 @@ set properties_link "" set properties_url "" set icon "/resources/file-storage/folder.gif" - set file_url "index?[export_vars {{folder_id $object_id}}]" + set file_url "${fs_url}index?[export_vars {{folder_id $object_id}}]" } url { set properties_link [_ file-storage.properties] - set properties_url "simple?[export_vars object_id]" + set properties_url "${fs_url}simple?[export_vars object_id]" set icon "/resources/url-button.gif" - set file_url ${url} + set file_url ${fs_url}${url} } default { set properties_link [_ file-storage.properties] - set properties_url "file?[export_vars {{file_id $object_id}}]" + set properties_url "${fs_url}file?[export_vars {{file_id $object_id}}]" set icon "/resources/file-storage/file.gif" - set file_url "view/${file_url}" + set file_url "${fs_url}view/${file_url}" } }