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.12 -r1.13 --- openacs-4/packages/contacts/lib/contact-relationships.tcl 3 May 2006 22:38:55 -0000 1.12 +++ openacs-4/packages/contacts/lib/contact-relationships.tcl 22 Aug 2006 16:27:12 -0000 1.13 @@ -22,6 +22,7 @@ set package_id [ad_conn package_id] } +set contacts_default_group [contacts::default_group -package_id $package_id] if {![exists_and_not_null sort_by_date_p]} { set sort_by_date_p 0 @@ -33,38 +34,42 @@ set sort_order upper(other_name) } -multirow create rels relationship relation_url rel_id contact contact_url attribute value creation_date +multirow create rels relationship relation_url rel_id contact contact_url attribute value creation_date 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" - } - if {[string eq $rel_type "contact_rels_employment"]} { - 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}] - } else { - set relation_url "" - } - - set creation_date [lc_time_fmt $creation_date %q] - set role_singular [lang::util::localize $role_singular] - multirow append rels $role_singular $relation_url $rel_id $other_name $contact_url {} {} $creation_date - - # 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 {[group::party_member_p -party_id $other_party_id -group_id $contacts_default_group]} { + 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" + } + if {[string eq $rel_type "contact_rels_employment"]} { + 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}] + } else { + set relation_url "" + } - if { [llength $details_list] > 0 } { - foreach {section attribute_name pretty_name value} $details_list { - multirow append rels $role_singular $relation_url $rel_id $other_name $contact_url $pretty_name $value $creation_date + set creation_date [lc_time_fmt $creation_date %q] + set role_singular [lang::util::localize $role_singular] + set other_name [contact::name -party_id $other_party_id -reverse_order] + multirow append rels $role_singular $relation_url $rel_id $other_name $contact_url {} {} $creation_date + + # 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 $rel_id $other_name $contact_url $pretty_name $value $creation_date + } } } } } +template::multirow sort rels relationship contact \ No newline at end of file