summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--httemplate/elements/manage_device_link.html46
-rw-r--r--httemplate/elements/tr-cust_svc.html36
-rw-r--r--httemplate/view/elements/svc_Common.html12
-rw-r--r--httemplate/view/elements/svc_edit_link.html8
-rw-r--r--httemplate/view/svc_broadband.cgi3
5 files changed, 86 insertions, 19 deletions
diff --git a/httemplate/elements/manage_device_link.html b/httemplate/elements/manage_device_link.html
new file mode 100644
index 000000000..76a3cdfd9
--- /dev/null
+++ b/httemplate/elements/manage_device_link.html
@@ -0,0 +1,46 @@
+<%doc>
+
+#For including the "Manage Device" link for broadband svc
+# Handles check if svcdb is svc_broadband, ip_addr/mac_addr substitution
+# and manage_link-new_window, but manage_link_loc and no_links must
+# be checked as appropriate before including this
+
+#Example:
+
+ <& /elements/manage_device_link.html,
+ 'svc' => $svc_x,
+ 'part_svc' => $part_svc,
+ 'manage_link' => scalar($conf->config('svc_broadband-manage_link')),
+ 'manage_link_text' => scalar($conf->config('svc_broadband-manage_link_text')),
+ 'manage_link-new_window' => $conf->exists('svc_broadband-manage_link-new_window'),
+ 'prepend' => ' ( ',
+ 'append' => ' ) '
+ &>
+
+</%doc>
+% if ($manage_link) {
+<% $startdec %><A HREF="<% $manage_link %>"<% $manage_target %>><% $manage_link_text |h %></A><% $enddec %>
+% }
+<%init>
+
+my %opt = @_;
+my $manage_link = '';
+my $manage_link_text = '';
+my $manage_target = '';
+my $startdec = '';
+my $enddec = '';
+
+if ( $opt{'part_svc'} and $opt{'svc'} and $opt{'manage_link'} and $opt{'part_svc'}->svcdb eq 'svc_broadband' ) {
+ my $ip_addr = $opt{'svc'}->ip_addr || ''; #substitution for $manage_link
+ my $mac_addr = $opt{'svc'}->mac_addr || ''; # ditto
+ $manage_link = $opt{'manage_link'};
+ $manage_link =~ s/\$ip_addr/$ip_addr/g; #safer than using eval
+ $manage_link =~ s/\$mac_addr/$mac_addr/g; # ditto
+ $manage_link_text = $opt{'manage_link_text'} || mt('Manage Device');
+ $manage_target = ' target="_blank"' if $opt{'manage_link-new_window'};
+ $startdec = $opt{'prepend'};
+ $enddec = $opt{'append'};
+}
+
+</%init>
+
diff --git a/httemplate/elements/tr-cust_svc.html b/httemplate/elements/tr-cust_svc.html
index cc5ec0f50..03de3ba69 100644
--- a/httemplate/elements/tr-cust_svc.html
+++ b/httemplate/elements/tr-cust_svc.html
@@ -43,8 +43,14 @@ Usage:
% }
</TD>
<TD ALIGN="right"><% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %>
-% if ( $manage_link and $opt{'manage_link_loc'} eq 'right' && ! $opt{no_links} ) {
- <A HREF="<% $manage_link %>" <% $manage_target %>><% $opt{'manage_link_text'} |h %></A>
+% if ( $opt{'manage_link_loc'} eq 'right' && ! $opt{no_links} ) {
+<& /elements/manage_device_link.html,
+ 'svc' => $svc_x,
+ 'part_svc' => $opt{'part_svc'} || $cust_svc->part_svc,
+ 'manage_link' => $opt{'manage_link'},
+ 'manage_link_text' => $opt{'manage_link_text'},
+ 'manage_link-new_window' => $opt{'manage_link-new_window'}
+&>
% }
</TD>
</TR>
@@ -90,8 +96,16 @@ $cust_svc->overlimit )
include('/elements/popup_link-ping.html',
'ip' => $svc_x->ip_addr
) %>&nbsp;)</FONT>
-% if ( $manage_link and $opt{'manage_link_loc'} eq 'bottom' && ! $opt{no_links} ) {
- <FONT SIZE="-2">(&nbsp;<A HREF="<% $manage_link %>" <% $manage_target %>><% $opt{'manage_link_text'} |h %></A>&nbsp;)</FONT>
+% if ( $opt{'manage_link_loc'} eq 'bottom' && ! $opt{no_links} ) {
+<& /elements/manage_device_link.html,
+ 'svc' => $svc_x,
+ 'part_svc' => $opt{'part_svc'} || $cust_svc->part_svc,
+ 'manage_link' => $opt{'manage_link'},
+ 'manage_link_text' => $opt{'manage_link_text'},
+ 'manage_link-new_window' => $opt{'manage_link-new_window'},
+ 'prepend' => '<FONT SIZE="-2">(&nbsp;',
+ 'append' => '&nbsp;)</FONT>'
+&>
% }
% } #svc_broadband
% if ( $curuser->access_right('Unprovision customer service') && ! $opt{no_links} ) {
@@ -114,18 +128,6 @@ my $svc_unprovision_link =
$cust_svc->svcnum .
qq!', '!.emt('Permanently unprovision and delete this service?').qq!')">!.emt('Unprovision').'</A>';
-my $manage_link = $opt{'manage_link'};
-my $manage_target = '';
-if ( $part_svc->svcdb eq 'svc_broadband' and $manage_link ) {
- my $ip_addr = $svc_x->ip_addr; #substitution for $manage_link
- my $mac_addr = $svc_x->mac_addr; # ditto
- $manage_link = eval(qq("$manage_link"));
- $opt{'manage_link_text'} ||= mt('Manage Device');
- $opt{'manage_link_loc'} ||= 'bottom';
- $manage_target = ' target="_blank"' if $opt{'manage_link-new_window'};
-}
-else {
- $manage_link = '';
-}
+$opt{'manage_link_loc'} ||= 'bottom';
</%init>
diff --git a/httemplate/view/elements/svc_Common.html b/httemplate/view/elements/svc_Common.html
index b7f7a2c63..d7a1dcf30 100644
--- a/httemplate/view/elements/svc_Common.html
+++ b/httemplate/view/elements/svc_Common.html
@@ -22,6 +22,11 @@
#at the very bottom (well, as low as you can go from here)
'html_foot' => '',
+ #only needed for svc_broadband Manage Devices link
+ 'manage_link' => scalar($conf->config('svc_broadband-manage_link')),
+ 'manage_link_text' => scalar($conf->config('svc_broadband-manage_link_text')),
+ 'manage_link-new_window' => $conf->exists('svc_broadband-manage_link-new_window')
+
)
</%doc>
@@ -70,7 +75,11 @@ function areyousure(href) {
<% mt('Service #') |h %><B><% $svcnum %></B>
% if ( $custnum ) {
% my $url = $opt{'edit_url'} || $p. 'edit/'. $opt{'table'}. '.cgi?';
-<& /view/elements/svc_edit_link.html, 'svc' => $svc_x, 'edit_url' => $url &>
+<& /view/elements/svc_edit_link.html, 'svc' => $svc_x, 'part_svc' => $part_svc, 'edit_url' => $url,
+ 'manage_link' => $opt{'manage_link'},
+ 'manage_link_text' => $opt{'manage_link_text'},
+ 'manage_link-new_window' => $opt{'manage_link-new_window'}
+&>
% }
<BR>
@@ -222,7 +231,6 @@ my $format_field = sub {
$field = $f;
$type = 'text';
}
- warn "$field\t$type\t$value\n";
my $columndef = $part_svc->part_svc_column($field);
# skip fields that are fixed and empty
diff --git a/httemplate/view/elements/svc_edit_link.html b/httemplate/view/elements/svc_edit_link.html
index 5438ed266..3ff2f58b6 100644
--- a/httemplate/view/elements/svc_edit_link.html
+++ b/httemplate/view/elements/svc_edit_link.html
@@ -14,6 +14,14 @@ function areyousure_delete() {
| <A HREF="javascript:areyousure_delete()"><% mt('Unprovision this Service') |h %></A>
% }
% }
+<& /elements/manage_device_link.html,
+ 'svc' => $svc_x,
+ 'part_svc' => $opt{'part_svc'} || $cust_svc->part_svc,
+ 'manage_link' => $opt{'manage_link'},
+ 'manage_link_text' => $opt{'manage_link_text'},
+ 'manage_link-new_window' => $opt{'manage_link-new_window'},
+ 'prepend' => '| '
+&>
<%init>
my %opt = @_;
my $svc_x = $opt{'svc'} or die "'svc' required";
diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi
index ec73c6d52..70c0b5300 100644
--- a/httemplate/view/svc_broadband.cgi
+++ b/httemplate/view/svc_broadband.cgi
@@ -4,6 +4,9 @@
fields => \@fields,
svc_callback => \&svc_callback,
radius_usage => 1,
+ 'manage_link' => scalar($conf->config('svc_broadband-manage_link')),
+ 'manage_link_text' => scalar($conf->config('svc_broadband-manage_link_text')),
+ 'manage_link-new_window' => $conf->exists('svc_broadband-manage_link-new_window')
&>
<%init>