Merge branch '20150325-cust_main-CurrentUser' of https://github.com/fozzmoo/Freeside...
[freeside.git] / FS / FS / quotation_pkg.pm
index dae459e..1b5b419 100644 (file)
@@ -2,7 +2,7 @@ package FS::quotation_pkg;
 use base qw( FS::TemplateItem_Mixin FS::Record );
 
 use strict;
-use FS::Record qw( qsearchs dbh ); #qsearch
+use FS::Record qw( qsearchs qsearch dbh );
 use FS::part_pkg;
 use FS::quotation_pkg_discount; #so its loaded when TemplateItem_Mixin needs it
 use List::Util qw(sum);
@@ -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
   }