# 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.13 2011-02-27 19:20:37 ivan Exp $
# Stanislav Sinyagin <ssinyagin@yahoo.com>
package Torrus::Renderer::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]; },
+ '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;
+
+ 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 {
+ 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 {
+
+ 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',
+ );
+ }
+
+ '';
+ },
+
};