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.9
--- 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 7 Aug 2017 23:48:11 -0000 1.9
@@ -1,6 +1,5 @@
-
+
@@ -15,7 +14,7 @@
- select fs.object_id, fs.name, fs.parent_id,
+ select fs.object_id, fs.name, fs.title, fs.parent_id,
acs_permission__permission_p(fs.object_id, :user_id, 'read') as copy_p, fs.type
from fs_objects fs
where fs.object_id in ([template::util::tcl_to_sql_list $object_id])
@@ -29,7 +28,9 @@
:object_id,
:folder_id,
:user_id,
- :peer_addr
+ :peer_addr,
+ :name,
+ :title
)
@@ -40,26 +41,25 @@
:object_id,
:folder_id,
:user_id,
- :peer_addr
+ :peer_addr,
+ :name,
+ :title
)
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 +69,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;