Index: openacs-4/packages/invoices/www/offer-ae.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/www/offer-ae.tcl,v diff -u -r1.20 -r1.21 --- openacs-4/packages/invoices/www/offer-ae.tcl 25 Jan 2006 17:04:34 -0000 1.20 +++ openacs-4/packages/invoices/www/offer-ae.tcl 15 Mar 2006 17:05:06 -0000 1.21 @@ -68,7 +68,7 @@ db_1row get_organization_and_currencies {} set files {} db_foreach get_files {} { - lappend files [list "$file_name ($file_length bytes)" $file_id] + lappend files [list "$file_name ($file_length bytes)" $file_id] } set cur_vat_percent [format "%.1f" $cur_vat_percent] @@ -175,16 +175,50 @@ ad_form -extend -name iv_offer_form -form { {creator_name:text,optional {label "[_ invoices.iv_offer_creation_user]"} {html {size 80 maxlength 200}} {help_text "[_ invoices.iv_offer_creation_user_help]"}} {creation_date:text,optional {label "[_ invoices.iv_offer_creation_date]"} {html {size 12 maxlength 10}} {help_text "[_ invoices.iv_offer_creation_date_help]"}} - {finish_date:text,optional {label "[_ invoices.iv_offer_finish_date]"} {html {size 12 maxlength 10}} {help_text "[_ invoices.iv_offer_finish_date_help]"}} - {date_comment:text,optional {label "[_ invoices.iv_offer_date_comment]"} {html {size 80 maxlength 1000}} {help_text "[_ invoices.iv_offer_date_comment_help]"}} } if {![empty_string_p $accepted_date]} { ad_form -extend -name iv_offer_form -form { {accepted_date:text,optional {label "[_ invoices.iv_offer_accepted_date]"} {html {size 12 maxlength 10}} {help_text "[_ invoices.iv_offer_accepted_date_help]"}} } } +} +if {[exists_and_not_null _project_id]} { + # display timings of all subprojects + + set subprojects [db_list_of_lists all_subprojects { + select p.title, to_char(p.planned_end_date,'YYYY-MM-DD HH24:MI:SS') + from pm_projectsx p, cr_items i + where p.parent_id = :item_id + and p.project_id = i.latest_revision + }] + + # set subprojects "" + + set i 0 + foreach one_subproject $subprojects { + incr i + util_unlist $one_subproject subproject_title subproject_finish_date + set subproject_finish_date [lc_time_fmt $subproject_finish_date "%x %X"] + + ad_form -extend -name iv_offer_form -form \ + [list [list "sub_finish_date.${i}:text(inform),optional" \ + [list label "[_ invoices.iv_offer_project_date] $subproject_title"] \ + [list html [list size 12 maxlength 10]] \ + [list value $subproject_finish_date] \ + [list help_text "[_ invoices.iv_offer_subproject_finish_date_help]"] ] ] + } +} + +if {$has_submit} { + # we are just displaying an offer + + ad_form -extend -name iv_offer_form -form { + {finish_date:text,optional {label "[_ invoices.iv_offer_finish_date]"} {html {size 12 maxlength 10}} {help_text "[_ invoices.iv_offer_finish_date_help]"}} + {date_comment:text,optional {label "[_ invoices.iv_offer_date_comment]"} {html {size 80 maxlength 1000}} {help_text "[_ invoices.iv_offer_date_comment_help]"}} + } + } else { # we are adding/editing data @@ -196,13 +230,13 @@ } ad_form -extend -name iv_offer_form -form { - {payment_days:integer,optional {label "[_ invoices.iv_offer_payment_days]"} {html {size 5 maxlength 5}} {help_text "[_ invoices.iv_offer_payment_days_help]"}} + {payment_days:integer,optional {mode display} {label "[_ invoices.iv_offer_payment_days]"} {html {size 5 maxlength 5}} {help_text "[_ invoices.iv_offer_payment_days_help]"}} } if {!$has_submit} { # we are adding/editing data ad_form -extend -name iv_offer_form -form { - {vat_percent:float {label "[_ invoices.iv_offer_vat_percent]"} {html {size 5 maxlength 10}} {help_text "[_ invoices.iv_offer_vat_percent_help]"} {after_html {%}}} + {vat_percent:float {mode display} {label "[_ invoices.iv_offer_vat_percent]"} {html {size 5 maxlength 10}} {help_text "[_ invoices.iv_offer_vat_percent_help]"} {after_html {%}}} {currency:text(select) {mode display} {label "[_ invoices.iv_offer_currency]"} {options $currency_options} {help_text "[_ invoices.iv_offer_currency_help]"}} } @@ -255,6 +289,12 @@ db_foreach offer_items {} -column_array item { incr i + if {[empty_string_p $item(price_per_unit)]} { + set item(price_per_unit) 0 + } + if {[empty_string_p $item(item_units)]} { + set item(item_units) 0 + } set item(price_per_unit) [format "%.2f" $item(price_per_unit)] set item(amount_sum) [format "%.2f" [expr $item(item_units) * $item(price_per_unit)]] set item(amount_total) [format "%.2f" [expr (1. - ($item(rebate) / 100.)) * $item(amount_sum)]] @@ -342,6 +382,7 @@ [list [list "item_category.${i}:text(category)" \ [list label "[_ invoices.iv_offer_item_category]"] \ [list value [list $item(offer_item_id) $container_objects(offer_item_id)]] \ + [list html [list onChange setItemPrice(${i})]] \ [list help_text "[_ invoices.iv_offer_item_category_help]"] \ [list section "[_ invoices.iv_offer_item_1] $i"] ] ] ad_form -extend -name iv_offer_form -form \ @@ -361,9 +402,9 @@ [list after_html $currency] \ [list section "[_ invoices.iv_offer_item_1] $i"] ] ] ad_form -extend -name iv_offer_form -form \ - [list [list "amount_sum.${i}:float(inform)" \ + [list [list "amount_sum.${i}:float,optional" \ [list label "[_ invoices.iv_offer_item_amount]"] \ - [list html [list size 10 maxlength 10]] \ + [list html [list size 10 maxlength 10 disabled t]] \ [list value $item(amount_sum)] \ [list help_text "[_ invoices.iv_offer_item_amount_help]"] \ [list after_html $currency] \ @@ -525,12 +566,12 @@ set finish_time "" if {[exists_and_not_null project_title]} { set title "[_ invoices.iv_offer_1] $project_title" + set offer_nr $project_title } else { set title "[_ invoices.iv_offer_1] $organization_name $today" } # We do not want a seperate offer_number but use the project title # set offer_nr [db_nextval iv_offer_seq] - set offer_nr $project_title set amount_sum "0.00" set amount_total "0.00" set credit_sum "0.00" @@ -610,11 +651,19 @@ set item(title) "#invoices.iv_offer_item_title_cat_2# ($from_cat -> $to_cat)" } } + if {[empty_string_p $item(title)]} { + set item(title) [category::get_name $item(category)] + } + if {[empty_string_p $item(price)]} { + set item(price) 0 set item(sum) "0" } else { set item(sum) [expr $item(units) * $item(price)] } + if {[empty_string_p $item(units)]} { + set item(units) 0 + } set item(total) [expr (1. - ($item(rebate)/100.)) * $item(sum)] set item(vat) [expr $vat_percent * $item(total) / 100.] set items($i) [array get item] @@ -795,6 +844,7 @@ } } + set return_url "" if {[empty_string_p $return_url]} { ad_returnredirect [export_vars -base offer-ae {offer_id {mode display}}] ad_script_abort