Index: openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl,v diff -u -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl 20 Dec 2002 12:22:10 -0000 1.3.2.1 +++ openacs-4/packages/acs-subsite/www/admin/site-map/package-new.tcl 16 Jan 2003 12:17:34 -0000 1.3.2.2 @@ -9,7 +9,7 @@ } { new_package_id:integer,notnull node_id:integer,notnull - instance_name:notnull + {instance_name ""} package_key:notnull {expand:integer,multiple ""} root_id:integer,optional @@ -20,8 +20,22 @@ ad_script_abort } -set context_id [ad_conn package_id] +set context_id [db_string context_id { + select parent.object_id as context_id + from site_nodes parent, site_nodes child + where child.node_id = :node_id + and parent.node_id = child.parent_id +}] +# If the parent node didn't have anything mounted, use the current package_id as context_id +if { [empty_string_p $context_id] } { + set context_id [ad_conn package_id] +} + +if { [empty_string_p $instance_name] } { + set instance_name [db_string instance_default_name "select pretty_name from apm_package_types where package_key = :package_key"] +} + db_transaction { set package_id [site_node_create_package_instance -package_id $new_package_id $node_id $instance_name $context_id $package_key] } on_error {