diff options
author | jeff <jeff> | 2008-11-24 15:18:42 +0000 |
---|---|---|
committer | jeff <jeff> | 2008-11-24 15:18:42 +0000 |
commit | 6d13a0d4dd94fd0294b25e5cd15be91e890db84c (patch) | |
tree | 683004a73b58e7d1f4fc91d92e3ce9d8421201b7 /FS/FS/part_export/soma.pm | |
parent | e1fbc0653fe71b540d9f58c225a9b9cc6b9f796b (diff) |
be more accepting
Diffstat (limited to 'FS/FS/part_export/soma.pm')
-rw-r--r-- | FS/FS/part_export/soma.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/FS/FS/part_export/soma.pm b/FS/FS/part_export/soma.pm index b290db8..a0b433d 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 ); } |