diff options
author | Mark Wells <mark@freeside.biz> | 2015-03-10 13:10:07 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2015-03-10 13:10:07 -0700 |
commit | c70ef4f4ec2a61b32c7e6aee40b3130cfd4381e5 (patch) | |
tree | fdca7e1f183cccbe88a9e50dc8db58926f718f81 | |
parent | c2e5e744cf218f9a388bc3073bfe5d9cc86b5ff3 (diff) |
correctly choose a default locationnum for prospects, #32489, #25343
-rw-r--r-- | FS/FS/Template_Mixin.pm | 5 | ||||
-rw-r--r-- | FS/FS/quotation_pkg.pm | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index fce1a3ffe..a5fb5579f 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -3026,7 +3026,10 @@ sub _items_cust_bill_pkg { }) || $cust_main; $default_locationnum = $h_cust_main->ship_locationnum; } elsif ( $self->prospectnum ) { - $default_locationnum = $self->prospect_main->cust_location->locationnum; + my $cust_location = qsearchs('cust_location', + { prospectnum => $self->prospectnum, + disabled => '' }); + $default_locationnum = $cust_location->locationnum if $cust_location; } my @b = (); # accumulator for the line item hashes that we'll return diff --git a/FS/FS/quotation_pkg.pm b/FS/FS/quotation_pkg.pm index dae459e29..dcd68c95d 100644 --- a/FS/FS/quotation_pkg.pm +++ b/FS/FS/quotation_pkg.pm @@ -199,7 +199,11 @@ sub check { if ($quotation->custnum) { $self->set('locationnum', $quotation->cust_main->ship_locationnum); } elsif ($quotation->prospectnum) { - $self->set('locationnum', $quotation->prospect_main->locationnum); + # use the first non-disabled location for that prospect + my $cust_location = qsearchs('cust_location', + { prospectnum => $quotation->prospectnum, + disabled => '' }); + $self->set('locationnum', $cust_location->locationnum) if $cust_location; } # else the quotation is invalid } |