Index: openacs-4/packages/contacts/lib/contacts-aggregated.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts-aggregated.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/contacts/lib/contacts-aggregated.tcl 15 Nov 2005 16:27:40 -0000 1.7
+++ openacs-4/packages/contacts/lib/contacts-aggregated.tcl 17 Nov 2005 18:22:02 -0000 1.8
@@ -65,48 +65,36 @@
# If we are extending the result list then
# we add the element dynamically to the list
-set extend_pretty_name ""
-if { [exists_and_not_null extend_id] } {
- set extend_info [contact::extend::option_info -extend_id $extend_id]
- set extend_var_name [lindex [lindex $extend_info 0] 0]
- set extend_pretty_name [lindex [lindex $extend_info 0] 1]
- set extend_subquery [lindex [lindex $extend_info 0] 2]
- set elements [list \
- option [list \
- label "$attr_name"] \
- result [list \
- display_template {
- @contacts.result@
- }] \
- $extend_var_name [list \
- label "$extend_pretty_name" \
- display_template {
-
$error
SQL:
$sql
"
- ad_script_abort
+ if {[exists_and_not_null extend_id] } {
+
+ foreach extend $extend_id {
+ set extend_info [contact::extend::option_info -extend_id $extend]
+ set extend_var_name [lindex [lindex $extend_info 0] 0]
+ set extend_subquery [lindex [lindex $extend_info 0] 2]
+ if { [catch { set $extend_var_name [db_string $extend_result_query " " -default 0]
+ set value [db_string $extend_result_query " " -default 0] } errMsg] } {
+ # We got an error so we are going to return to the user
+ set title "[_ contacts.extend_error_msg]"
+ set error_pos [string first "ERROR: " $errMsg]
+ set sql_pos [string first "SQL: " $errMsg]
+ set error [string range $errMsg [expr $error_pos + 7] [expr $sql_pos - 1]]
+ set sql [string range $errMsg [expr $sql_pos + 5] [string length $errMsg]]
+ ad_return_error $title "[_ contacts.Error]:
$error
SQL:
$sql
"
+ ad_script_abort
+ }
+ if { [empty_string_p $value] } {
+ set $extend_var_name "0.00"
+ }
}
}
}
+
# This is for the display of the forms
# for the aggregate and extend options
set select_options [list]
@@ -191,11 +189,32 @@
{aggregate_attribute_id:integer(hidden)
{value $attr_id}
}
- {aggregate_extend_id:text(select)
- {label "[_ contacts.Extend_result_list_by]" }
+ {aggregate_extend_id:text(multiselect),optional
+ {label "