agent-virtualize credit card surcharge percentage, RT#72961
[freeside.git] / FS / FS / prospect_main.pm
index 79efa86..67e91cf 100644 (file)
@@ -270,8 +270,11 @@ sub name {
   my $self = shift;
   return $self->company if $self->company;
 
-  my $contact = ($self->prospect_contact)[0]->contact; #first contact?  good enough for now
-  return $contact->line if $contact;
+  my $prospect_contact = ($self->prospect_contact)[0]; #first contact?  good enough for now
+  my $contact = $prospect_contact->contact if $prospect_contact;
+  return $contact->line if $prospect_contact && $contact;
+
+  #address?
 
   'Prospect #'. $self->prospectnum;
 }
@@ -288,8 +291,13 @@ Returns the locations (see L<FS::cust_location>) associated with this prospect.
 
 sub cust_location {
   my $self = shift;
-  qsearch( 'cust_location', { 'prospectnum' => $self->prospectnum,
-                              'custnum'     => '' } );
+  qsearch({
+    'table'   => 'cust_location',
+    'hashref' => { 'prospectnum' => $self->prospectnum,
+                   'custnum'     => '',
+                 },
+    'order_by' => 'ORDER BY country, LOWER(state), LOWER(city), LOWER(county), LOWER(address1), LOWER(address2)',
+  });
 }
 
 =item qual
@@ -347,9 +355,6 @@ sub convert_cust_main {
 
   my @contact = map $_->contact, $self->prospect_contact;
 
-  #XXX define one contact type as "billing", then we could pick just that one
-  my @invoicing_list = map $_->emailaddress, map $_->contact_email, @contact;
-
   #XXX i'm not compatible with cust_main-require_phone (which is kind of a
   # pre-contact thing anyway)
 
@@ -374,7 +379,7 @@ sub convert_cust_main {
   #$cust_main->payby('BILL');
   #$cust_main->paydate('12/2037');
 
-  $cust_main->insert( {}, \@invoicing_list,
+  $cust_main->insert( {},
     'prospectnum' => $self->prospectnum,
   )
     or $cust_main;