diff options
| author | ivan <ivan> | 2011-12-09 05:09:20 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2011-12-09 05:09:20 +0000 | 
| commit | 653530ba04e038b70dc2b392ca36e9c6c6920d88 (patch) | |
| tree | ddedea85eac0e71c7aea5612297276018a7f26bf /FS/FS/svc_Common.pm | |
| parent | 4a0324a7aa9dc63b055fd230f13dfcb2ff6aab82 (diff) | |
auto-add service ips to network monitoring, RT#15536
Diffstat (limited to 'FS/FS/svc_Common.pm')
| -rw-r--r-- | FS/FS/svc_Common.pm | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm index 02e159bfa..fbab64d49 100644 --- a/FS/FS/svc_Common.pm +++ b/FS/FS/svc_Common.pm @@ -5,6 +5,7 @@ use vars qw( @ISA $noexport_hack $DEBUG $me               $overlimit_missing_cust_svc_nonfatal_kludge );  use Carp qw( cluck carp croak confess ); #specify cluck have to specify them all  use Scalar::Util qw( blessed ); +use FS::Conf;  use FS::Record qw( qsearch qsearchs fields dbh );  use FS::cust_main_Mixin;  use FS::cust_svc; @@ -13,6 +14,7 @@ use FS::queue;  use FS::cust_main;  use FS::inventory_item;  use FS::inventory_class; +use FS::NetworkMonitoringSystem;  @ISA = qw( FS::cust_main_Mixin FS::Record ); @@ -316,6 +318,8 @@ sub insert {    } +  $self->nms_ip_insert; +    if ( exists $options{'jobnums'} ) {      push @{ $options{'jobnums'} }, @jobnums;    } @@ -1160,6 +1164,32 @@ sub getstatus_html {  } +=item nms_ip_insert + +=cut + +sub nms_ip_insert { +  my $self = shift; +  my $conf = new FS::Conf; +  return '' unless grep { $self->table eq $_ } +                     $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') +                  ); +} + +=item nms_delip + +=cut + +sub nms_ip_delete { +#XXX not yet implemented +} +  =back  =head1 BUGS  | 
