From 438c813bf5a71dc6c09396acac85656b15139adf Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Mon, 21 Jan 2019 21:37:38 -0500 Subject: [PATCH] RT# 79352 - fixed so contact replace would not add duplicate cust_contacts. --- FS/FS/contact.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm index 957f96cf8..f59fef927 100644 --- a/FS/FS/contact.pm +++ b/FS/FS/contact.pm @@ -449,7 +449,8 @@ sub replace { ## if found, just add that contact to cust_contact with link_hash credentials ## as email can not be tied to two contacts. my @contact_emails = (); - my @contact_nums = ($self->contactnum,); + my %contact_nums = (); + $contact_nums{$self->contactnum} = '1' if $self->contactnum; if ( $self->get('emailaddress') =~ /\S/ ) { foreach my $email ( split(/\s*,\s*/, $self->get('emailaddress') ) ) { @@ -462,7 +463,7 @@ sub replace { push @contact_emails, $email; } else { - push @contact_nums, $contact->contactnum; + $contact_nums{$contact->contactnum} = '1'; } } @@ -488,9 +489,9 @@ sub replace { # fields. if ( $custnum ) { - foreach my $contactnum (@contact_nums) { + foreach my $contactnum (keys %contact_nums) { - my %hash = ( 'contactnum' => $contactnum, #$self->contactnum, + my %hash = ( 'contactnum' => $contactnum, 'custnum' => $custnum, ); my $error; -- 2.11.0