Index: openacs-4/packages/contacts/lib/searches.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/searches.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/contacts/lib/searches.tcl 8 Jul 2005 00:33:30 -0000 1.1 +++ openacs-4/packages/contacts/lib/searches.tcl 16 Apr 2006 10:45:56 -0000 1.2 @@ -10,7 +10,7 @@ if { [site_node::get_package_url -package_key "tasks"] != "" } { set tasks_enabled_p 1 db_foreach dbqd.contacts.www.index.public_searches {} { - if { [contact::search::results_count_not_cached -search_id $search_id -query $party_id] == "1" && $title != "All People" && $title != "All Organizations" } { + if { [contact::search::party_p -search_id $search_id -party_id $party_id -package_id $package_id] && $title != "All People" && $title != "All Organizations" } { multirow append public_searches $title [export_vars -base "../" -url {search_id}] } } Index: openacs-4/packages/contacts/tcl/contact-search-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/tcl/contact-search-procs.xql,v diff -u -r1.13 -r1.14 --- openacs-4/packages/contacts/tcl/contact-search-procs.xql 16 Apr 2006 10:10:10 -0000 1.13 +++ openacs-4/packages/contacts/tcl/contact-search-procs.xql 16 Apr 2006 10:45:56 -0000 1.14 @@ -37,19 +37,19 @@ select count(distinct 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 in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_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_approved_member_map + where parties.party_id = group_approved_member_map.member_id + and group_approved_member_map.group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]]) [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id" -limit_type_p "0"] select count(distinct person_id) - from persons, cr_items, cr_revisions, group_distinct_member_map - where persons.person_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]]) + from persons, cr_items, cr_revisions, group_approved_member_map + where persons.person_id = group_approved_member_map.member_id + and group_approved_member_map.group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]]) and persons.person_id = cr_items.item_id and cr_items.latest_revision = cr_revisions.revision_id [contact::search_clause -and -search_id $search_id -query $query -party_id "persons.person_id" -revision_id "revision_id" -limit_type_p "0"] @@ -59,9 +59,9 @@ select count(distinct organization_id) - from organizations, cr_items, cr_revisions, group_distinct_member_map - where organizations.organization_id = group_distinct_member_map.member_id - and group_distinct_member_map.group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]]) + from organizations, cr_items, cr_revisions, group_approved_member_map + where organizations.organization_id = group_approved_member_map.member_id + and group_approved_member_map.group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]]) and organizations.organization_id = cr_items.item_id and cr_items.latest_revision = cr_revisions.revision_id [contact::search_clause -and -search_id $search_id -query $query -party_id "organizations.organization_id" -revision_id "revision_id" -limit_type_p "0"] @@ -88,10 +88,10 @@ select 1 - from group_distinct_member_map - where member_id = '${party_id}' - and group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]]) - [contact::search_clause -and -search_id $search_id -party_id "'${party_id}'" -revision_id "'${revision_id}'"] + from cr_items + where item_id = $party_id + and item_id in ( select member_id from group_approved_member_map where group_id in ([template::util::tcl_to_sql_list [contacts::default_groups -package_id $package_id]])) + [contact::search_clause -and -search_id $search_id -party_id "cr_items.item_id" -revision_id "cr_items.live_revision"]