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
}