Index: openacs-4/packages/contacts/lib/contacts.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/contacts/lib/contacts.tcl 15 Jun 2005 23:17:58 -0000 1.9 +++ openacs-4/packages/contacts/lib/contacts.tcl 16 Jun 2005 22:58:41 -0000 1.10 @@ -1,12 +1,13 @@ set required_param_list [list ] set optional_param_list [list rel_type page] -set default_param_list [list orderby format query_id query page_size tasks_interval package_id search_id] +set default_param_list [list orderby format query_id query page_size tasks_interval package_id search_id group_id] set optional_unset_list [list ] set _orderby "first_names,asc" set _format "normal" set _query_id "" set _query "" +set _group_id "" set _search_id "" set _page_size "25" set _tasks_interval "7" @@ -31,8 +32,22 @@ } } +set group_by_group_id "" +if {![exists_and_not_null group_id]} { + set where_group_id " = -2" + +} elseif {[llength $group_id] > 1} { + + set where_group_id " IN ('[join $group_id "','"]')" + set group_by_group_id "group by parties.party_id , cr_revisions.revision_id, parties.email" +} else { + + set where_group_id " = :group_id" +} + + set package_id [apm_package_id_from_key contacts] set base_url "[site_node::get_url_from_object_id -object_id $package_id]" Index: openacs-4/packages/contacts/lib/contacts.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/contacts/lib/contacts.xql 14 Jun 2005 06:08:28 -0000 1.2 +++ openacs-4/packages/contacts/lib/contacts.xql 16 Jun 2005 22:58:41 -0000 1.3 @@ -6,7 +6,7 @@ select parties.party_id from parties left join cr_items on (parties.party_id = cr_items.item_id) left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id ) , group_distinct_member_map where parties.party_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id = '-2' + and group_distinct_member_map.group_id $where_group_id [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] [template::list::orderby_clause -orderby -name "contacts"] @@ -24,8 +24,9 @@ ( select name from organizations where organization_id = party_id ) as organization from parties left join cr_items on (parties.party_id = cr_items.item_id) left join cr_revisions on (cr_items.latest_revision = cr_revisions.revision_id ) , group_distinct_member_map where parties.party_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id = '-2' + and group_distinct_member_map.group_id $where_group_id [template::list::page_where_clause -and -name "contacts" -key "party_id"] +$group_by_group_id [template::list::orderby_clause -orderby -name "contacts"]