Index: openacs-4/packages/file-storage/www/move-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/Attic/move-oracle.xql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/file-storage/www/move-oracle.xql 10 May 2004 02:40:30 -0000 1.1.2.1 +++ openacs-4/packages/file-storage/www/move-oracle.xql 10 May 2004 19:29:02 -0000 1.1.2.2 @@ -13,6 +13,16 @@ 8.1.6 + + + select fs.object_id, fs.name, + acs_permission.permission_p(fs.object_id, :user_id, 'write') as move_p + from fs_objects fs + where fs.object_id in ([template::util::tcl_to_sql_list $object_id]) + order by move_p + + + select content_item.move( Index: openacs-4/packages/file-storage/www/move-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/Attic/move-postgresql.xql,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/file-storage/www/move-postgresql.xql 10 May 2004 02:40:30 -0000 1.1.2.1 +++ openacs-4/packages/file-storage/www/move-postgresql.xql 10 May 2004 19:29:02 -0000 1.1.2.2 @@ -13,6 +13,16 @@ 7.2 + + + select fs.object_id, fs.name, + acs_permission__permission_p(fs.object_id, :user_id, 'write') as move_p + from fs_objects fs + where fs.object_id in ([template::util::tcl_to_sql_list $object_id]) + order by move_p + + + select content_item__move( Index: openacs-4/packages/file-storage/www/move.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/move.adp,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/file-storage/www/move.adp 10 May 2004 02:40:30 -0000 1.1.2.1 +++ openacs-4/packages/file-storage/www/move.adp 10 May 2004 19:29:02 -0000 1.1.2.2 @@ -1,5 +1,16 @@ @title@ @context@ -

#file-storage.lt_Select_the_folder_tha_1#

+ + + Moving @allowed_count@ items. + @not_allowed_count@ items can not be moved + + + + + +

#file-storage.lt_Select_the_folder_tha_1#

+
+ No valid items to be moved. \ No newline at end of file Index: openacs-4/packages/file-storage/www/move.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/move.tcl,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/file-storage/www/move.tcl 10 May 2004 02:40:30 -0000 1.1.2.1 +++ openacs-4/packages/file-storage/www/move.tcl 10 May 2004 19:29:02 -0000 1.1.2.2 @@ -11,18 +11,43 @@ folder_id:integer,optional {return_url ""} {redirect_to_folder:boolean 0} + {show_items:boolean 0} } set user_id [ad_conn user_id] +set allowed_count 0 +set not_allowed_count 0 + +db_multirow -extend {move_message} move_objects get_move_objects "" { + if {$move_p} { + set move_message "" + incr allowed_count + } else { + set move_message "Not Allowed" + incr not_allowed_count + } + +} + +set total_count [template::multirow size move_objects] + +if {$not_allowed_count > 0} { + set show_items 1 +} + if {[info exists folder_id]} { permission::require_permission \ -party_id $user_id \ -object_id $folder_id \ -privilege "write" - # FIXME check READ permission on every item - foreach one_item $object_id { + + # check for WRTIE permission on each object to be moved + # DaveB: I think it should be DELETE instead of WRITE + # but the existing file-move page checks for WRITE + + template::multirow::foreach move_objects { db_exec_plsql move_item {} } @@ -32,13 +57,22 @@ } else { template::list::create \ + -name move_objects \ + -multirow move_objects \ + -elements { + name {label "Files to be moved"} + move_message {} + } + + template::list::create \ -name folder_tree \ -pass_properties { item_id redirect_to_folder return_url } \ -multirow folder_tree \ -key folder_id \ + -no_data "No valid destination folders exist" \ -elements { label { - label "Folder" + label "Choose Destination Folder" link_url_col move_url link_html {title "Move to @folder_tree.label@"} display_template {
@folder_tree.label@
} @@ -54,6 +88,6 @@ } -set context "Move Items" +set context [list "Move Items"] set title "Move Items" set file_name "FIX ME" \ No newline at end of file