Index: openacs-4/packages/acs-subsite/acs-subsite.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/acs-subsite.info,v diff -u -N -r1.131.2.9 -r1.131.2.10 --- openacs-4/packages/acs-subsite/acs-subsite.info 13 Aug 2019 15:25:57 -0000 1.131.2.9 +++ openacs-4/packages/acs-subsite/acs-subsite.info 22 Nov 2019 18:41:34 -0000 1.131.2.10 @@ -22,7 +22,7 @@ - + Index: openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl,v diff -u -N -r1.12.2.1 -r1.12.2.2 --- openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl 16 May 2019 09:54:29 -0000 1.12.2.1 +++ openacs-4/packages/acs-subsite/www/admin/site-map/instance-delete.tcl 22 Nov 2019 18:41:34 -0000 1.12.2.2 @@ -38,6 +38,7 @@ # The package is mounted, unmount it and delete it together # with the site node site_node::unmount -node_id $node_id + site_node::unmount_services -node_id $node_id site_node::delete -node_id $node_id \ -delete_subnodes -delete_package } else { Index: openacs-4/packages/acs-tcl/acs-tcl.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/acs-tcl.info,v diff -u -N -r1.95.2.6 -r1.95.2.7 --- openacs-4/packages/acs-tcl/acs-tcl.info 16 Nov 2019 15:45:55 -0000 1.95.2.6 +++ openacs-4/packages/acs-tcl/acs-tcl.info 22 Nov 2019 18:41:34 -0000 1.95.2.7 @@ -9,7 +9,7 @@ f t - + OpenACS The Kernel Tcl API library. 2017-08-06 @@ -18,7 +18,7 @@ GPL version 2 3 - + Index: openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl,v diff -u -N -r1.141.2.7 -r1.141.2.8 --- openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl 10 Aug 2019 14:33:26 -0000 1.141.2.7 +++ openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl 22 Nov 2019 18:41:34 -0000 1.141.2.8 @@ -133,6 +133,25 @@ return $node_id } +ad_proc -public site_node::unmount_services { + {-node_id:required} +} { + unmount all shared packages under this site_node +} { + set sub_node_ids [site_node::get_children \ + -node_id $node_id] + foreach sub_node_id $sub_node_ids { + set package_id [site_node::get_object_id -node_id $sub_node_id] + if {$package_id ne "" + && [db_0or1row is_apm_service { + select 1 from apm_services where + where service_id = :package_id + }]} { + site_node::unmount -node_id $sub_node_id + } + } +} + ad_proc -public site_node::delete { {-node_id:required} -delete_subnodes:boolean