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 |