Index: openacs-4/packages/contacts/lib/contact-relationships-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contact-relationships-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/contacts/lib/contact-relationships-postgresql.xql 21 Jun 2005 12:25:18 -0000 1.1 +++ openacs-4/packages/contacts/lib/contact-relationships-postgresql.xql 24 Sep 2005 11:12:38 -0000 1.2 @@ -3,21 +3,22 @@ -select rel_id, other_name, other_party_id, role_singular, role_plural, rel_type, object_id_one, object_id_two - from ( select CASE WHEN object_id_one = :party_id THEN contact__name(object_id_two) ELSE contact__name(object_id_one) END as other_name, - CASE WHEN object_id_one = :party_id THEN object_id_two ELSE object_id_one END as other_party_id, +select rel_id, other_name, other_party_id, role_singular, role_plural, rel_type, sort_name + from ( select CASE WHEN object_id_one = :party_id THEN contact__name(object_id_two,'t') ELSE contact__name(object_id_one,'t') END as sort_name, + CASE WHEN object_id_one = :party_id THEN contact__name(object_id_two) ELSE contact__name(object_id_one) END as other_name, + CASE WHEN object_id_one = :party_id THEN object_id_two ELSE object_id_one END as other_party_id, CASE WHEN object_id_one = :party_id THEN role_two ELSE role_one END as role, CASE WHEN object_id_one = :party_id THEN acs_rel_type__role_pretty_name(role_two) ELSE acs_rel_type__role_pretty_name(role_one) END as role_singular, CASE WHEN object_id_one = :party_id THEN acs_rel_type__role_pretty_plural(role_two) ELSE acs_rel_type__role_pretty_name(role_two) END as role_plural, role_one, role_two, - acs_rels.rel_id, acs_rels.rel_type, object_id_one, object_id_two + acs_rels.rel_id, acs_rels.rel_type from acs_rels, acs_rel_types where acs_rels.rel_type = acs_rel_types.rel_type and ( object_id_one = :party_id or object_id_two = :party_id ) and acs_rels.rel_type in ( select object_type from acs_object_types where supertype = 'contact_rel') ) rels_temp - order by upper(role_singular) asc, CASE WHEN object_id_one = :party_id THEN upper(contact__name(object_id_two)) ELSE upper(contact__name(object_id_one)) END asc + order by upper(role_singular) asc, upper(sort_name)