Index: openacs-4/packages/file-storage/www/copy-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/copy-postgresql.xql,v diff -u -r1.8 -r1.8.4.1 --- openacs-4/packages/file-storage/www/copy-postgresql.xql 2 Apr 2013 12:04:43 -0000 1.8 +++ openacs-4/packages/file-storage/www/copy-postgresql.xql 3 Jul 2016 18:16:29 -0000 1.8.4.1 @@ -1,6 +1,5 @@ - + @@ -48,18 +47,15 @@ select - cf.folder_id, ci1.parent_id, cf.label, tree_level(ci1.tree_sortkey) as level_num - from cr_folders cf, cr_items ci1, cr_items ci2 - where - ci1.tree_sortkey between ci2.tree_sortkey and - tree_right(ci2.tree_sortkey) - and ci2.item_id=:root_folder_id - and ci1.item_id=cf.folder_id - and exists (select 1 - from acs_object_party_privilege_map m - where m.object_id = cf.folder_id - and m.party_id = :user_id - and m.privilege = 'write') + cf.folder_id, ci1.parent_id, cf.label, tree_level(ci1.tree_sortkey) as level_num + from + cr_folders cf, + cr_items ci1, + cr_items ci2 + where ci1.tree_sortkey between ci2.tree_sortkey and tree_right(ci2.tree_sortkey) + and ci2.item_id=:root_folder_id + and ci1.item_id=cf.folder_id + and acs_permission__permission_p(cf.folder_id, :user_id, 'write') order by ci1.tree_sortkey, cf.label @@ -69,13 +65,15 @@ With folder_tree as ( select - cf.folder_id, ci1.parent_id, cf.label, tree_level(ci1.tree_sortkey) as level_num, acs_permission__permission_p(cf.folder_id, :user_id, 'write') as permission_p + cf.folder_id, ci1.parent_id, cf.label, + tree_level(ci1.tree_sortkey) as level_num, + acs_permission__permission_p(cf.folder_id, :user_id, 'write') as permission_p from cr_folders cf, cr_items ci1, cr_items ci2 where - ci1.tree_sortkey between ci2.tree_sortkey and - tree_right(ci2.tree_sortkey) - and ci2.item_id= :root_folder_id - and ci1.item_id=cf.folder_id + ci1.tree_sortkey between ci2.tree_sortkey and + tree_right(ci2.tree_sortkey) + and ci2.item_id= :root_folder_id + and ci1.item_id=cf.folder_id order by ci1.tree_sortkey, cf.label ) select folder_id, parent_id, label, level_num from folder_tree where permission_p is true;