Index: openacs-4/packages/contacts/www/search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/search.tcl,v diff -u -r1.15 -r1.16 --- openacs-4/packages/contacts/www/search.tcl 1 Jul 2005 22:44:26 -0000 1.15 +++ openacs-4/packages/contacts/www/search.tcl 29 Aug 2005 22:48:41 -0000 1.16 @@ -17,6 +17,8 @@ {all_or_any ""} {title ""} {owner_id ""} + {aggregate_attribute_id ""} + {aggregate ""} } -validate { valid_object_type -requires {object_type} { if { [lsearch [list party person organization] $object_type] < 0 } { @@ -47,6 +49,10 @@ } +if { [exists_and_not_null aggregate] } { + ad_returnredirect "[export_vars -base ./ -url {search_id aggregate_attribute_id}]" +} + set page_title "[_ contacts.Advanced_Search]" set context [list $page_title] @@ -144,13 +150,24 @@ if { $search_exists_p } { set results_count [contact::search::results_count -search_id $search_id] - append form_elements { {title:text(text),optional {label "

[_ contacts.save_this_search_]"} {html {size 40 maxlength 255}}} {save:text(submit) {label "[_ contacts.Save]"} {value "save"}} {search:text(submit) {label "[_ contacts.Search]"} {value "search"}} {clear:text(submit) {label "[_ contacts.Clear]"} {value "clear"}} - {delete:text(submit) {label "[_ contacts.Delete]"} {value "delete"}} + {delete:text(submit) {label "[_ contacts.Delete]"} {value "delete"} \ + {after_html "
[_ contacts.Aggregate_by]:
"} + } + } + + append form_elements [contacts::search::condition_type::attribute \ + -request ad_form_widgets \ + -prefix "aggregate_" \ + -without_arrow_p "t" \ + -only_multiple_p "t"] + + append form_elements { + {aggregate:text(submit) {label "[_ contacts.Aggregate]"} {value "aggregate"}} {results_count_widget:text(inform) {label "  [_ contacts.Results]"} {value {$results_count}}} } }