X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=torrus%2Fperllib%2FTorrus%2FRenderer%2FHTML.pm;h=70cfda8472957167cc83c81f35ee27d35e77de4a;hp=bf6ba99b92c53d0573680472af1d90de52385afc;hb=b490e791cc60013989d908041f174467e362a1ea;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c diff --git a/torrus/perllib/Torrus/Renderer/HTML.pm b/torrus/perllib/Torrus/Renderer/HTML.pm index bf6ba99b9..70cfda847 100644 --- a/torrus/perllib/Torrus/Renderer/HTML.pm +++ b/torrus/perllib/Torrus/Renderer/HTML.pm @@ -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.8 2011-02-10 01:08:44 levinse Exp $ +# $Id: HTML.pm,v 1.15 2011-10-26 02:44:16 ivan Exp $ # Stanislav Sinyagin package Torrus::Renderer::HTML; @@ -119,50 +119,71 @@ sub render_html 'freesideFooter' => sub { return $self->freesideFooter(); }, 'freesideComponent' => sub { return $self->freesideComponent(@_); }, 'uri_escape' => sub { return uri_escape(@_); }, - '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 "View Service"; - } - - 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]; }, + + #false laziness w/Torrus_Internal::add_interface, update both + 'iface_underscore' => 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 $interface = shift; + my $nms = shift; + my $serviceids = shift; + + if ( $serviceids && $serviceids->{$interface} ) { + + my $serviceid = $serviceids->{$interface}; + + my $svc_port = $nms->find_svc($serviceid); + + if ($svc_port) { + my $url = $Torrus::Freeside::FSURL. + "/view/svc_port.cgi?". $svc_port->svcnum; + return "View Service"; + } else { + my $component = + $nms->find_torrus_srvderive_component($serviceid); + + if ($component) { + return "$serviceid combined into ". + $component->torrus_srvderive->serviceid; + } else { + return "Monitored as $serviceid". + '; not yet provisioned or combined'; + } + } + + } else { + + return + $self->freesideComponent('/elements/popup_link.html', + 'action' => "/freeside/misc/". + $type."?host=$host;iface=$interface", + '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', + ); + } + + ''; + }, };