=================================================================== RCS file: /cvs/RT/Invoicing/rt_invoices.pl,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- RT/Invoicing/rt_invoices.pl 2011/12/31 02:14:32 1.45 +++ RT/Invoicing/rt_invoices.pl 2012/01/27 04:13:45 1.46 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $AFresh1: rt_invoices.pl,v 1.44 2011/12/30 05:01:41 andrew Exp $ +# $AFresh1: rt_invoices.pl,v 1.45 2011/12/31 02:14:32 andrew Exp $ ######################################################################## # Copyright (c) 2011 Andrew Fresh # @@ -135,8 +135,9 @@ if ( my $unpaid_invoices = $state->unpaid_invoices() ) { foreach my $custid ( keys %{$unpaid_invoices} ) { - my %project = ( title => 'Unpaid Invoices', fees => [], ); + my %project = ( title => 'Unpaid Invoices', fees => [], ); my $past_due = 0; + my $unpaid = 0; my $cust; foreach ( @{$customers} ) { @@ -147,24 +148,32 @@ } $cust ||= fake_customer($custid); - foreach my $id ( sort { $a <=> $b } - keys %{ $unpaid_invoices->{$custid} } ) + foreach my $id ( + sort { $a <=> $b } + keys %{ $unpaid_invoices->{$custid} } + ) { my $unpaid = $state->get_invoice($id); my $invdate = ymd_to_DateTime( $unpaid->{invdate} ); - next - if $cust->{duedate} - && DateTime->compare( $invdate, $cust->{duedate} ) > 0; + my $content + = sprintf( "Invoice %06d from %s", $id, $invdate->ymd ); + if ( $cust->{duedate} + && DateTime->compare( $invdate, $cust->{duedate} ) > 0 ) + { + $content = "PAST DUE: $content"; + $past_due += $unpaid_invoices->{$custid}->{$id}; + } + else { + $unpaid += $unpaid_invoices->{$custid}->{$id}; + } - $past_due += $unpaid_invoices->{$custid}->{$id}; push @{ $project{fees} }, { - id => $id, - contents => - sprintf( "Invoice %06d from %s", $id, $invdate->ymd ), - count => 1, - rate => $unpaid_invoices->{$custid}->{$id}, + id => $id, + contents => $content, + count => 1, + rate => $unpaid_invoices->{$custid}->{$id}, }; } @@ -172,8 +181,9 @@ $cust->{invoice} ||= make_invoice(); $cust->{invoice}->{past_due} = $past_due; + $cust->{invoice}->{unpaid} = $unpaid; $cust->{invoice}->{total_due} - = $cust->{invoice}->{total} + $past_due; + = $cust->{invoice}->{total} + $past_due + $unpaid; unshift @{ $cust->{invoice}->{projects} }, \%project; }