X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=torrus%2Fperllib%2FTorrus%2FRenderer%2FHTML.pm;h=70cfda8472957167cc83c81f35ee27d35e77de4a;hp=296e699a1ee825202f88960b57e5717eb2930838;hb=b490e791cc60013989d908041f174467e362a1ea;hpb=3f8ef5c72aa4fbfad5c320d91abdd4f2d547c029 diff --git a/torrus/perllib/Torrus/Renderer/HTML.pm b/torrus/perllib/Torrus/Renderer/HTML.pm index 296e699a1..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.2 2010-12-27 08:40:19 ivan Exp $ +# $Id: HTML.pm,v 1.15 2011-10-26 02:44:16 ivan Exp $ # Stanislav Sinyagin package Torrus::Renderer::HTML; @@ -115,8 +115,76 @@ sub render_html 'searchResults' => sub { return $self->doSearch($config_tree, $_[0]); }, #Freeside - 'FreesideHeader' => sub { return $self->FreesideHeader(@_); }, + 'freesideHeader' => sub { return $self->freesideHeader(@_); }, 'freesideFooter' => sub { return $self->freesideFooter(); }, + 'freesideComponent' => sub { return $self->freesideComponent(@_); }, + 'uri_escape' => sub { return uri_escape(@_); }, + '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', + ); + } + + ''; + }, + };