recognize interfaces with . turned into _ too
[freeside.git] / torrus / perllib / Torrus / Renderer / HTML.pm
index aa8c1ff..6eec86d 100644 (file)
@@ -14,7 +14,7 @@
 #  along with this program; if not, write to the Free Software
 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 
-# $Id: HTML.pm,v 1.11 2011-02-27 19:10:51 ivan Exp $
+# $Id: HTML.pm,v 1.14 2011-03-01 00:09:39 ivan Exp $
 # Stanislav Sinyagin <ssinyagin@yahoo.com>
 
 package Torrus::Renderer::HTML;
@@ -120,7 +120,7 @@ sub render_html
         'freesideComponent' => sub { return $self->freesideComponent(@_); },
         'uri_escape'        => sub { return uri_escape(@_); },
         'matches'        => sub { return $_[0] =~ $_[1]; },
-        'slash2underscore' => sub { $_[0] =~ s/\//_/g; return $_[0]; },
+        'iface_underscore' => sub { $_[0] =~ s/[\/\.]/_/g; return $_[0]; },
         'load_nms'       => sub { return $self->load_nms; },
         'get_serviceids'    => sub { my $nms = shift; 
                                   my $router = shift;
@@ -137,15 +137,23 @@ sub render_html
 
               if ( $serviceids && $serviceids->{$iface} ) {
 
-                my $svc_port = $nms->find_svc($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';
+                  my $component =
+                   $nms->find_torrus_srvderive_component($serviceids->{$iface});
+                  
+                  if ($component) {
+                     return $serviceids->{$iface}. ' combined into '.
+                            $component->torrus_srvderive->serviceid;
+                  } else {
+                     return 'Monitored as '. $serviceids->{$iface}.
+                            '; not yet provisioned or combined';
+                  }
                 }
 
               } else {