-
- @nodes.tree_indent;noquote@
-
-
- (+)
-
-
- (-)
+ display_template {
+
+ @nodes.tree_indent;noquote@
+
+ (+)
-
- @nodes.name;noquote@
-
- @nodes.name;noquote@
-
-
-
-
-
-
- @nodes.name;noquote@
-
- }
+
+ (-)
+
+
+ @nodes.name;noquote@
+
+ @nodes.name;noquote@
+
+
+
+
+
+
+ @nodes.name;noquote@
+
+ }
} instance {
label "Instance"
html "align left"
- display_template {
-
-
-
-
-
-
-
- @nodes.instance;noquote@
-
- }
+ display_template {
+
+
+
+
+
+
+
+ @nodes.instance;noquote@
+
+ }
} type {
label "Package Type"
html "align left"
- display_template {
- @nodes.type;noquote@
- }
+ display_template {
+ @nodes.type;noquote@
+ }
} actions {
label "Action"
html "align left"
- display_template {
-
- [_ acs-subsite.add_folder]
-
-
- [_ acs-subsite.new_application]
-
-
- [_ acs-subsite.unmount]
-
-
- [_ acs-subsite.mount]
-
-
- [_ acs-subsite.rename]
-
-
- [_ acs-subsite.delete]
-
-
- [_ acs-subsite.parameters]
-
-
- [_ acs-subsite.permissions]
-
-
- @nodes.extra_form_part;noquote@
-
- }
- }
+ display_template {
+
+ [_ acs-subsite.add_folder]
+
+
+ [_ acs-subsite.new_application]
+
+
+ [_ acs-subsite.unmount]
+
+
+ [_ acs-subsite.mount]
+
+
+ [_ acs-subsite.rename]
+
+
+ [_ acs-subsite.delete]
+
+
+ [_ acs-subsite.parameters]
+
+
+ [_ acs-subsite.permissions]
+
+
+ @nodes.extra_form_part;noquote@
+
+ }
+ }
}
-multirow create nodes node_id expand_mode expand_url tree_indent name name_url instance instance_url type action_type action_form_part add_folder_url new_app_url unmount_url mount_url rename_url delete_url parameters_url permissions_url extra_form_part
+multirow create nodes \
+ node_id expand_mode expand_url tree_indent name name_url instance instance_url type \
+ action_type action_form_part add_folder_url new_app_url unmount_url mount_url \
+ rename_url delete_url parameters_url permissions_url extra_form_part delete_id
set open_nodes [list]
@@ -205,108 +219,115 @@
set parameters_url ""
set permissions_url ""
- if { [lsearch -exact $open_nodes $parent_id] == -1 && $parent_id ne "" && $mylevel > 2 } { continue }
-
+ if { $parent_id ni $open_nodes && $parent_id ne "" && $mylevel > 2 } { continue }
+
if {$directory_p == "t"} {
- set add_folder_url [export_vars -base . {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}]
- if {$object_id eq ""} {
- set mount_url [export_vars -base mount {expand:multiple root_id node_id}]
- set new_app_url [export_vars -base . {expand:multiple root_id {new_application $node_id}}]
- } else {
- # This makes sure you can't unmount the thing that is serving the page you're looking at.
- if {[ad_conn node_id] != $node_id} {
- set unmount_url [export_vars -base {expand:multiple root_id node_id}]
- }
-
- # Add a link to control permissioning
- if {$object_admin_p} {
- set permissions_url [export_vars -base "../../permissions/one" {object_id}]
- set rename_url [export_vars -base . {expand:multiple root_id {rename_application $node_id}}]
- set delete_url [export_vars -base instance-delete {{package_id $object_id} root_id}]
- }
- # Is the object a package?
- if {$package_id ne ""} {
- if {$object_admin_p && ($parameter_count > 0)} {
- set parameters_url [export_vars -base "/shared/parameters" { package_id {return_url {[ad_return_url]} } }]
- }
- }
- }
+ set add_folder_url [export_vars -base . {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}]
+ if {$object_id eq ""} {
+ set mount_url [export_vars -base mount {expand:multiple root_id node_id}]
+ set new_app_url [export_vars -base . {expand:multiple root_id {new_application $node_id}}]
+ } else {
+ # This makes sure you can't unmount the thing that is serving the page you're looking at.
+ if {[ad_conn node_id] != $node_id} {
+ set unmount_url [export_vars -base unmount {expand:multiple root_id node_id}]
+ }
+
+ # Add a link to control permissioning
+ if {$object_admin_p} {
+ set permissions_url [export_vars -base "../../permissions/one" {object_id}]
+ set rename_url [export_vars -base . {expand:multiple root_id {rename_application $node_id}}]
+ set delete_url [export_vars -base instance-delete {{package_id $object_id} root_id}]
+ }
+ # Is the object a package?
+ if {$package_id ne ""} {
+ if {$object_admin_p && ($parameter_count > 0)} {
+ set parameters_url [export_vars -base "/shared/parameters" { package_id {return_url {[ad_return_url]} } }]
+ }
+ }
+ }
}
-
+
if {[ad_conn node_id] != $node_id && $n_children == 0 && $object_id eq ""} {
- set delete_url [export_vars -base delete {expand:multiple root_id node_id}]
+ set delete_url [export_vars -base delete {expand:multiple root_id node_id}]
}
-
+
# use the indent variable to hold current indent level we'll use it later to indent stuff at the end by the amount of the last node
set indent ""
for {set i 0} {$i < 3*$mylevel} {incr i} {
- append indent " "
+ append indent " "
}
-
+
set expand_mode 0
if {!$root_p && $n_children > 0} {
- set expand_mode 1
- set urlvars [list]
- foreach n $expand {
- if {$n == $node_id} {
- set expand_mode 2
- lappend open_nodes "$node_id"
- } else {
- lappend urlvars "expand=$n"
- }
- }
-
- if { $expand_mode == 1} {
- lappend urlvars "expand=$node_id"
- }
-
- lappend urlvars "root_id=$root_id"
-
- set expand_url [join $urlvars "&"]
+ set expand_mode 1
+ set urlvars [list]
+ foreach n $expand {
+ if {$n == $node_id} {
+ set expand_mode 2
+ lappend open_nodes "$node_id"
+ } else {
+ lappend urlvars "expand=$n"
+ }
+ }
+
+ if { $expand_mode == 1} {
+ lappend urlvars "expand=$node_id"
+ }
+
+ lappend urlvars "root_id=$root_id"
+
+ set expand_url [join $urlvars "&"]
} else {
- set expand_url ""
+ set expand_url ""
}
-
- set name_url [export_vars {expand:multiple {root_id $node_id}}]
-
+
+ set name_url [export_vars -base . {expand:multiple {root_id $node_id}}]
+
set action_type 0
set action_form_part ""
-
+
if {$object_id eq ""} {
- if {$new_application == $node_id} {
-
- set action_type "new_app"
- set action_form_part "[export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox]"
-
- #Generate a package_id for double click protection
- set new_package_id [db_nextval acs_object_id_seq]
- } else {
- set action_form_part "(none)"
- }
+ if {$new_application == $node_id} {
+
+ set action_type "new_app"
+ set action_form_part "[export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox]"
+
+ #Generate a package_id for double click protection
+ set new_package_id [db_nextval acs_object_id_seq]
+ } else {
+ set action_form_part "(none)"
+ }
} elseif {$rename_application == $node_id} {
- set action_type "rename_app"
- set action_form_part [export_vars -form {expand:multiple root_id node_id rename_package_id}]
-
+ set action_type "rename_app"
+ set action_form_part [export_vars -form {expand:multiple root_id node_id rename_package_id}]
+
} else {}
-
+
if {$node_id == $new_parent} {
- set parent_id $new_parent
- set node_type $new_type
- set action_type "new_folder"
- set action_form_part [export_vars -form {expand:multiple parent_id node_type root_id}]
+ set parent_id $new_parent
+ set node_type $new_type
+ set action_type "new_folder"
+ set action_form_part [export_vars -form {expand:multiple parent_id node_type root_id}]
}
+ set delete_id delete-$node_id
+
+ multirow append nodes \
+ $node_id $expand_mode $expand_url $indent $name $name_url $object_name $url $package_pretty_name \
+ $action_type $action_form_part $add_folder_url $new_app_url $unmount_url $mount_url \
+ $rename_url $delete_url $parameters_url $permissions_url "" $delete_id
- multirow append nodes $node_id $expand_mode $expand_url $indent $name $name_url $object_name $url $package_pretty_name $action_type $action_form_part $add_folder_url $new_app_url $unmount_url $mount_url $rename_url $delete_url $parameters_url $permissions_url ""
-
+ template::add_confirm_handler \
+ -id $delete_id \
+ -message "Are you sure you want to delete node $name and any package mounted there?"
}
set new_app_form_part_1 [subst {