Index: openacs-4/packages/contacts/lib/contacts.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contacts.xql,v diff -u -r1.20 -r1.21 --- openacs-4/packages/contacts/lib/contacts.xql 15 Feb 2006 10:06:36 -0000 1.20 +++ openacs-4/packages/contacts/lib/contacts.xql 10 Mar 2006 09:40:27 -0000 1.21 @@ -4,22 +4,51 @@ select - distinct parties.party_id, $sort_item + distinct p.party_id, $sort_item from - $last_modified_join parties - $left_join - 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 ), + parties p + $left_join, cr_items ci, cr_revisions cr, group_distinct_member_map where - parties.party_id = group_distinct_member_map.member_id + p.party_id = group_distinct_member_map.member_id + and ci.item_id = p.party_id and ci.latest_revision = cr.revision_id and group_distinct_member_map.group_id in ('[join [contacts::default_groups] "','"]') - $last_modified_clause - [contact::search_clause -and -search_id $search_id -query $query -party_id "parties.party_id" -revision_id "revision_id"] + [contact::search_clause -and -search_id $search_id -query $query -party_id "p.party_id" -revision_id "revision_id"] [template::list::orderby_clause -orderby -name "contacts"] + + + select + o.organization_id + from organizations o, + cr_items ci, cr_revisions cr, + group_distinct_member_map + where + o.organization_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id in ('[join [contacts::default_groups] "','"]') + and ci.item_id = o.organization_id and ci.latest_revision = cr.revision_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "o.organization_id" -revision_id "revision_id"] + [template::list::orderby_clause -orderby -name "contacts"] + + + + + + select + p.person_id + from persons p, cr_items ci, cr_revisions cr, + group_distinct_member_map + where + p.person_id = group_distinct_member_map.member_id + and group_distinct_member_map.group_id in ('[join [contacts::default_groups] "','"]') + and ci.item_id = p.person_id and ci.latest_revision = cr.revision_id + [contact::search_clause -and -search_id $search_id -query $query -party_id "p.person_id" -revision_id "revision_id"] + [template::list::orderby_clause -orderby -name "contacts"] + + + select $extend_query @@ -28,11 +57,10 @@ parties.party_id, parties.email, parties.url - from $last_modified_join parties + from parties left join persons on (parties.party_id = persons.person_id) - left join organizations on (parties.party_id = organizations.organization_id) - where 1 = 1 -$last_modified_clause + left join organizations on (parties.party_id = organizations.organization_id), cr_items ci, cr_revisions cr + where ci.item_id = party_id and ci.latest_revision = cr.revision_id [template::list::page_where_clause -and -name "contacts" -key "party_id"] $group_by_group_id [template::list::orderby_clause -orderby -name "contacts"]