projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add "Ignore accounting records from this database" to broadband_sqlradius export...
[freeside.git]
/
FS
/
FS
/
part_export
/
soma.pm
diff --git
a/FS/FS/part_export/soma.pm
b/FS/FS/part_export/soma.pm
index
b290db8
..
c73d9f9
100644
(file)
--- a/
FS/FS/part_export/soma.pm
+++ b/
FS/FS/part_export/soma.pm
@@
-140,9
+140,9
@@
sub queue_statuschange {
my $queue = new FS::queue {
'svcnum' => $svc->svcnum,
my $queue = new FS::queue {
'svcnum' => $svc->svcnum,
- 'job' => 'FS::part_export::soma::
$method
',
+ 'job' => 'FS::part_export::soma::
statuschange
',
};
};
- my $error = $queue->insert(
$self->option('url'),
%args );
+ my $error = $queue->insert( %args );
return $error if $error;
return $error if $error;
@@
-311,11
+311,13
@@
sub _queueable_suspend {
next unless $application->definitionId == $appid;
$instance_id = $application->instanceId;
next unless $application->definitionId == $appid;
$instance_id = $application->instanceId;
- $app_def = $app_catalog->getApplicationDef($appid, $cpeid);
- @attr_def = grep { $_->internalName eq 'status' } @{$app_def->attributes};
+ my $app_def =
+ $soma_objects->{AppCatalog}->getApplicationDef($appid, $cpeid);
+ my @attr_def = grep { $_->internalName eq 'status' }
+ @{$app_def->attributes};
foreach my $attribute ( @{$application->attributes} ) {
foreach my $attribute ( @{$application->attributes} ) {
- next unless $attibute->definitionId == $attr_def[0]->definitionId;
+ next unless $att
r
ibute->definitionId == $attr_def[0]->definitionId;
$attribute->{value} = 'S';
$soma_objects->{Applications}->setAppAttribute( $cpeid,
$attribute->{value} = 'S';
$soma_objects->{Applications}->setAppAttribute( $cpeid,
@@
-351,11
+353,13
@@
sub _queueable_unsuspend {
next unless $application->definitionId == $appid;
$instance_id = $application->instanceId;
next unless $application->definitionId == $appid;
$instance_id = $application->instanceId;
- $app_def = $app_catalog->getApplicationDef($appid, $cpeid);
- @attr_def = grep { $_->internalName eq 'status' } @{$app_def->attributes};
+ my $app_def =
+ $soma_objects->{AppCatalog}->getApplicationDef($appid, $cpeid);
+ my @attr_def = grep { $_->internalName eq 'status' }
+ @{$app_def->attributes};
- foreach my $attribute ( @{$applicat
e
->attributes} ) {
- next unless $attibute->definitionId == $attr_def[0]->definitionId;
+ foreach my $attribute ( @{$applicat
ion
->attributes} ) {
+ next unless $att
r
ibute->definitionId == $attr_def[0]->definitionId;
$attribute->{value} = 'E';
$soma_objects->{Applications}->setAppAttribute( $cpeid,
$attribute->{value} = 'E';
$soma_objects->{Applications}->setAppAttribute( $cpeid,
@@
-381,7
+385,11
@@
sub esn {
my ( $self, $svc ) = @_;
my $svcdb = $svc->cust_svc->part_svc->svcdb;
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*([\da-fA-F]{1,16})\s*$/ && ($esn = $1);
+ return sprintf( '%016s', $esn );
+ }
my $cust_pkg = $svc->cust_svc->cust_pkg;
return '' unless $cust_pkg;
my $cust_pkg = $svc->cust_svc->cust_pkg;
return '' unless $cust_pkg;
@@
-394,7
+402,10
@@
sub esn {
warn "part_export::soma found multiple ESNs for cust_svc ". $svc->svcnum
if scalar( @cust_svc ) > 1;
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*([\da-fA-F]{1,16})\s*$/ && ($esn = $1);
+
+ sprintf( '%016s', $esn );
}
}