From: jeff Date: Mon, 24 Nov 2008 15:18:42 +0000 (+0000) Subject: be more accepting X-Git-Tag: root_of_webpay_support~231 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=6d13a0d4dd94fd0294b25e5cd15be91e890db84c be more accepting --- diff --git a/FS/FS/part_export/soma.pm b/FS/FS/part_export/soma.pm index b290db844..a0b433d84 100644 --- a/FS/FS/part_export/soma.pm +++ b/FS/FS/part_export/soma.pm @@ -381,7 +381,11 @@ sub esn { my ( $self, $svc ) = @_; my $svcdb = $svc->cust_svc->part_svc->svcdb; - return sprintf( '%016X', $svc->title ) if $svcdb eq 'svc_external'; + if ($svcdb eq 'svc_external') { + my $esn = $svc->title; + $esn =~ /^\s*(\d[a-fA-F])+\s*$/ && ($esn = $1); + return sprintf( '%016X', $esn ) if $svcdb eq 'svc_external'; + } my $cust_pkg = $svc->cust_svc->cust_pkg; return '' unless $cust_pkg; @@ -394,7 +398,10 @@ sub esn { warn "part_export::soma found multiple ESNs for cust_svc ". $svc->svcnum if scalar( @cust_svc ) > 1; - sprintf( '%016X', $cust_svc[0]->svc_x->title ); + my $esn = $cust_svc[0]->svc_x->title; + $esn =~ /^\s*(\d[a-fA-F])+\s*$/ && ($esn = $1); + + sprintf( '%016X', $esn ); }