Index: openacs-4/packages/contacts/contacts.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/contacts.info,v diff -u -N -r1.53 -r1.54 --- openacs-4/packages/contacts/contacts.info 23 Nov 2005 17:34:14 -0000 1.53 +++ openacs-4/packages/contacts/contacts.info 25 Nov 2005 18:12:21 -0000 1.54 @@ -7,14 +7,14 @@ f f - + Matthew Geddert This application lets you collaboratively view, edit and categorize contacts. 2005-11-23 Contacts is an application for managing all those people and or organization you need to keep track of. It has a complete UI for storing and categorizing contacts. Each contact can have an arbitrary number of custom attributes associated with it, including other contacts (i.e. a certain contact "belongs" to a certain organization). It also functions as a service contract provider for attributes related to users in your system 0 - + 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 -N -r1.8 -r1.9 --- openacs-4/packages/contacts/lib/contacts-aggregated.tcl 17 Nov 2005 18:22:02 -0000 1.8 +++ openacs-4/packages/contacts/lib/contacts-aggregated.tcl 25 Nov 2005 18:12:21 -0000 1.9 @@ -215,6 +215,7 @@ db_dml insert_extend { } } } + db_dml update_search { } } -after_submit { ad_returnredirect "?search_id=$search_id&aggregate_attribute_id=$aggregate_attribute_id" } Index: openacs-4/packages/contacts/lib/contacts-aggregated.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts-aggregated.xql,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/contacts/lib/contacts-aggregated.xql 17 Nov 2005 18:22:02 -0000 1.7 +++ openacs-4/packages/contacts/lib/contacts-aggregated.xql 25 Nov 2005 18:12:21 -0000 1.8 @@ -34,6 +34,13 @@ + + + update contact_searches set aggregated_attribute = :aggregate_attribute_id + where search_id = :search_id + + + select Index: openacs-4/packages/contacts/www/searches.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/searches.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/contacts/www/searches.tcl 19 Jun 2005 07:00:28 -0000 1.2 +++ openacs-4/packages/contacts/www/searches.tcl 25 Nov 2005 18:12:21 -0000 1.3 @@ -27,9 +27,10 @@ -key search_id \ -elements { title { - label {#contacts.Title#} - display_col title - link_url_eval "search?search_id=$search_id" + label {[_ contacts.Title]} + display_template { + @searches.title@ + } } query { label {#contacts.Query#} @@ -83,7 +84,13 @@ set search_ids [list] set admin_p [permission::permission_p -object_id $package_id -privilege "admin"] -db_multirow -extend {query search_url make_public_url delete_url copy_url results} -unclobber searches select_searches {} { +db_multirow -extend {query search_url make_public_url delete_url copy_url results search_link} -unclobber searches select_searches {} { + set aggregated_attribute [db_string get_saved_p { } -default ""] + if { [exists_and_not_null aggregated_attribute] } { + set search_link ".?search_id=$search_id&aggregate_attribute_id=$aggregated_attribute" + } else { + set search_link "search?search_id=$search_id" + } if { $owner_id != $package_id && $admin_p } { set make_public_url [export_vars -base search-action -url {search_id {owner_id $package_id} {action move} return_url}] } Index: openacs-4/packages/contacts/www/searches.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/searches.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/contacts/www/searches.xql 14 Jun 2005 06:58:42 -0000 1.2 +++ openacs-4/packages/contacts/www/searches.xql 25 Nov 2005 18:12:21 -0000 1.3 @@ -35,4 +35,16 @@ + + + select + aggregated_attribute + from + contact_searches + where + search_id = :search_id + and aggregated_attribute is not null + + + Index: openacs-4/packages/contacts/www/admin/search-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/admin/search-list.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/contacts/www/admin/search-list.tcl 18 Nov 2005 17:48:27 -0000 1.4 +++ openacs-4/packages/contacts/www/admin/search-list.tcl 25 Nov 2005 18:12:21 -0000 1.5 @@ -35,8 +35,9 @@ -elements { title { label {[_ contacts.Title]} - display_col title - link_url_eval "../search?search_id=$search_id" + display_template { + @searches.title@ + } } owner { label {[_ contacts.Owner]} @@ -94,7 +95,15 @@ set search_ids [list] set admin_p [permission::permission_p -object_id $package_id -privilege "admin"] -db_multirow -extend {query search_url make_public_url delete_url copy_url results owner} -unclobber searches select_searches {} { +db_multirow -extend {query search_url make_public_url delete_url copy_url results owner search_link} -unclobber searches select_searches {} { + + set aggregated_attribute [db_string get_saved_p { } -default ""] + if { [exists_and_not_null aggregated_attribute] } { + set search_link ".?search_id=$search_id&aggregate_attribute_id=$aggregated_attribute" + } else { + set search_link "search?search_id=$search_id" + } + set search_url [export_vars -base ../ -url {search_id}] set owner [contact::name -party_id $search_owner_id] if { [empty_string_p $owner] } { Index: openacs-4/packages/contacts/www/admin/search-list.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/admin/search-list.xql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/contacts/www/admin/search-list.xql 18 Nov 2005 16:13:10 -0000 1.3 +++ openacs-4/packages/contacts/www/admin/search-list.xql 25 Nov 2005 18:12:21 -0000 1.4 @@ -50,4 +50,16 @@ + + + select + aggregated_attribute + from + contact_searches + where + search_id = :search_id + and aggreagated_attribute is not null + + +