X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fquotation_pkg.pm;h=1c4766e7979660748c1757c0d4040847c4acd12a;hb=53ed077b4901be22b3ca5405a093364b6f6b6407;hp=ea8f4e0c8d7d484c9a7d112576c292e1f2e0868e;hpb=fbd41fb4bec0be8b74abf112bb70c7528342931a;p=freeside.git diff --git a/FS/FS/quotation_pkg.pm b/FS/FS/quotation_pkg.pm index ea8f4e0c8..1c4766e79 100644 --- a/FS/FS/quotation_pkg.pm +++ b/FS/FS/quotation_pkg.pm @@ -103,11 +103,8 @@ otherwise returns false. =cut -use Data::Dumper; #XXX DEBUG sub insert { my ($self, %options) = @_; - warn Dumper($self); - warn Dumper(\%options); my $dbh = dbh; my $oldAutoCommit = $FS::UID::AutoCommit; @@ -148,7 +145,7 @@ sub delete { my $oldAutoCommit = $FS::UID::AutoCommit; local $FS::UID::AutoCommit = 0; - foreach ($self->quotation_pkg_discount) { + foreach ($self->quotation_pkg_discount, $self->quotation_pkg_tax) { my $error = $_->delete; if ( $error ) { $dbh->rollback if $oldAutoCommit; @@ -318,7 +315,7 @@ sub insert_discount { #my ($self, %options) = @_; my $self = shift; - my $cust_pkg_discount = FS::quotation_pkg_discount->new( { + my $quotation_pkg_discount = FS::quotation_pkg_discount->new( { 'quotationpkgnum' => $self->quotationpkgnum, 'discountnum' => $self->discountnum, #for the create a new discount case @@ -329,7 +326,7 @@ sub insert_discount { 'setup' => $self->discountnum_setup, } ); - $cust_pkg_discount->insert; + $quotation_pkg_discount->insert; } sub _item_discount { @@ -351,7 +348,7 @@ sub _item_discount { push @ext, $pkg_discount->description; $d->{setup_amount} -= $pkg_discount->setup_amount; $d->{recur_amount} -= $pkg_discount->recur_amount; - } + } $d->{setup_amount} *= $self->quantity || 1; $d->{recur_amount} *= $self->quantity || 1; $d->{amount} = $d->{setup_amount} + $d->{recur_amount}; @@ -361,13 +358,13 @@ sub _item_discount { sub setup { my $self = shift; - ($self->unitsetup - sum(map { $_->setup_amount } $self->pkg_discount)) + ($self->unitsetup - sum(0, map { $_->setup_amount } $self->pkg_discount)) * ($self->quantity || 1); } sub recur { my $self = shift; - ($self->unitrecur - sum(map { $_->recur_amount } $self->pkg_discount)) + ($self->unitrecur - sum(0, map { $_->recur_amount } $self->pkg_discount)) * ($self->quantity || 1); } @@ -420,6 +417,11 @@ sub cust_bill_pkg_display { $recur->{'type'} = 'R'; if ( $type eq 'S' ) { +sub tax_locationnum { + my $self = shift; + $self->locationnum; +} + return ($setup); } elsif ( $type eq 'R' ) { return ($recur); @@ -440,7 +442,7 @@ Returns the customer (L object). sub cust_main { my $self = shift; - my $quotation = FS::quotation->by_key($self->quotationnum) or return ''; + my $quotation = $self->quotation or return ''; $quotation->cust_main; } @@ -452,7 +454,7 @@ Returns the prospect (L object). sub prospect_main { my $self = shift; - my $quotation = FS::quotation->by_key($self->quotationnum) or return ''; + my $quotation = $self->quotation or return ''; $quotation->prospect_main; } @@ -460,7 +462,7 @@ sub prospect_main { =head1 BUGS -Doesn't support taxes, fees, or add-on packages. +Doesn't support fees, or add-on packages. =head1 SEE ALSO