Index: openacs-4/packages/download/www/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/index.tcl,v
diff -u -N -r1.8.2.2 -r1.8.2.3
--- openacs-4/packages/download/www/index.tcl 9 Sep 2013 17:34:16 -0000 1.8.2.2
+++ openacs-4/packages/download/www/index.tcl 12 Sep 2013 09:57:38 -0000 1.8.2.3
@@ -67,16 +67,27 @@
set approval " and dar.approved_p = 't' "
}
+set element_list {
+ archive_name {
+ label "Software Name"
+ display_template {
+
+
+ @downloads_multirow.archive_name@ @downloads_multirow.version_name@
+ (@downloads_multirow.file_size@k)
@downloads_multirow.summary@
+ }
+ orderby "archive_name"
+ }
+ archive_type {
+ label "Software Type"
+ orderby "archive_type"
+ }
+ downloads {
+ label "# Downloads"
+ orderby "downloads"
+ }
+}
-set table_def [list \
- [list archive_name "[_ download.Software_Name_1]"\
- {lower(archive_name) $order} \
- {
$archive_name $version_name (${file_size}k) $summary | }
- ] \
- [list archive_type "[_ download.Software_Type]" "" ""] \
- [list downloads "[_ download._Downloads]" "" ""] \
- ]
-
#Setup the metadata
set metadata_selects ""
db_foreach metadata {
@@ -95,67 +106,54 @@
append metadata_selects ", (select $answer_column from download_revision_data where revision_id = dar.revision_id and metadata_id = $metadata_id) as $metadata_select
"
if { $linked_p == "t" } {
- set display "\$$metadata_select | "
+ set display "@downloads_multirow.$metadata_select@"
} else {
set display ""
}
- lappend table_def [list $metadata_select $pretty_name {} $display]
+ lappend element_list $metadata_select [list label $pretty_name display_template $display]
}
##Add on the metadata columns
if { $admin_p } {
- lappend table_def [list dar.approved_p "[_ download.Approval]" \
- {} \
- { \
- [ad_decode $approved_p \
- "t" "approved
- \[
- reject\]" \
- "f" "rejected
- \[
- approve\]" \
- "pending
- \[
- approve |
- reject\]
- "]
- | }]
+ lappend element_list approved_p {
+ label "[_ download.Approval]"
+ display_template {
+ @downloads_multirow.approved_text@
+ \[@downloads_multirow.approved_action@\]
+ }
}
+}
-set sql_query "
-select da.archive_id,
- dat.pretty_name as archive_type,
- da.archive_type_id,
- da.archive_name,
- da.summary,
- dar.revision_id,
- dar.file_name,
- dar.version_name,
- dbms_lob.getlength(dar.content) as file_size,
- (select count(*) from download_downloads where revision_id = dar.revision_id) as downloads,
- dar.approved_p
- $metadata_selects
-from download_archives_obj da,
- download_archive_types dat,
- download_arch_revisions_obj dar
-where da.repository_id = :repository_id and
- dat.archive_type_id = da.archive_type_id and
- da.archive_id = dar.archive_id and
- acs_permission.permission_p(dar.revision_id, :user_id, 'read') = 't'
- $approval
- [ad_dimensional_sql $dimensional where]
- [ad_order_by_from_sort_spec $orderby $table_def]"
+template::list::create -name download_list \
+ -multirow downloads_multirow \
+ -elements $element_list \
+ -filters {archive_type_id {} query_string {} updated {}}
-set dimensional_html [ad_dimensional $dimensional]
-set table [ad_table \
- -Torderby $orderby \
- -Tband_colors {{} {\"\#cccccc\"}} \
- -bind [ad_tcl_vars_to_ns_set user_id repository_id] \
- -Ttable_extra_html { cellpadding=3 } \
- download_index_query $sql_query $table_def ]
+set img_url "[ad_conn package_url]/graphics/download.gif"
+db_multirow -extend {metadata_url download_img revision_url download_url approved_color approved_text approved_url approved_action reject_url} downloads_multirow download_index_query {*} {
+ set download_img $img_url
+ if {$approved_p} {
+ set approved_url [export_vars -base admin/approve-or-reject {{action reject} revision_id return_url}]
+ set approved_text "approved"
+ set approved_color green
+ set approved_action "reject"
+ } else {
+ set approved_url [export_vars -base admin/approve-or-reject {{action approve} revision_id return_url}]
+ set approved_text "rejected"
+ set approved_action approve
+ set approved_color red
+ }
+ set download_url "download/$file_name?revision_id=$revision_id"
+ set revision_url "one-revision?revision_id=$revision_id"
+ set metadata_url [export_vars -base one-metadata {metadata_id}]
+}
+
+
+set dimensional_html [ad_dimensional $dimensional]
+
db_multirow types types_select {
select archive_type_id, pretty_name, description from download_archive_types where repository_id = :repository_id
}
@@ -177,4 +175,4 @@
-ad_return_template
\ No newline at end of file
+ad_return_template