Index: openacs-4/packages/contacts/www/contact-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/contact-add.tcl,v diff -u -r1.48 -r1.49 --- openacs-4/packages/contacts/www/contact-add.tcl 21 May 2006 00:43:42 -0000 1.48 +++ openacs-4/packages/contacts/www/contact-add.tcl 2 Jun 2006 09:18:31 -0000 1.49 @@ -100,6 +100,26 @@ -object_type $object_type \ -list_names $list_names] + +if { [parameter::get -boolean -package_id $package_id -parameter "ContactPrivacyEnabledP" -default "0"] } { + set privacy_setting_options [list] + if { $object_type eq "organization" } { + lappend privacy_setting_options [list [_ contacts.This_organization_has_closed_down] gone_p] + } else { + lappend privacy_setting_options [list [_ contacts.This_person_is_deceased] gone_p] + } + lappend privacy_setting_options [list [_ contacts.Do_not_email] email_p] + lappend privacy_setting_options [list [_ contacts.Do_not_mail] mail_p] + lappend privacy_setting_options [list [_ contacts.Do_not_phone] phone_p] + + lappend form_definition [list contact_privacy_settings:boolean(checkbox),multiple,optional \ + [list label [_ contacts.Privacy_Settings]] \ + [list options $privacy_setting_options] \ + ] +} + + + #ad_return_error "$object_type" "$list_names :: $form_definition" # Creating the form @@ -323,6 +343,35 @@ set object_type [_ contacts.$object_type] util_user_message -html -message "[_ contacts.lt_The_-object_type-_-contact_link-_was_added]" + if { [parameter::get -boolean -package_id $package_id -parameter "ContactPrivacyEnabledP" -default "0"] } { + set contact_privacy_settings [template::element::get_values party_ae contact_privacy_settings] + set gone_p 0 + set email_p 1 + set mail_p 1 + set phone_p 1 + if { [lsearch $contact_privacy_settings gone_p] >= 0 } { + set gone_p 1 + set email_p 0 + set mail_p 0 + set phone_p 0 + } else { + if { [lsearch $contact_privacy_settings email_p] >= 0 } { + set email_p 0 + } + if { [lsearch $contact_privacy_settings mail_p] >= 0 } { + set mail_p 0 + } + if { [lsearch $contact_privacy_settings phone_p] >= 0 } { + set phone_p 0 + } + } + contact::privacy_set \ + -party_id $party_id \ + -email_p $email_p \ + -mail_p $mail_p \ + -phone_p $phone_p \ + -gone_p $gone_p + } } -after_submit { contact::flush -party_id $party_id