X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fquotation_pkg.pm;h=3f6742c7997eb7005d340530439ae87e4675d3a6;hp=b9b37991a6c4c40225b3c6018767a0bdb7f194de;hb=5372897f367498972c96f5494e142e6e11b29eb8;hpb=ae817d8bbd220b645f41cb2d020ba8b6b739765b diff --git a/FS/FS/quotation_pkg.pm b/FS/FS/quotation_pkg.pm index b9b37991a..3f6742c79 100644 --- a/FS/FS/quotation_pkg.pm +++ b/FS/FS/quotation_pkg.pm @@ -121,6 +121,22 @@ sub insert { my $oldAutoCommit = $FS::UID::AutoCommit; local $FS::UID::AutoCommit = 0; + #false laziness w/cust_main::Packages::order_pkg + if ( $options{'locationnum'} and $options{'locationnum'} != -1 ) { + + $self->locationnum($options{'locationnum'}); + + } elsif ( $options{'cust_location'} ) { + + my $error = $options{'cust_location'}->find_or_insert; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return "inserting cust_location (transaction rolled back): $error"; + } + $self->locationnum($options{'cust_location'}->locationnum); + + } + my $error = $self->SUPER::insert; if ( !$error and ($self->setup_discountnum || $self->recur_discountnum) ) { @@ -327,6 +343,11 @@ sub setup { } +sub setup_show_zero { + my $self = shift; + return $self->part_pkg->setup_show_zero; +} + sub setup_tax { my $self = shift; sum(0, map { $_->setup_amount } $self->quotation_pkg_tax); @@ -342,6 +363,11 @@ sub recur { } +sub recur_show_zero { + my $self = shift; + return $self->part_pkg->recur_show_zero; +} + sub recur_tax { my $self = shift; sum(0, map { $_->recur_amount } $self->quotation_pkg_tax);