diff options
| author | ivan <ivan> | 2011-12-19 01:18:10 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2011-12-19 01:18:10 +0000 | 
| commit | baf2fcb97222ce94ad17a45edfc4abb1ad4b3a31 (patch) | |
| tree | 0e3da1c275a13f7fd569a2389dc944533b10c8db /FS | |
| parent | 822645aade15a4c4ac0558b116f7aacf9491002c (diff) | |
missing commit from nms auto-addition fixes, RT#15536
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/svc_Common.pm | 29 | 
1 files changed, 23 insertions, 6 deletions
| diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm index fbab64d49..9137c3f69 100644 --- a/FS/FS/svc_Common.pm +++ b/FS/FS/svc_Common.pm @@ -161,6 +161,16 @@ sub label_long {    $self->label(@_);  } +sub cust_main { +  my $self = shift; +  (($self->cust_svc || return)->cust_pkg || return)->cust_main || return +} + +sub cust_linked { +  my $self = shift; +  defined($self->cust_main); +} +  =item check  Checks the validity of fields in this record. @@ -318,7 +328,11 @@ sub insert {    } -  $self->nms_ip_insert; +  my $nms_ip_error = $self->nms_ip_insert; +  if ( $nms_ip_error ) { +    $dbh->rollback if $oldAutoCommit; +    return "error queuing IP insert: $nms_ip_error"; +  }    if ( exists $options{'jobnums'} ) {      push @{ $options{'jobnums'} }, @jobnums; @@ -1175,11 +1189,14 @@ sub nms_ip_insert {                       $conf->config('nms-auto_add-svc_ips');    my $ip_field = $self->table_info->{'ip_field'}; -  #XXX perhaps i should be job-queued, i take awhile, right? -  my $nms = new FS::NetworkMonitoringSystem; -  $nms->add_router( $self->$ip_field(), -                    $conf->config('nms-auto_add-community') -                  ); +  my $queue = FS::queue->new( { +                'job'    => 'FS::NetworkMonitoringSystem::queued_add_router', +                'svcnum' => $self->svcnum, +  } ); +  $queue->insert( 'FS::NetworkMonitoringSystem', +                  $self->$ip_field(), +                  $conf->config('nms-auto_add-community') +                );  }  =item nms_delip | 
