From c70ef4f4ec2a61b32c7e6aee40b3130cfd4381e5 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Tue, 10 Mar 2015 13:10:07 -0700 Subject: [PATCH] correctly choose a default locationnum for prospects, #32489, #25343 --- FS/FS/Template_Mixin.pm | 5 ++++- 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 } -- 2.11.0