Index: openacs-4/packages/acs-admin/www/apm/package-delete-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/package-delete-2.tcl,v diff -u -N -r1.1.1.1.4.1 -r1.1.1.1.4.2 --- openacs-4/packages/acs-admin/www/apm/package-delete-2.tcl 22 Jan 2003 18:28:20 -0000 1.1.1.1.4.1 +++ openacs-4/packages/acs-admin/www/apm/package-delete-2.tcl 5 Mar 2003 14:43:12 -0000 1.1.1.1.4.2 @@ -25,16 +25,37 @@ doc_body_append [apm_header [list "version-view?version_id=$version_id" "$pretty_name $version_name"] "Delete"] +# Unmount all instances of this package with the Tcl API that invokes before-unmount callbacks +db_foreach all_package_instances { + select site_nodes.node_id + from apm_packages, site_nodes + where apm_packages.package_id = site_nodes.object_id + and apm_packages.package_key = :package_key +} { + set url [site_node::get_url -node_id $node_id] + doc_body_append "Unmounting package instance at url $url
" + site_node::unmount -node_id $node_id +} + +# Delete the package instances with Tcl API that invokes before-uninstantiate callbacks +db_foreach all_package_instances { + select package_id + from apm_packages + where package_key = :package_key +} { + doc_body_append "Deleting package instance $package_id
" + apm_package_instance_delete $package_id +} + +# Invoke the before-uninstall Tcl callback before the sql drop scripts +apm_invoke_callback_proc -version_id $version_id -type before-uninstall + if {![empty_string_p $sql_drop_scripts]} { doc_body_append "Now executing drop scripts.