X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FInterface%2FWeb_Vendor.pm;fp=rt%2Flib%2FRT%2FInterface%2FWeb_Vendor.pm;h=b9f27a436114574e31c6b4038a788bd28d6be09c;hp=c9bff6f36d4836e35ea04d1937a6fcf48567baa1;hb=44c03de388473659249249885c8b068485ec4112;hpb=dec15062e2df6f615e42d5f87193133a3e072826 diff --git a/rt/lib/RT/Interface/Web_Vendor.pm b/rt/lib/RT/Interface/Web_Vendor.pm index c9bff6f36..b9f27a436 100644 --- a/rt/lib/RT/Interface/Web_Vendor.pm +++ b/rt/lib/RT/Interface/Web_Vendor.pm @@ -164,6 +164,33 @@ sub ProcessTicketCustomers { push @results, $msg; warn "$me: linking requestor to custnum $custnum: $msg\n" if $Debug > 1; + + ## check if FS contact email exists, if not create it. + if ( !qsearchs( { + 'table' => 'contact_email', + 'hashref' => { 'emailaddress' => $Requestor->{'values'}->{'emailaddress'}, }, + } ) ) { + use FS::contact; + + my $lname = $Requestor->{'values'}->{'realname'} ? + (split (/ /, $Requestor->{'values'}->{'realname'}))[-1] : + 'Requestor'; + + my $fname = $Requestor->{'values'}->{'realname'} ? + (split (/ /, $Requestor->{'values'}->{'realname'}))[0] : + 'RT'; + + my $contact = new FS::contact { + 'custnum' => $custnum, + 'first' => $fname, + 'last' => $lname, + 'emailaddress' => $Requestor->{'values'}->{'emailaddress'}, + 'comment' => 'Auto created from RT requestor', + }; + my $error = $contact->insert; + push @results, 'Created Freeside contact for requestor ' . $Requestor->{'values'}->{'emailaddress'} + unless $error; + } } }