Index: openacs-4/packages/invoices/tcl/invoice-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/invoice-procs.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/invoices/tcl/invoice-procs.tcl 7 Nov 2005 23:10:51 -0000 1.8 +++ openacs-4/packages/invoices/tcl/invoice-procs.tcl 14 Dec 2005 17:44:20 -0000 1.9 @@ -186,9 +186,10 @@ # Get the invoice data db_1row get_data {} -column_array invoice set invoice(creator_name) "$invoice(first_names) $invoice(last_name)" - set invoice(amount_diff) [lc_numeric [format "%.2f" [expr $invoice(total_amount) - $invoice(amount_sum)]] "" $locale] + set invoice(amount_diff) [format "%.2f" [expr $invoice(total_amount) - $invoice(amount_sum)]] + set amount_diff $invoice(amount_diff) + set invoice(amount_diff) [lc_numeric $invoice(amount_diff) "" $locale] set invoice(final_amount) [lc_numeric [format "%.2f" [expr $invoice(total_amount)+$invoice(vat)]] "" $locale] - set invoice(vat_percent) [lc_numeric [format "%.1f" $invoice(vat_percent)] "" $locale] set invoice(vat) [lc_numeric [format "%.2f" $invoice(vat)] "" $locale] set invoice(amount_sum) [lc_numeric [format "%.2f" $invoice(amount_sum)] "" $locale] set invoice(total_amount) [lc_numeric [format "%.2f" $invoice(total_amount)] "" $locale] @@ -198,25 +199,46 @@ set invoice(due_date) [lc_time_fmt $invoice(due_date) $time_format] set name [contact::name -party_id $recipient_id] - set invoice(rep_first_names) [lindex $name 0] - set invoice(rep_last_name) [lindex $name 1] + set invoice(rep_first_names) [lindex $name 1] + set invoice(rep_last_name) [string trim [lindex $name 0] ,] set invoice(recipient_name) "$invoice(rep_first_names) $invoice(rep_last_name)" set rec_organization_id [contact::util::get_employee_organization -employee_id $invoice(recipient_id)] + set orga_revision_id [content::item::get_best_revision -item_id $invoice(organization_id)] + set rec_revision_id [content::item::get_best_revision -item_id $recipient_id] set invoice(mailing_address) [contact::message::mailing_address -party_id $invoice(organization_id) -format "text/html"] set invoice(organization_name) [contact::name -party_id $invoice(organization_id)] - # set locale [lang::user::site_wide_locale -user_id $invoice(recipient_id)] - # set locale de_DE + set invoice(company_name_ext) [ams::value -attribute_name "company_name_ext" -object_id $orga_revision_id -locale $locale] + set invoice(sticker_salutation) [ams::value -attribute_name "sticker_salutation" -object_id $rec_revision_id -locale $locale] + if {[empty_string_p $invoice(sticker_salutation)]} { + set invoice(sticker_salutation) $name + } + set sum 0. db_multirow -local -extend {amount_sum amount_total category} invoice_items invoice_items {} { + if {[empty_string_p $credit_percent]} { + set credit_percent 0 + } + set item_units [format "%.2f" [expr $item_units * (1. + ($credit_percent / 100.))]] set amount_sum [format "%.2f" [expr $item_units * $price_per_unit]] - set amount_total [lc_numeric [format "%.2f" [expr (1. - ($rebate / 100.)) * $amount_sum]] "" $locale] + set amount_total [format "%.2f" [expr (1. - ($rebate / 100.)) * $amount_sum]] + set sum [expr $sum + $amount_total] + set amount_total [lc_numeric $amount_total "" $locale] set amount_sum [lc_numeric $amount_sum "" $locale] set price_per_unit [lc_numeric [format "%.2f" $price_per_unit] "" $locale] set item_units [lc_numeric [format "%.2f" $item_units] "" $locale] set rebate [lc_numeric [format "%.1f" $rebate] "" $locale] set category [lang::util::localize [category::get_name $category_id]] } + set invoice(amount_sum) $sum + set invoice(total_amount) [expr $sum + $amount_diff] + set invoice(vat) [expr $invoice(vat_percent) * $invoice(total_amount) / 100.] + set invoice(final_amount) [lc_numeric [format "%.2f" [expr $invoice(total_amount)+$invoice(vat)]] "" $locale] + set invoice(vat_percent) [lc_numeric [format "%.1f" $invoice(vat_percent)] "" $locale] + set invoice(vat) [lc_numeric [format "%.2f" $invoice(vat)] "" $locale] + set invoice(amount_sum) [lc_numeric [format "%.2f" $invoice(amount_sum)] "" $locale] + set invoice(total_amount) [lc_numeric [format "%.2f" $invoice(total_amount)] "" $locale] + set file_url [parameter::get -parameter $template] if {![empty_string_p $file_url]} { Index: openacs-4/packages/invoices/tcl/invoice-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/invoice-procs.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/invoices/tcl/invoice-procs.xql 23 Oct 2005 18:27:17 -0000 1.3 +++ openacs-4/packages/invoices/tcl/invoice-procs.xql 14 Dec 2005 17:44:20 -0000 1.4 @@ -87,21 +87,22 @@ ii.item_units, ii.price_per_unit, ii.item_nr, ii.rebate, ii.vat, m.category_id, ofi.file_count, ofi.page_count, pr.title as project_title, p.project_code, - pi.item_id as project_id - from iv_offer_items ofi, cr_items ci, cr_revisions cr, - category_object_map m, iv_invoice_items ii, cr_revisions oor, - acs_rels r, cr_items pi, cr_revisions pr, pm_projects p + pi.item_id as project_id, o.credit_percent + from cr_items ci, cr_revisions cr, iv_invoice_items ii, cr_revisions oor, + acs_rels r, cr_items pi, cr_revisions pr, pm_projects p, iv_offers o, + iv_offer_items ofi + left outer join category_object_map m on (m.object_id = ofi.offer_item_id) where ci.latest_revision = ii.invoice_id and cr.revision_id = ii.iv_item_id and ci.item_id = :invoice_id - and m.object_id = ofi.offer_item_id and ofi.offer_item_id = ii.offer_item_id and oor.revision_id = ofi.offer_id and r.object_id_two = oor.item_id and r.object_id_one = pi.item_id and r.rel_type = 'application_data_link' and pi.latest_revision = pr.revision_id and pr.revision_id = p.project_id + and o.offer_id = ofi.offer_id order by ii.sort_order 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.8 -r1.9 --- openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl 2 Dec 2005 14:27:38 -0000 1.8 +++ openacs-4/packages/invoices/tcl/invoices-callback-procs.tcl 14 Dec 2005 17:44:20 -0000 1.9 @@ -325,12 +325,21 @@ and p.customer_id = :organization_id }] + set root_folder_id [lindex [application_data_link::get_linked -from_object_id $organization_id -to_object_type content_folder] 0] + foreach folder {invoices offers accepted} { + if {[empty_string_p [fs::get_folder -name $folder -parent_id $root_folder_id]]} { + set folder_id [fs::new_folder \ + -name $folder \ + -pretty_name "#invoices.${folder}#" \ + -parent_id $root_folder_id \ + -no_callback] + } + } + if {[lsearch $group_ids $group_id] >-1 && !$already_offer_p} { # Create the new project and credit offer foreach package_id [apm_package_id_from_key invoices] { iv::offer::new_credit -organization_id $organization_id -package_id $package_id - # add folders invoices, offers, accepted - # callback: test if folder exists } } } Index: openacs-4/packages/invoices/tcl/offer-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/tcl/offer-procs.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/invoices/tcl/offer-procs.tcl 26 Oct 2005 12:33:37 -0000 1.9 +++ openacs-4/packages/invoices/tcl/offer-procs.tcl 14 Dec 2005 17:44:20 -0000 1.10 @@ -206,9 +206,14 @@ set offer(vat) [lc_numeric [format "%.2f" $offer(vat)] "" $locale] set offer(amount_sum) [lc_numeric [format "%.2f" $offer(amount_sum)] "" $locale] set offer(amount_total) [lc_numeric [format "%.2f" $offer(amount_total)] "" $locale] - set revision_id [contact::live_revision -party_id $recipient_id] - # set offer(salutation) [ams::value -attribute_name "salutation" -object_id $revision_id -locale $locale] - set offer(salutation) "Sehr geehrter" + set orga_revision_id [content::item::get_best_revision -item_id $offer(organization_id)] + set rec_revision_id [content::item::get_best_revision -item_id $recipient_id] + set offer(salutation) [ams::value -attribute_name "salutation" -object_id $rec_revision_id -locale $locale] + set offer(company_name_ext) [ams::value -attribute_name "company_name_ext" -object_id $orga_revision_id -locale $locale] + set offer(sticker_salutation) [ams::value -attribute_name "sticker_salutation" -object_id $rec_revision_id -locale $locale] + if {[empty_string_p $offer(sticker_salutation)]} { + set offer(sticker_salutation) $name + } set time_format "[lc_get -locale $locale d_fmt] [lc_get -locale $locale t_fmt]" set offer(finish_date) [lc_time_fmt $offer(finish_date) $time_format] @@ -217,8 +222,8 @@ set offer(recipient_id) $recipient_id set offer(name) [contact::name -party_id $recipient_id] - set offer(rep_first_names) [lindex $offer(name) 0] - set offer(rep_last_name) [lindex $offer(name) 1] + set offer(rep_first_names) [lindex $offer(name) 1] + set offer(rep_last_name) [string trim [lindex $offer(name) 0] ,] set offer(recipient_name) "$offer(rep_first_names) $offer(rep_last_name)" set rec_organization_id [contact::util::get_employee_organization -employee_id $offer(recipient_id)] set offer(mailing_address) [contact::message::mailing_address -party_id $offer(organization_id) -format "text/html"]