summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2011-12-19 01:18:06 +0000
committerivan <ivan>2011-12-19 01:18:06 +0000
commit34d1b9d0053e3946a7a64a83966b8428da5a852c (patch)
treee1ce076a2b81c3616c922814f14aee2472ad4689
parentfe59d022fdb1ad9f8e24da54e322c72a26873a46 (diff)
missing commit from nms auto-addition fixes, RT#15536
-rw-r--r--FS/FS/svc_Common.pm37
1 files changed, 37 insertions, 0 deletions
diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm
index 7a93bc497..9137c3f69 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 );
@@ -326,6 +328,12 @@ sub 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;
}
@@ -1170,6 +1178,35 @@ 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'};
+
+ 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
+
+=cut
+
+sub nms_ip_delete {
+#XXX not yet implemented
+}
+
=back
=head1 BUGS