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