diff options
author | levinse <levinse> | 2011-01-28 02:49:15 +0000 |
---|---|---|
committer | levinse <levinse> | 2011-01-28 02:49:15 +0000 |
commit | 1e37402a96397fe344c32e0abf7434b4b595ea49 (patch) | |
tree | 6a5ce979f53686c9467c6e404c82032fb6946008 | |
parent | 25e6733121bd27638a1b15f6365f63cc5c17f5ab (diff) |
torrus, RT10574
-rw-r--r-- | httemplate/misc/nms-add_iface.html | 24 | ||||
-rw-r--r-- | torrus/perllib/Torrus/Renderer/HTML.pm | 19 | ||||
-rw-r--r-- | torrus/templates/default-dir.html | 8 |
3 files changed, 50 insertions, 1 deletions
diff --git a/httemplate/misc/nms-add_iface.html b/httemplate/misc/nms-add_iface.html new file mode 100644 index 000000000..ab4cb178b --- /dev/null +++ b/httemplate/misc/nms-add_iface.html @@ -0,0 +1,24 @@ +Adding interface <B><% $iface %></B> for <B><% $host %></B> +<BR> + +<FORM NAME="nms-add_iface" ACTION="<% popurl(1) %>process/nms-add_iface.html" METHOD=POST> +Torrus Service Id +<% include('/elements/input-text.html', + 'field' => 'serviceid', + ) +%> +<BR> +<INPUT TYPE="submit" NAME="submit" ID="submit_nms-add_iface" VALUE="Add Interface"> +</FORM> + +<%init> + +# XXX: access rights, disable/enable submit button, something's wrong with style + +my $host = $cgi->param('host'); +die 'invalid host' unless $host =~ /^[0-9.a-zA-Z\-]+$/; + +my $iface = $cgi->param('iface'); +die 'invalid iface' unless $iface =~ /^[0-9A-Za-z_]+$/; + +</%init> diff --git a/torrus/perllib/Torrus/Renderer/HTML.pm b/torrus/perllib/Torrus/Renderer/HTML.pm index 4dde8e008..d4a2a1380 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.4 2011-01-25 03:15:03 ivan Exp $ +# $Id: HTML.pm,v 1.5 2011-01-28 02:49:15 levinse Exp $ # Stanislav Sinyagin <ssinyagin@yahoo.com> package Torrus::Renderer::HTML; @@ -119,6 +119,23 @@ sub render_html 'freesideFooter' => sub { return $self->freesideFooter(); }, 'freesideComponent' => sub { return $self->freesideComponent(@_); }, 'uri_escape' => sub { return uri_escape(@_); }, + 'matches' => sub { return $_[0] =~ $_[1]; }, + 'popup_link' => sub { + my $type = shift; + + if($type eq 'nms-add_iface.html') { + my $host = shift; + my $iface = shift; + return + $self->freesideComponent('/elements/popup_link.html', + 'action' => "/freeside/misc/". + $type."?host=$host;iface=$iface", + 'label' => 'Monitor for billing', + 'actionlabel' => 'Monitor interface', + ); + } + ''; + }, }; diff --git a/torrus/templates/default-dir.html b/torrus/templates/default-dir.html index 4b653be17..fe13a9bbe 100644 --- a/torrus/templates/default-dir.html +++ b/torrus/templates/default-dir.html @@ -1,8 +1,13 @@ [% PROCESS 'html-incblocks.txt' %] +[% thepath=path(token) %] [% INCLUDE htmlstart title=xmlnorm(nodeParam(token,'comment')) printpath=1 %] [% INCLUDE legend %] +[% IF matches(thepath,'Interface_Counters/$') %] + [% freesideComponent('/elements/init_overlib.html') %] +[% END %] + <P>Directories you can jump to:</P> <DIV CLASS="Listing"> [% hasLeaves = 0; hasSubtrees = 0; @@ -39,6 +44,9 @@ <A HREF="[%url(child)%]"[%urlTitle%]>[% nodeName(child) %]</A> [% hidden ? '</EM>':''; thisIsAlias ? '</EM>':''; %] + [% IF matches(thepath,'Interface_Counters/$') %] + [% popup_link('nms-add_iface.html',nodeName(parent(token)),uri_escape(nodeName(child))) %] + [% END %] </SPAN> [% IF comment %] <SPAN CLASS="NodeDescr"> |