Index: openacs-4/packages/contacts/tcl/contacts-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/tcl/contacts-procs-postgresql.xql,v diff -u -r1.23 -r1.24 --- openacs-4/packages/contacts/tcl/contacts-procs-postgresql.xql 28 Jan 2007 12:53:55 -0000 1.23 +++ openacs-4/packages/contacts/tcl/contacts-procs-postgresql.xql 12 Jun 2007 10:34:47 -0000 1.24 @@ -28,9 +28,8 @@ - select person_id - from persons - where person_id not in ( select item_id from cr_items ) + select person_id from persons + where person_id not in (select item_id from cr_items where content_type = 'contact_party_revision') and person_id > 0 @@ -152,20 +151,22 @@ - select groups.group_id, + select groups2.group_id, acs_objects.title as group_name, - ( select count(distinct gamm.member_id) from group_approved_member_map gamm where gamm.group_id = groups.group_id ) as member_count, - ( select count(distinct gcm.component_id) from group_component_map gcm where gcm.group_id = groups.group_id) as component_count, + ( select count(distinct gamm.member_id) from group_approved_member_map gamm where gamm.group_id = groups2.group_id ) as member_count, + ( select count(distinct gcm.component_id) from group_component_map gcm where gcm.group_id = groups2.group_id) as component_count, CASE WHEN contact_groups.package_id is not null THEN '1' ELSE '0' END as mapped_p, CASE WHEN default_p THEN '1' ELSE '0' END as default_p, CASE WHEN user_change_p THEN '1' ELSE '0' END as user_change_p - from groups left join ( select * from contact_groups where package_id = :package_id ) as contact_groups on ( groups.group_id = contact_groups.group_id ), acs_objects - where groups.group_id not in ('-1','[contacts::default_group -package_id $package_id]') - and groups.group_id = acs_objects.object_id - and groups.group_id not in ( select gcm.component_id from group_component_map gcm where gcm.group_id != -1 ) - and groups.group_id not in ( select group_id from application_groups ) + from (select g.* from groups g left join application_groups ag on (ag.group_id = g.group_id) + where package_id is null and group_name not like 'forumgroup_%') groups2 + left join ( select * from contact_groups where package_id = :package_id ) as contact_groups on ( groups2.group_id = contact_groups.group_id ), + acs_objects + where groups2.group_id not in ('-1','[contacts::default_group -package_id $package_id]') + and groups2.group_id = acs_objects.object_id + and groups2.group_id not in ( select gcm.component_id from group_component_map gcm where gcm.group_id != -1 ) $filter_clause - order by mapped_p desc, CASE WHEN contact_groups.default_p THEN '000000000' ELSE upper(groups.group_name) END + order by mapped_p desc, CASE WHEN contact_groups.default_p THEN '000000000' ELSE upper(groups2.group_name) END