projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
125fb1a
)
doh! change the interface here, too
author
jeff
<jeff>
Mon, 5 Jan 2009 21:12:06 +0000
(21:12 +0000)
committer
jeff
<jeff>
Mon, 5 Jan 2009 21:12:06 +0000
(21:12 +0000)
FS/FS/tax_rate.pm
patch
|
blob
|
history
diff --git
a/FS/FS/tax_rate.pm
b/FS/FS/tax_rate.pm
index
ce460e1
..
4b906d3
100644
(file)
--- a/
FS/FS/tax_rate.pm
+++ b/
FS/FS/tax_rate.pm
@@
-342,16
+342,28
@@
sub passtype_name {
$tax_passtypes{$self->passtype};
}
$tax_passtypes{$self->passtype};
}
-=item taxline
CUST_BILL_PKG|AMOUNT, ...
+=item taxline
TAXABLES, [ OPTIONSHASH ]
Returns a listref of a name and an amount of tax calculated for the list
Returns a listref of a name and an amount of tax calculated for the list
-of packages/amounts. If an error occurs, a message is returned as a scalar.
+of packages/amounts referenced by TAXABLES. If an error occurs, a message
+is returned as a scalar.
=cut
sub taxline {
my $self = shift;
=cut
sub taxline {
my $self = shift;
+ my $taxables;
+ my %opt = ();
+
+ if (ref($_[0]) eq 'ARRAY') {
+ $taxables = shift;
+ %opt = @_;
+ }else{
+ $taxables = [ @_ ];
+ #exemptions would be broken in this case
+ }
+
my $name = $self->taxname;
$name = 'Other surcharges'
if ($self->passtype == 2);
my $name = $self->taxname;
$name = 'Other surcharges'
if ($self->passtype == 2);
@@
-361,7
+373,8
@@
sub taxline {
if $self->disabled;
my $taxable_charged = 0;
if $self->disabled;
my $taxable_charged = 0;
- my @cust_bill_pkg = grep { $taxable_charged += $_ unless ref; ref; } @_;
+ my @cust_bill_pkg = grep { $taxable_charged += $_ unless ref; ref; }
+ @$taxables;
warn "calculating taxes for ". $self->taxnum. " on ".
join (",", map { $_->pkgnum } @cust_bill_pkg)
warn "calculating taxes for ". $self->taxnum. " on ".
join (",", map { $_->pkgnum } @cust_bill_pkg)