Index: openacs-4/packages/contacts/tcl/contact-message-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/tcl/contact-message-procs.tcl,v diff -u -r1.23 -r1.24 --- openacs-4/packages/contacts/tcl/contact-message-procs.tcl 20 Feb 2006 10:55:48 -0000 1.23 +++ openacs-4/packages/contacts/tcl/contact-message-procs.tcl 20 Feb 2006 21:24:21 -0000 1.24 @@ -181,8 +181,8 @@ # if this person is the employee of # an organization we can attempt to use # that organizations email address - foreach employer_id [contact::util::get_employers -employee_id $party_id] { - set email [contact::email -party_id $employer_id] + foreach employer [contact::util::get_employers -employee_id $party_id] { + set email [contact::email -party_id [lindex $employer 0]] if { $email ne "" } { break } @@ -208,14 +208,18 @@ ad_proc -private contact::message::mailing_address { {-party_id:required} {-format "text/plain"} + {-package_id ""} } { Returns a parties mailing address. Cached } { regsub -all "text/" $format "" format if { $format != "html" } { set format "text" } - return [util_memoize [list ::contact::message::mailing_address_not_cached -party_id $party_id -format $format -package_id [ad_conn package_id]]] + if { $package_id eq "" } { + set package_id [ad_conn package_id] + } + return [util_memoize [list ::contact::message::mailing_address_not_cached -party_id $party_id -format $format -package_id $package_id]] } ad_proc -private contact::message::mailing_address_not_cached { @@ -241,8 +245,8 @@ # if this person is the employee of # an organization we can attempt to use # that organizations email address - foreach employer_id [contact::util::get_employers -employee_id $party_id] { - set mailing_address [contact::message::mailing_address -party_id $employer_id -package_id $package_id] + foreach employer [contact::util::get_employers -employee_id $party_id] { + set mailing_address [contact::message::mailing_address -party_id [lindex $employer 0] -package_id $package_id] if { $mailing_address ne "" } { break } Index: openacs-4/packages/contacts/tcl/contacts-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/tcl/contacts-procs.tcl,v diff -u -r1.62 -r1.63 --- openacs-4/packages/contacts/tcl/contacts-procs.tcl 20 Feb 2006 20:49:28 -0000 1.62 +++ openacs-4/packages/contacts/tcl/contacts-procs.tcl 20 Feb 2006 21:24:21 -0000 1.63 @@ -178,7 +178,7 @@ @return List of lists, each containing the ID and name of an employer, or an empty list if no employers exist. } { - return [util_memoize [list contact::util::get_employers_not_cached -employee_id $employee_id]] + return [util_memoize [list ::contact::util::get_employers_not_cached -employee_id $employee_id]] } ad_proc -private contact::util::get_employers_not_cached { @@ -470,14 +470,8 @@ } { Flush memorized information related to this contact } { - util_memoize_flush "::contact::email_address_exists_p_not_cached -party_id $party_id" - util_memoize_flush "::contact::mailing_address_exists_p_not_cached -party_id $party_id" - util_memoize_flush "::contact::mailing_address_not_cached -party_id $party_id -format html" - util_memoize_flush "::contact::mailing_address_not_cached -party_id $party_id -format text" - util_memoize_flush "::contact::name_not_cached -party_id $party_id" - util_memoize_flush "::contact::email_not_cached -party_id $party_id" - util_memoize_flush_regexp "::contact::employee::get_not_cached -employee_id $party_id *" - util_memoize_flush_regexp "::contact::employee_not_cached -employee_id $party_id" + util_memoize_flush_regexp "contact(.*?)-party_id ${party_id}" + util_memoize_flush_regexp "contact(.*?)-employee_id ${party_id}" } ad_proc -public contact::name { @@ -621,7 +615,7 @@ if { [string is false [exists_and_not_null package_id]] } { set package_id [ad_conn package_id] } - return [util_memoize [list contact::visible_p_not_cached -party_id $party_id -package_id $package_id]] + return [util_memoize [list ::contact::visible_p_not_cached -party_id $party_id -package_id $package_id]] } ad_proc -private contact::visible_p_not_cached {