=================================================================== RCS file: /cvs/RT/Invoicing/lib/RTI/State.pm,v retrieving revision 1.5 retrieving revision 1.7 diff -u -r1.5 -r1.7 --- RT/Invoicing/lib/RTI/State.pm 2012/08/15 01:52:28 1.5 +++ RT/Invoicing/lib/RTI/State.pm 2012/11/28 02:24:04 1.7 @@ -29,6 +29,12 @@ $invoice->{$_} = ymd_to_DateTime( $invoice->{$_} ) for qw/ invdate start end /; } + foreach my $custid (keys %{ $self->{payment} || {} }) { + foreach my $payment (@{ $self->{payment}->{$custid} || [] }) { + $payment->{date} = ymd_to_DateTime( $payment->{date} ) + if $payment->{date}; + } + } } bless $self, $class; @@ -106,6 +112,15 @@ : $self->{_table}->{unpaid}; } +sub credits { + my ( $self, $custid ) = @_; + + $self->_match_payments; + return defined $custid + ? $self->{_table}->{credit}->{$custid} + : $self->{_table}->{credit}; +} + sub save { my ($self) = @_; @@ -136,6 +151,12 @@ else { delete $invoice->{$k}; } + } + } + foreach my $custid (keys %{ $self->{payment} || {} }) { + foreach my $payment (@{ $self->{payment}->{$custid} || [] }) { + $payment->{date} = $payment->{date}->ymd + if ref $payment->{date} eq 'DateTime'; } } DumpFile( $file, {%$self} ) or die "Unable to save state: $!";