Index: openacs-4/packages/file-storage/www/file.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/file.tcl,v diff -u -N -r1.35.2.3 -r1.35.2.4 --- openacs-4/packages/file-storage/www/file.tcl 13 May 2016 07:06:24 -0000 1.35.2.3 +++ openacs-4/packages/file-storage/www/file.tcl 11 Apr 2017 05:52:30 -0000 1.35.2.4 @@ -60,20 +60,38 @@ set rename_name [_ file-storage.Rename_File] } -set actions [list \ - [_ file-storage.Upload_Revision] [export_vars -base file-add {file_id return_url}] "Upload a new version of this file" \ - $rename_name [export_vars -base file-edit file_id] "Rename file" \ - [_ file-storage.Copy_File] [export_vars -base copy {{object_id $file_id} return_url}] "Copy file" \ - [_ file-storage.Move_File] [export_vars -base move {{object_id $file_id} {return_url $folder_view_url}}] "Move file" \ - [_ file-storage.Delete_File] [export_vars -base delete {{object_id $file_id} {return_url $folder_view_url}}] "Delete file"] -if {$delete_p == "t"} { +set actions {} + +if {$write_p} { lappend actions \ - [_ file-storage.Set_Permissions] \ - [export_vars -base permissions {{object_id $file_id}}] \ - [_ file-storage.lt_Modify_permissions_on] + [_ file-storage.Upload_Revision] \ + [export_vars -base file-add {file_id return_url}] \ + "Upload a new version of this file" \ + $rename_name \ + [export_vars -base file-edit file_id] \ + "Rename file" } +lappend actions \ + [_ file-storage.Copy_File] \ + [export_vars -base copy {{object_id $file_id} return_url}] \ + "Copy file" \ + [_ file-storage.Move_File] \ + [export_vars -base move {{object_id $file_id} {return_url $folder_view_url}}] \ + "Move file" + +if {$delete_p} { + lappend actions \ + [_ file-storage.Delete_File] \ + [export_vars -base delete {{object_id $file_id} {return_url $folder_view_url}}] \ + "Delete file" \ + [_ file-storage.Set_Permissions] \ + [export_vars -base permissions {{object_id $file_id}}] \ + [_ file-storage.lt_Modify_permissions_on] +} + + template::list::create \ -name version \ -no_data [_ file-storage.lt_There_are_no_versions] \ @@ -124,8 +142,10 @@ } else { set version_url [export_vars -base "download/$title" {file_id}] } - set version_delete [_ file-storage.Delete_Version] - set version_delete_url [export_vars -base version-delete version_id] + if {$delete_p} { + set version_delete [_ file-storage.Delete_Version] + set version_delete_url [export_vars -base version-delete version_id] + } set author_link [acs_community_member_link -user_id $author_id -label $author] } 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 -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/file-storage/www/folder-chunk.tcl 2 Feb 2017 15:15:09 -0000 1.49.2.5 +++ openacs-4/packages/file-storage/www/folder-chunk.tcl 11 Apr 2017 05:52:29 -0000 1.49.2.6 @@ -76,18 +76,20 @@ set cancel_url "[ad_conn url]?[ad_conn query]" set add_url [export_vars -base "${fs_url}file-add" {folder_id}] -lappend actions "#file-storage.Add_File#" \ - [export_vars -base "${fs_url}file-upload-confirm" {folder_id cancel_url {return_url $add_url}}] \ - [_ file-storage.lt_Upload_a_file_in_this] \ - "#file-storage.Create_a_URL#" \ - [export_vars -base "${fs_url}simple-add" {folder_id}] \ - [_ file-storage.lt_Add_a_link_to_a_web_p] \ - "#file-storage.New_Folder#" \ - [export_vars -base "${fs_url}folder-create" {{parent_id $folder_id}}] \ - "#file-storage.Create_a_new_folder#" \ - [_ file-storage.lt_Upload_compressed_fol] \ - [export_vars -base "${fs_url}folder-zip-add" {folder_id}] \ - [_ file-storage.lt_Upload_a_compressed_f] +if {$write_p} { + lappend actions "#file-storage.Add_File#" \ + [export_vars -base "${fs_url}file-upload-confirm" {folder_id cancel_url {return_url $add_url}}] \ + [_ file-storage.lt_Upload_a_file_in_this] \ + "#file-storage.Create_a_URL#" \ + [export_vars -base "${fs_url}simple-add" {folder_id}] \ + [_ file-storage.lt_Add_a_link_to_a_web_p] \ + "#file-storage.New_Folder#" \ + [export_vars -base "${fs_url}folder-create" {{parent_id $folder_id}}] \ + "#file-storage.Create_a_new_folder#" \ + [_ file-storage.lt_Upload_compressed_fol] \ + [export_vars -base "${fs_url}folder-zip-add" {folder_id}] \ + [_ file-storage.lt_Upload_a_compressed_f] +} set expose_rss_p [parameter::get -parameter ExposeRssP -package_id $package_id -default 0] set like_filesystem_p [parameter::get -parameter BehaveLikeFilesystemP -package_id $package_id -default 1] @@ -106,11 +108,14 @@ "#file-storage.Delete_this_folder#" } if {$admin_p} { + if { $root_folder_id ne $folder_id } { + lappend actions \ + "#file-storage.Edit_Folder#" \ + [export_vars -base "${fs_url}folder-edit" {folder_id}] \ + "#file-storage.Rename_this_folder#" + } lappend actions \ - "#file-storage.Edit_Folder#" \ - [export_vars -base "${fs_url}folder-edit" {folder_id}] \ - "#file-storage.Rename_this_folder#" \ - "#file-storage.lt_Modify_permissions_on_1#" \ + "#file-storage.lt_Modify_permissions_on_1#" \ [export_vars -base "${fs_url}permissions" -override {{object_id $folder_id}} {{return_url "[ad_conn url]"}}] \ "#file-storage.lt_Modify_permissions_on_1#" if { $expose_rss_p } { @@ -186,27 +191,28 @@ } set vars_to_export [list return_url] + +set bulk_actions {} if {$allow_bulk_actions} { - set bulk_actions [list [_ file-storage.Move] \ - ${fs_url}move \ - [_ file-storage.lt_Move_Checked_Items_to] \ - [_ file-storage.Copy] \ - ${fs_url}copy \ - [_ file-storage.lt_Copy_Checked_Items_to] \ - [_ file-storage.Delete] \ - ${fs_url}delete \ - [_ file-storage.Delete_Checked_Items] \ - [_ file-storage.Download_ZIP] \ - ${fs_url}download-zip \ - [_ file-storage.Download_ZIP_Checked_Items]] + lappend bulk_actions \ + [_ file-storage.Move] ${fs_url}move [_ file-storage.lt_Move_Checked_Items_to] \ + [_ file-storage.Copy] ${fs_url}copy [_ file-storage.lt_Copy_Checked_Items_to] + + if {$delete_p} { + lappend bulk_actions \ + [_ file-storage.Delete] ${fs_url}delete [_ file-storage.Delete_Checked_Items] + } + + lappend bulk_actions \ + [_ file-storage.Download_ZIP] ${fs_url}download-zip [_ file-storage.Download_ZIP_Checked_Items] + callback fs::folder_chunk::add_bulk_actions \ -bulk_variable "bulk_actions" \ -folder_id $folder_id \ -var_export_list "vars_to_export" -} else { - set bulk_actions "" } + if {$format eq "list"} { set actions {} } @@ -353,8 +359,11 @@ default { set properties_link [_ file-storage.properties] set properties_url [export_vars -base ${fs_url}file {{file_id $object_id}}] - set new_version_link [_ acs-kernel.common_New] - set new_version_url [export_vars -base ${fs_url}file-add {{file_id $object_id}}] + if { [permission::permission_p \ + -object_id $object_id -privilege "write"] } { + set new_version_link [_ acs-kernel.common_New] + set new_version_url [export_vars -base ${fs_url}file-add {{file_id $object_id}}] + } set icon "/resources/file-storage/file.gif" set alt_icon "#file-storage.file#" set download_link [_ file-storage.Download]