- 'matches' => sub { return $_[0] =~ $_[1]; },
- 'slash2underscore' => sub { $_[0] =~ s/\//_/g; return $_[0]; },
- 'load_nms' => sub { return $self->load_nms; },
- 'get_serviceids' => sub { my $nms = shift;
- my $router = shift;
- return $nms->get_router_serviceids($router);
- },
- 'popup_link' => sub {
- my $type = shift;
-
- if($type eq 'nms-add_iface.html') {
- my $host = shift;
- my $iface = shift;
- my $nms = shift;
- my $serviceids = shift;
- my $svc_port = '';
-
- $svc_port = $nms->find_svc($serviceids->{$iface})
- if($serviceids && $serviceids->{$iface});
-
- if($svc_port) {
- my $url = $Torrus::Freeside::FSURL."/view/svc_port.cgi?".$svc_port->svcnum;
- return "<A HREF='$url'>View Service</A>";
- }
-
- return
- $self->freesideComponent('/elements/popup_link.html',
- 'action' => "/freeside/misc/".
- $type."?host=$host;iface=$iface",
- 'label' => 'Monitor for billing',
- 'actionlabel' => 'Monitor interface',
- );
- }
- elsif($type eq 'nms-add_router.html') {
- return
- $self->freesideComponent('/elements/popup_link.html',
- 'action' => "/freeside/misc/$type",
- 'label' => 'Add Router',
- 'actionlabel' => 'Add Router',
- );
- }
-
- '';
- },
+ 'matches' => sub { return $_[0] =~ $_[1]; },
+ 'slash2underscore' => sub { $_[0] =~ s/\//_/g; return $_[0]; },
+ 'load_nms' => sub { return $self->load_nms; },
+ 'get_serviceids' => sub { my $nms = shift;
+ my $router = shift;
+ return $nms->get_router_serviceids($router);
+ },
+ 'popup_link' => sub {
+ my $type = shift;
+
+ if($type eq 'nms-add_iface.html') {
+ my $host = shift;
+ my $iface = shift;
+ my $nms = shift;
+ my $serviceids = shift;
+ my $svc_port = '';
+
+ if ( $serviceids && $serviceids->{$iface} ) {
+
+ my $svc_port = $nms->find_svc($serviceids->{$iface})
+
+ if ($svc_port) {
+ my $url = $Torrus::Freeside::FSURL.
+ "/view/svc_port.cgi?".$svc_port->svcnum;
+ return "<A HREF='$url'>View Service</A>";
+ } else {
+ return 'Monitored as '. $serviceids->{$iface}.
+ '; customer service not yet provisioned';
+ }
+
+ } else {
+
+ return
+ $self->freesideComponent('/elements/popup_link.html',
+ 'action' => "/freeside/misc/".
+ $type."?host=$host;iface=$iface",
+ 'label' => 'Monitor for billing',
+ 'actionlabel' => 'Monitor interface',
+ );
+
+ }
+
+ } elsif ($type eq 'nms-add_router.html') {
+ return
+ $self->freesideComponent('/elements/popup_link.html',
+ 'action' => "/freeside/misc/$type",
+ 'label' => 'Add Router',
+ 'actionlabel' => 'Add Router',
+ );
+ }
+
+ '';
+ },