Index: openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-oracle.xql,v diff -u -N -r1.2 -r1.2.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-oracle.xql 7 Aug 2017 23:47:58 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-oracle.xql 3 Jan 2020 11:29:17 -0000 1.2.2.1 @@ -14,35 +14,4 @@ - - - select r.rel_id - from acs_rels r, acs_object_party_privilege_map perm - where perm.object_id = r.rel_id - and perm.party_id = :user_id - and perm.privilege = 'delete' - and r.rel_type = :rel_type - - - - - - - select s.segment_id - from rel_segments s, acs_object_party_privilege_map perm - where perm.object_id = s.segment_id - and perm.party_id = :user_id - and perm.privilege = 'delete' - and s.rel_type = :rel_type - - - - - - - drop table $table_name - - - - Index: openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-postgresql.xql,v diff -u -N -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-postgresql.xql 7 Aug 2017 23:47:58 -0000 1.5 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2-postgresql.xql 3 Jan 2020 11:29:17 -0000 1.5.2.1 @@ -9,32 +9,4 @@ - - - - drop table $table_name - - - - - - - select r.rel_id - from acs_rels r - where acs_permission__permission_p(r.rel_id, :user_id, 'delete') - and r.rel_type = :rel_type - - - - - - - select s.segment_id - from rel_segments s - where acs_permission__permission_p(s.segment_id, :user_id, 'delete') - and s.rel_type = :rel_type - - - - Index: openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl,v diff -u -N -r1.7.2.2 -r1.7.2.3 --- openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl 13 Dec 2019 14:17:42 -0000 1.7.2.2 +++ openacs-4/packages/acs-subsite/www/admin/rel-types/delete-2.tcl 3 Jan 2020 11:29:17 -0000 1.7.2.3 @@ -26,9 +26,19 @@ set user_id [ad_conn user_id] - set rel_id_list [db_list select_rel_ids {}] + set rel_id_list [db_list select_rel_ids { + select r.rel_id + from acs_rels r + where acs_permission.permission_p(r.rel_id, :user_id, 'delete') + and r.rel_type = :rel_type + }] - set segment_id [db_string select_segment_id {} -default ""] + set segment_id [db_string select_segment_id { + select s.segment_id + from rel_segments s + where acs_permission.permission_p(s.segment_id, :user_id, 'delete') + and s.rel_type = :rel_type + } -default ""] # delete all relations, all segments, and drop the relationship # type. This will fail if a relation / segment for this type is created @@ -53,7 +63,7 @@ # Note that we do this outside the transaction as it commits all # transactions anyway if { [db_table_exists $table_name] } { - db_exec_plsql drop_type_table "drop table $table_name" + db_dml drop_type_table "drop table $table_name" } }