Index: openacs-4/packages/contacts/www/message.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/contacts/www/message.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/contacts/www/message.tcl 7 Jun 2005 07:45:40 -0000 1.2 +++ openacs-4/packages/contacts/www/message.tcl 15 Jun 2005 05:04:46 -0000 1.3 @@ -8,7 +8,7 @@ {party_id:integer,multiple,optional} {party_ids:optional} {message_id:integer,optional} - {message_type:optional} + {message_type ""} {message:optional} {return_url "./"} } -validate { @@ -57,9 +57,6 @@ } set title [_ contacts.create_a_message] } else { - append form_elements { - {message_type:text(hidden)} - } set title [_ contacts.create_$message_type] } set context [list $title] @@ -69,131 +66,48 @@ {message:text(select) {label "[_ contacts.Message]"} {options {{{-- Create New Message --} new}}}} } set edit_buttons [list [list "[_ contacts.Next]" create]] -} else { - append form_elements { - {message:text(hidden)} - } - if { $message_type == "email" } { - append form_elements { - {subject:text(text),optional - {label "[_ contacts.Subject]"} - {html {size 55}} - } - {content:text(textarea),optional - {label "[_ contacts.Message]"} - {html {cols 55 rows 18}} - {help_text {remember that you can use mail merge substitutions. the most common wildcards are \{name\} \{first_names\}, \{last_name\}, \{home_address\} and \{date\}}} - } + + ad_form -action message \ + -name message \ + -cancel_label "[_ contacts.Cancel]" \ + -cancel_url $return_url \ + -edit_buttons $edit_buttons \ + -form $form_elements \ + -on_request { + } -new_request { + } -edit_request { + } -on_submit { } - } elseif { $message_type == "letter" } { - set todays_date [lc_time_fmt [dt_sysdate] "%q"] - append form_elements { - {paper_type:text(select),optional - {label "[_ contacts.Paper_Type]"} - {options {{{Letter} letter} {Letterhead letterhead}}} - } - {date:text(inform),optional - {label "[_ contacts.Date]"} - {value $todays_date} - } - {address:text(inform),optional - {label "[_ contacts.Address]"} - {value "{name}
{mailing_address}"} - {help_text {The recipeints name and mailing address will automatically be included so that they work with window envelopes}} - } - {content:richtext(richtext),optional - {label "[_ contacts.Message]"} - {html {cols 70 rows 24}} - {help_text {[_ contacts.lt_remember_that_you_can]}} - } - } - } else { - error "[_ contacts.lt_labels_are_not_implem]" - } - set sig_options "{{[_ contacts.lt_--_no_not_include_a_s]} \"none\"} [db_list_of_lists select_sigs {select title, signature from contact_signatures where party_id = :user_id}]" - append form_elements { - {include_signature:text(select),optional {label "[_ contacts.Signature]"} {options $sig_options} {help_text {you may modify [_ contacts.your_signatures]}}} - {save_as:text(text),optional {label "[_ contacts.Save_Message_As]"} {html {size 35}}} - } - append form_elements - set edit_buttons [list [list "[_ contacts.Preview]" create]] } - - - -ad_form -action message \ - -name message \ - -cancel_label "[_ contacts.Cancel]" \ - -cancel_url $return_url \ - -edit_buttons $edit_buttons \ - -form $form_elements \ - -on_request { - } -new_request { - } -edit_request { - } -on_submit { - if { [exists_and_not_null include_signature] } { - # we need to do validation - switch $message_type { - letter { - set content_raw [string trim \ - [ad_html_text_convert \ - -from [template::util::richtext::get_property format $content] \ - -to "text/plain" \ - [template::util::richtext::get_property content $content] \ - ] \ - ] - if { $content_raw == "" } { - template::element set_error message content "[_ contacts.Message_is_required]" - } - } - email { - if { [string trim $subject] == "" } { - template::element set_error message subject "[_ contacts.Subject_is_required]" - } - if { [string trim $content] == "" } { - template::element set_error message content "[_ contacts.Message_is_required]" - } - } - } +if { [exists_and_not_null include_signature] } { + # we had good input + switch $message_type { + letter { + set content [ad_html_text_convert -from [template::util::richtext::get_property format $content] -to "text/html" [template::util::richtext::get_property content $content]] + set subject "" } + email { + set this_subject [string trim $subject] + } } - - - - -if { [string is false [::template::form::is_valid message]] } { - ad_return_template message -} else { - if { [exists_and_not_null include_signature] } { - # we had good input - switch $message_type { - letter { - set content [ad_html_text_convert -from [template::util::richtext::get_property format $content] -to "text/html" [template::util::richtext::get_property content $content]] - set subject "" - } - email { - set this_subject [string trim $subject] - } + set from [contact::name -party_id [ad_conn user_id]] + template::multirow create messages message_type to subject content + foreach party_id $party_ids { + set name [contact::name -party_id $party_id] + set first_names [lindex $name 0] + set last_name [lindex $name 1] + set date [lc_time_fmt [dt_sysdate] "%q"] + set to $name + set values [list] + foreach element [list first_names last_name name date] { + lappend values [list "{$element}" [set $element]] } - set from [contact::name -party_id [ad_conn user_id]] - template::multirow create messages message_type to subject content - foreach party_id $party_ids { - set name [contact::name -party_id $party_id] - set first_names [lindex $name 0] - set last_name [lindex $name 1] - set date [lc_time_fmt [dt_sysdate] "%q"] - set to $name - set values [list] - foreach element [list first_names last_name name date] { - lappend values [list "{$element}" [set $element]] - } - template::multirow append messages $message_type $to [contact::util::interpolate -text $subject -values $values] [contact::util::interpolate -text $content -values $values] - } - - ad_return_template message-messages - } else { - ad_return_template message + template::multirow append messages $message_type $to [contact::util::interpolate -text $subject -values $values] [contact::util::interpolate -text $content -values $values] } + + ad_return_template message-messages +} else { + ad_return_template message }