Option to ignore old CDRs, RT#81480
[freeside.git] / httemplate / elements / tr-select-contact.html
index 5791178..4eb8a98 100644 (file)
@@ -138,8 +138,8 @@ if ( $cgi->param('error') ) {
   if ( length($opt{'curr_value'}) ) {
     $contactnum = $opt{'curr_value'};
   } elsif ($prospect_main) {
-    my @cust_contact = $prospect_main->cust_contact;
-    $contactnum = $cust_contact[0]->contactnum if scalar(@cust_contact)==1;
+    my @prospect_contact = $prospect_main->prospect_contact;
+    $contactnum = $prospect_contact[0]->contactnum if scalar(@prospect_contact)==1;
   } else { #$cust_main
     $cgi->param('contactnum') =~ /^(\-?\d*)$/ or die "illegal contactnum";
     $contactnum = $1;
@@ -162,7 +162,7 @@ if ( $contactnum && $contactnum > 0 ) {
   if ( $contactnum == -1 ) {
     $contact->$_( $cgi->param($_) ) foreach @contact_fields; #XXX
   } elsif ( $cust_pkg && $cust_pkg->contactnum ) {
-    my $pkg_contact = $cust_pkg->contact;
+    my $pkg_contact = $cust_pkg->contact_obj;
     $contact->$_( $pkg_contact->$_ ) foreach @contact_fields; #XXX why are we making a new one gagain??
     $opt{'empty_label'} ||= 'package contact: '.$pkg_contact->line;
   } elsif ( $cust_main ) {
@@ -176,8 +176,10 @@ my $contact_sort = sub {
 };
 
 my @contact;
-push @contact, $cust_main->cust_contact if $cust_main;
-push @contact, $prospect_main->contact if $prospect_main;
+push @contact, map $_->contact, $cust_main->cust_contact
+  if $cust_main;
+push @contact, map $_->contact, $prospect_main->prospect_contact
+  if $prospect_main;
 push @contact, $contact
   if !$cust_main && $contact && $contact->contactnum > 0
   && ! grep { $_->contactnum == $contact->contactnum } @contact;