Index: openacs-4/packages/invoices/www/offer-send.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/www/offer-send.tcl,v diff -u -r1.11 -r1.12 --- openacs-4/packages/invoices/www/offer-send.tcl 19 Dec 2005 20:10:04 -0000 1.11 +++ openacs-4/packages/invoices/www/offer-send.tcl 27 Dec 2005 16:39:35 -0000 1.12 @@ -27,27 +27,43 @@ if {[empty_string_p $accepted_date]} { # send pending offer - # set offer_text "{[_ invoices.iv_offer_email]}" + set offer_text "{#invoices.iv_offer_email#}" set subject [lang::util::localize "#invoices.iv_offer_email_subject#" $locale] set template "OfferTemplate" + set document_type "offer" set file_title [lang::util::localize "#invoices.file_offer#_${offer_nr}.pdf" $locale] } else { # send accepted offer - # set offer_text "{[_ invoices.iv_offer_accepted_email]}" + set offer_text "{#invoices.iv_offer_accepted_email#}" set subject [lang::util::localize "#invoices.iv_offer_accepted_email_subject#" $locale] set template "OfferAcceptedTemplate" + set document_type "accepted" set file_title [lang::util::localize "#invoices.file_offer_accepted#_${offer_nr}.pdf" $locale] } -set offer_text [iv::offer::parse_data -offer_id $offer_id -recipient_id $contact_id -template $template -locale $locale -accept_link $accept_link] +# substitute variables in invoice text +# and return the content of all necessary document files +# (opening, invoice/credit/cancellation, copy) +set documents [iv::offer::parse_data -offer_id $offer_id -type $document_type -email_text $offer_text] -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] - set file_ids [cr_import_content -title $file_title -description "PDF version of this offer" $offer_id $pdf_file $file_size application/pdf "[clock seconds]-[expr round([ns_rand]*100000)]"] +set offer_text [lindex $documents 0] + +set file_ids {} +set document_file [lindex $documents 1] +if {![empty_string_p $document_file]} { + set file_size [file size $document_file] + # set file_ids [contact::oo::import_oo_pdf -oo_file $document_file -printer_name "pdfconv" -title $file_title -parent_id $offer_id] + + set file_ids [cr_import_content -title $file_title -description "PDF version of this offer" $offer_id $document_file $file_size application/pdf "[clock seconds]-[expr round([ns_rand]*100000)]"] + content::item::set_live_revision -revision_id $file_ids + + db_dml set_publish_status {} +} + +if {[llength $file_ids] > 0} { set return_url [export_vars -base offer-pdf {offer_id {file_id $file_ids}}] } else { - set file_ids "" + set return_url "" } set project_id [lindex [application_data_link::get_linked -from_object_id $offer_id -to_object_type content_item] 0] @@ -69,24 +85,4 @@ ad_return_error "No Recipient" "The recipient does not have a valid e-mail address. Please go back and make sure that you provide an e-mail address first." } -# Set the task by default to phone three days later. -set due_date [clock format [clock scan "3 days" -base [clock scan [dt_systime]]] -format "%Y-%m-%d"] - -# Make sure to set the task only once -set task_generated_p [db_string task_generated "select count(*) from t_tasks where object_id=:offer_id and status_id <> 2"] - -if {!$task_generated_p && [apm_package_installed_p "tasks"]} { - - # Create a task for the saved offer - set task_id [tasks::task::new \ - -title "Nachfassen Angebot" \ - -description "Angebot Nr. $offer_nr" \ - -mime_type "text/plain" \ - -party_id $contact_id \ - -due_date ${due_date} \ - -object_id $offer_id \ - -mime_type "text/html" \ - -priority "1"] -} - ad_return_template