Index: openacs-4/packages/contacts/lib/contact-relationships.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/lib/contact-relationships.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/contacts/lib/contact-relationships.tcl 28 Dec 2005 12:38:11 -0000 1.6 +++ openacs-4/packages/contacts/lib/contact-relationships.tcl 20 Feb 2006 22:01:02 -0000 1.7 @@ -23,28 +23,30 @@ } multirow create rels relationship relation_url contact contact_url attribute value -set groups_belonging_to [db_list get_party_groups { select group_id from group_distinct_member_map where member_id = :party_id and group_id >0}] +set groups_belonging_to [db_list get_party_groups { select group_id from group_distinct_member_map where member_id = :party_id and group_id > 0}] lappend groups_belonging_to [contacts::default_group] db_foreach get_relationships {} { - set contact_url [contact::url -party_id $other_party_id] - if {[organization::organization_p -party_id $other_party_id]} { - set other_object_type "organization" - } else { - set other_object_type "person" - } - set relation_url [export_vars -base "/contacts/add/$other_object_type" -url {{group_ids $groups_belonging_to} {object_id_two "$party_id"} rel_type}] - set role_singular [lang::util::localize $role_singular] - multirow append rels $role_singular $relation_url $other_name $contact_url {} {} + if { [contact::visible_p -party_id $other_party_id] } { + set contact_url [contact::url -party_id $other_party_id] + if {[organization::organization_p -party_id $other_party_id]} { + set other_object_type "organization" + } else { + set other_object_type "person" + } + set relation_url [export_vars -base "[ad_conn package_url]add/$other_object_type" -url {{group_ids $groups_belonging_to} {object_id_two "$party_id"} rel_type}] + set role_singular [lang::util::localize $role_singular] + multirow append rels $role_singular $relation_url $other_name $contact_url {} {} - # NOT YET IMPLEMENTED - Checking to see if role_singular or role_plural is needed + # NOT YET IMPLEMENTED - Checking to see if role_singular or role_plural is needed - if { [ams::list::exists_p -package_key "contacts" -object_type ${rel_type} -list_name ${package_id}] } { - set details_list [ams::values -package_key "contacts" -object_type $rel_type -list_name $package_id -object_id $rel_id -format "text"] - - if { [llength $details_list] > 0 } { - foreach {section attribute_name pretty_name value} $details_list { - multirow append rels $role_singular $relation_url $other_name $contact_url $pretty_name $value - } - } + if { [ams::list::exists_p -package_key "contacts" -object_type ${rel_type} -list_name ${package_id}] } { + set details_list [ams::values -package_key "contacts" -object_type $rel_type -list_name $package_id -object_id $rel_id -format "text"] + + if { [llength $details_list] > 0 } { + foreach {section attribute_name pretty_name value} $details_list { + multirow append rels $role_singular $relation_url $other_name $contact_url $pretty_name $value + } + } + } } }