Index: openacs-4/packages/logger/www/lib/entries-table.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/logger/www/lib/Attic/entries-table.tcl,v diff -u -N -r1.5.2.2 -r1.5.2.3 --- openacs-4/packages/logger/www/lib/entries-table.tcl 13 May 2003 15:42:42 -0000 1.5.2.2 +++ openacs-4/packages/logger/www/lib/entries-table.tcl 15 May 2003 08:49:36 -0000 1.5.2.3 @@ -8,6 +8,7 @@ # start_date_ansi # end_date_ansi # projection_value +# group_by:optional set current_user_id [ad_conn user_id] set package_id [ad_conn package_id] @@ -48,10 +49,27 @@ set selected_entry_id {} } +set order_by "le.time_stamp desc, ao.creation_date desc" + +# If we're grouping by, we should sort by that column first +if { [exists_and_not_null group_by] } { + switch -exact $group_by { + user_id { + set order_by "user_name asc, $order_by" + } + project_name { + set order_by "project_name asc, $order_by" + } + } +} + set value_total 0 set value_count 0 -db_multirow -extend { view_url edit_url delete_url delete_onclick user_chunk selected_p } entries select_entries {} { +set last_group_by_value {} +set value_subtotal 0 + +db_multirow -extend { subtotal view_url edit_url delete_url delete_onclick user_chunk selected_p } entries select_entries {} { set description [string_truncate -len 50 $description] set project_name [string_truncate -len 20 $project_name] set selected_p [string equal $id $selected_entry_id] @@ -67,6 +85,20 @@ set user_chunk [ad_present_user $user_id $user_name] + if { [exists_and_not_null group_by] } { + # Should we reset the subtotal? + if { ![string equal $last_group_by_value [set $group_by]] } { + set value_subtotal 0 + } + + # Calculate new subtotal + set value_subtotal [expr $value_subtotal + $value] + # and store it in the column + set subtotal $value_subtotal + + set last_group_by_value [set $group_by] + } + set value_total [expr $value_total + $value] incr value_count }