summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2011-12-19 01:18:10 +0000
committerivan <ivan>2011-12-19 01:18:10 +0000
commitbaf2fcb97222ce94ad17a45edfc4abb1ad4b3a31 (patch)
tree0e3da1c275a13f7fd569a2389dc944533b10c8db
parent822645aade15a4c4ac0558b116f7aacf9491002c (diff)
missing commit from nms auto-addition fixes, RT#15536
-rw-r--r--FS/FS/svc_Common.pm29
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