Index: openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl 5 Oct 2005 16:17:57 -0000 1.5 +++ openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl 12 Oct 2005 17:38:15 -0000 1.6 @@ -216,3 +216,73 @@ application_link::new -this_package_id $package_id -target_package_id $invoices_package_id } } + +ad_proc -public -callback acs_mail_lite::email_form_elements -impl invoices { + -varname:required +} { +} { + upvar elements $varname template_list template_list template_type template_type template_object template_object + + if {[exists_and_not_null template_list]} { + append elements { + {template:text(select) + {label "[_ invoices.email_template]"} + {options $template_list} + {section "[_ contacts.Message]"} + } + {template_type:text(hidden) + {value $template_type} + } + {template_object:text(hidden) + {value $template_object} + } + } + } +} + +ad_proc -public -callback acs_mail_lite::files -impl invoices { + -varname:required + -recipient_id +} { +} { + upvar file_ids $varname template template template_type template_type template_object template_object + + if {[exists_and_not_null template_type] && $template_type == "invoice"} { + + switch $template_type { + invoice { set pdf_title "Invoice" } + invoice_cancel { set pdf_title "Cancellation" } + invoice_credit { set pdf_title "Credit" } + offer { set pdf_title "Offer" } + offer_accpeted { set pdf_title "Accepted_Offer" } + } + + if {$template_type == "invoice" || $template_type == "invoice_cancel" || $template_type == "invoice_credit"} { + set invoice_id $template_object + set locale [lang::user::site_wide_locale -user_id $recipient_id] + set invoice_text [iv::invoice::parse_data -invoice_id $invoice_id -recipient_id $recipient_id -template $template -locale $locale] + + set pdf_file [text_templates::create_pdf_from_html -html_content "$invoice_text"] + if {![empty_string_p $pdf_file]} { + set file_size [file size $pdf_file] + lappend file_ids [cr_import_content -title "${pdf_title}_${invoice_id}.pdf" -description "PDF version of this offer" $invoice_id $pdf_file $file_size application/pdf "[clock seconds]-[expr round([ns_rand]*100000)]"]] + } + } + + if {$template_type == "offer" || $template_type == "offer_accepted"} { + set offer_id $template_object + set offer_rev_id [content::item::get_live_revision -item_id $offer_id] + set locale [lang::user::site_wide_locale -user_id $recipient_id] + + set x [iv::util::get_x_field -offer_id $offer_rev_id] + set accept_link [export_vars -base "[ad_url][ad_conn package_url]offer-accepted" {x {offer_id $offer_rev_id}}] + set offer_text [iv::offer::parse_data -offer_id $offer_id -recipient_id $recipient_id -template $template -locale $locale -accept_link $accept_link] + + set pdf_file [text_templates::create_pdf_from_html -html_content "$offer_text"] + if {![empty_string_p $pdf_file]} { + set file_size [file size $pdf_file] + lappend file_ids [cr_import_content -title "${pdf_title}_${offer_id}.pdf" -description "PDF version of this offer" $offer_id $pdf_file $file_size application/pdf "[clock seconds]-[expr round([ns_rand]*100000)]"] + } + } + } +}