Index: openacs-4/packages/acs-admin/www/apm/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/index.tcl,v diff -u -r1.24 -r1.24.8.1 --- openacs-4/packages/acs-admin/www/apm/index.tcl 29 Sep 2008 08:40:33 -0000 1.24 +++ openacs-4/packages/acs-admin/www/apm/index.tcl 29 Aug 2013 13:39:09 -0000 1.24.8.1 @@ -15,7 +15,7 @@ set page_title "Package Manager" set context [list [list "../developer" "Developer's Administration"] $page_title] -set user_id [ad_get_user_id] +set user_id [ad_conn user_id] # Determine the user's email address. If its not registered, put in a default. set my_email [db_string email_by_user_id { @@ -31,83 +31,89 @@ } } { - owned_by "Owned by:" everyone { { me "Me" {where "[db_map everyone]"} } { everyone "Everyone" {where "1 = 1"} } } } { status "Status:" latest { - { - latest "Latest" {where "[db_map latest]" } - } - { all "All" {where "1 = 1"} } + {latest "Latest" {where "[db_map latest]" } } + {all "All" {where "1 = 1"} } } } } # "latest" means that a version is installed or enabled, or there is no more latest version # which is installed or enabled. Basically, any relevant package on the system. +set filter_where_clause [ad_dimensional_sql $dimensional_list where and] +set dimensional_list [ad_dimensional $dimensional_list] -set missing_text "No packages match criteria." - -append body "
[ad_dimensional $dimensional_list]
" - +set missing_text "No packages match criteria." set use_watches_p [expr {![parameter::get -package_id [ad_acs_kernel_id] -parameter PerformanceModeP -default 1]}] -set table_def { - { package_key "Key" "" "$package_key" } - { pretty_name "Name" "" "$pretty_name" } - { version_name "Ver." "" "" } - { - status "Status" "" {  [eval { - if { $installed_p eq "t" } { +template::list::create -name package_list \ + -multirow packages \ + -no_data $missing_text \ + -key package_key \ + -elements { + package_key { + label "Key" + link_url_col package_url + orderby "package_key" + } + pretty_name { + label "Name" + link_url_col package_url + orderby "pretty_name" + } + version_name { + label "Ver." + orderby "version_name" + } + status { + label "Status" + } + maintained { + label "Maintained" + } + action { + label "" + display_template {@packages.action_html;noquote@} + } + } -filters {owned_by {} supertype {} status {}} + +set performance_p [parameter::get -package_id [ad_acs_kernel_id] -parameter PerformanceModeP -default 1] +set reload_links_p [ad_decode [ns_set iget [rp_getform] reload_links_p] \ + "" 0 [ns_set iget [rp_getform] reload_links_p]] +db_multirow -extend {package_url maintained status action_html} packages apm_table {} { + set package_url [export_vars -base version-view {version_id}] + set maintained [ad_decode $distribution_uri "" "Locally" "Externally"] + + if { $installed_p eq "t" } { if { $enabled_p eq "t" } { set status "Enabled" } else { set status "Disabled" } - } elseif { $superseded_p } { + } elseif { $superseded_p } { set status "Superseded" - } else { + } else { set status "Uninstalled" - } - format $status - }]  } } - { maintained "Maintained" "" {[ad_decode $distribution_uri "" "Locally" "Externally"]} } - { - action "" "" {  [eval { - - set file_link_list [list] - lappend file_link_list "view files" - - if { $installed_p eq "t" && $enabled_p eq "t" } { - if {![parameter::get -package_id [ad_acs_kernel_id] -parameter PerformanceModeP -default 1]} { - lappend file_link_list "watch all files" - } - - set reload_links_p [ad_decode [ns_set iget [rp_getform] reload_links_p] \ - "" 0 [ns_set iget [rp_getform] reload_links_p]] - if { !$reload_links_p || [string equal [apm_version_load_status $version_id] "needs_reload"]} { - lappend file_link_list "reload changed" - } - } - - set format_string [join $file_link_list " | "] - format $format_string - - - }]  } - } + + set file_link_list [list] + lappend file_link_list "view files" + if { $installed_p eq "t" && $enabled_p eq "t" } { + if {!$performance_p} { + lappend file_link_list "watch all files" + } + if { !$reload_links_p || [string equal [apm_version_load_status $version_id] "needs_reload"]} { + lappend file_link_list "reload changed" + } + } + set action_html [join $file_link_list " | "] } -doc_body_flush - -set table [ad_table -Torderby $orderby -Tmissing_text $missing_text "apm_table" "" $table_def] - -db_release_unused_handles - # The reload links make the page slow, so make them optional set page_url "[ad_conn url]?[export_vars -url {orderby owned_by supertype}]" if { $reload_links_p } { @@ -116,54 +122,23 @@ set reload_filter "Check for changed files" } -append body "

Packages

- - -
$reload_filter -
- -$table - - -" - # Build the list of files we're watching. +set watches_html "" if { $use_watches_p } { set watch_files [nsv_array names apm_reload_watch] if { [llength $watch_files] > 0 } { - append body "

Watches

\n" } } else { set kernel_id [ad_acs_kernel_id] - append body "

Watches

-Watching of files is not enabled in performance mode (see the PerformanceModeP parameter on the ACS Kernel parameter page)" + append watches_html "

Watches

+Watching of files is not enabled in performance mode (see the PerformanceModeP parameter on the ACS Kernel parameter page)" } -append body " -

Help

- -
-A package is enabled if it is scheduled to run at server startup -and is deliverable by the request processor. - -

If a Tcl library file (*-procs.tcl) or query file (*.xql) is being -watched, the request processor monitors it, reloading it into running interpreters -whenever it is changed. This is useful during development -(so you don't have to restart the server for your changes to take -effect). To watch a file, click its package key above, click Manage file -information on the next screen, and click watch next to -the file's name on the following screen. -

-"