Index: openacs-4/packages/invoices/lib/invoice-list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/invoices/lib/invoice-list.tcl,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/invoices/lib/invoice-list.tcl 15 Mar 2006 17:05:05 -0000 1.12
+++ openacs-4/packages/invoices/lib/invoice-list.tcl 2 Apr 2006 22:08:02 -0000 1.13
@@ -33,6 +33,20 @@
}
}
+set start_where_clause "1 = 1"
+if {[exists_and_not_null start_date] && $start_date != "YYYY-MM-DD" && [regexp {^([0-9]+)\-([0-9]+)\-([0-9]+)} $start_date match year month day]} {
+ set start_where_clause "o.creation_date >= to_timestamp(:start_date, 'YYYY-MM-DD')"
+} elseif {[info exists start_date]} {
+ unset start_date
+}
+
+set end_where_clause "1 = 1"
+if {[exists_and_not_null end_date] && $end_date != "YYYY-MM-DD" && [regexp {^([0-9]+)\-([0-9]+)\-([0-9]+)} $end_date match year month day]} {
+ append end_where_clause " and o.creation_date <= to_timestamp(:end_date, 'YYYY-MM-DD')"
+} elseif {[info exists end_date]} {
+ unset end_date
+}
+
set user_id [ad_conn user_id]
set timestamp_format "YYYY-MM-DD HH24:MI:SS"
set bulk_actions [list "[_ invoices.iv_invoice_send]" "${base_url}invoices-view" "[_ invoices.iv_invoice_send]" "[_ invoices.iv_invoice_pay]" "${base_url}invoice-pay" "[_ invoices.iv_invoice_pay]"]
@@ -50,6 +64,8 @@
}
}
+lappend actions "[_ invoices.iv_invoice_url]" $base_url "[_ invoices.iv_invoice_url2]"
+
if {$invoice_cancel_p} {
lappend actions "[_ invoices.iv_journal_check]" "${base_url}journal-check" "[_ invoices.iv_journal_check]"
}
@@ -72,6 +88,7 @@
}
description {
label {[_ invoices.iv_invoice_Description]}
+ display_template {@iv_invoice.description;noquote@}
}
total_amount {
label {[_ invoices.iv_invoice_total_amount]}
@@ -100,7 +117,14 @@
display_template {[_ invoices.iv_invoice_status_@iv_invoice.status@]}
}
action {
- display_template {#invoices.Edit# #invoices.Invoice_Cancel# #invoices.Delete# #invoices.Preview#}
+ display_template {
+ #invoices.Edit#
+ #invoices.Invoice_Cancel#
+ #invoices.Delete#
+ #invoices.Preview#  #invoices.View_invoice#
+ #invoices.View_copy#
+ #invoices.View_cancel#
+ }
}
} -actions $actions -sub_class narrow \
-bulk_actions $bulk_actions \
@@ -155,6 +179,7 @@
} -orderby_name orderby -html {width 100%} \
-page_size_variable_p 1 \
-page_size $page_size \
+ -page_groupsize 10 \
-page_flush_p 1 \
-page_query_name iv_invoice_paginated \
-pass_properties {invoice_cancel_p} \
@@ -163,6 +188,12 @@
where_clause {t.organization_id = :organization_id}
}
page_num {}
+ start_date {
+ where_clause $start_where_clause
+ }
+ end_date {
+ where_clause $end_where_clause
+ }
} \
-formats {
normal {
@@ -181,18 +212,22 @@
set time_format "[lc_get d_fmt] %X"
set date_format [lc_get d_fmt]
set contacts_p [apm_package_installed_p contacts]
+set contacts_package_id [apm_package_id_from_key contacts]
+set return_url "[ad_conn url]?[ad_conn query]"
-db_multirow -extend {creator_link edit_link display_link cancel_link delete_link preview_link recipient} iv_invoice iv_invoice {} {
+db_multirow -extend {creator_link edit_link display_link cancel_link delete_link preview_link create_link copy_link recipient} iv_invoice iv_invoice {} {
# Ugly hack. We should find out which contact package is linked
set creation_date [lc_time_fmt $creation_date $time_format]
set due_date [lc_time_fmt $due_date $date_format]
set display_link [export_vars -base "${base_url}invoice-ae" {invoice_id {mode display}}]
- set edit_link [export_vars -base "${base_url}invoice-ae" {invoice_id}]
- set cancel_link [export_vars -base "${base_url}invoice-cancellation" {{organization_id $orga_id} {parent_id $invoice_rev_id}}]
- set delete_link [export_vars -base "${base_url}invoice-delete" {invoice_id}]
+ set edit_link [export_vars -base "${base_url}invoice-ae" {invoice_id return_url}]
+ set cancel_link [export_vars -base "${base_url}invoice-cancellation" {{organization_id $orga_id} {parent_id $invoice_rev_id} return_url}]
+ set delete_link [export_vars -base "${base_url}invoice-delete" {invoice_id return_url}]
set preview_link [export_vars -base "${base_url}invoice-preview" {invoice_id}]
+ set create_link [export_vars -base "${base_url}invoice-send-1" {invoice_id return_url}]
+ set copy_link [export_vars -base "${base_url}invoice-preview" {invoice_id {invoice_p 0}}]
if {[empty_string_p $total_amount]} {
set total_amount 0
}
@@ -202,9 +237,16 @@
}
if { $contacts_p } {
- set recipient "[contact::name -party_id $recipient_id]"
- set creator_link "[contact::url -party_id $creation_user]"
+ set recipient "[contact::name -party_id $recipient_id]"
+ set creator_link "[contact::url -package_id $contacts_package_id -party_id $creation_user]"
} else {
set recipient [person::name -person_id $recipient_id]
}
+
+ set desc_list {}
+ foreach project_id [split $description ,] {
+ set project_id [string trim $project_id]
+ lappend desc_list "$project_id"
+ }
+ set description [join $desc_list ", "]
}