diff options
author | ivan <ivan> | 2009-08-20 09:47:05 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-08-20 09:47:05 +0000 |
commit | 1e34f4a5d142bd58f5918219db0931e81ad0418e (patch) | |
tree | bacfc80211078bd21e2ef44c3461b15078bfbd9d /FS/FS/cust_statement.pm | |
parent | e042c7a9463af50a08cab6ddfcd62fed2b5f276e (diff) |
email statements, RT#4860
Diffstat (limited to 'FS/FS/cust_statement.pm')
-rw-r--r-- | FS/FS/cust_statement.pm | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/FS/FS/cust_statement.pm b/FS/FS/cust_statement.pm index cd3e7ce..83dd5c1 100644 --- a/FS/FS/cust_statement.pm +++ b/FS/FS/cust_statement.pm @@ -180,6 +180,18 @@ sub _aggregate { @agg; } +sub _total { + my( $self, $method ) = ( shift, shift ); + + my $total = 0; + + foreach my $cust_bill ( $self->cust_bill ) { + $total += $cust_bill->$method( @_ ); + } + + $total; +} + =item cust_bill_pkg Returns the line items (see L<FS::cust_bill_pkg>) for all associated invoices. @@ -221,20 +233,29 @@ sub cust_bill_pkg_pkgnum { shift->_aggregate('cust_bill_pkg_pkgnum', @_); } =item tax -Returns the tax amount (see L<FS::cust_bill_pkg>) for this invoice. +Returns the total tax amount for all assoicated invoices.0 =cut -sub tax { - my $self = shift; +=item charged - my $total = 0; +Returns the total amount charged for all associated invoices. - foreach my $cust_bill ( $self->cust_bill ) { - $total += $cust_bill->tax; - } +=cut - $total; +=item owed + +Returns the total amount owed for all associated invoices. + +=cut + +sub tax { shift->_total('tax', @_); } +sub charged { shift->_total('charged', @_); } +sub owed { shift->_total('owed', @_); } + +#don't show previous info +sub previous { + ( 0 ); # 0, empty list } =back |