From 3e6a3208775540e39f590ebbc643826ddb4c82b8 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Thu, 22 Jan 2015 15:51:11 -0600 Subject: 30392, refactored manage devices link, added it to broadband service page --- httemplate/elements/manage_device_link.html | 46 +++++++++++++++++++++++++++++ httemplate/elements/tr-cust_svc.html | 36 +++++++++++----------- 2 files changed, 65 insertions(+), 17 deletions(-) create mode 100644 httemplate/elements/manage_device_link.html (limited to 'httemplate/elements') 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' => ' ) ' + &> + + +% if ($manage_link) { +<% $startdec %>><% $manage_link_text |h %><% $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'}; +} + + + 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: % } <% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %> -% if ( $manage_link and $opt{'manage_link_loc'} eq 'right' && ! $opt{no_links} ) { - ><% $opt{'manage_link_text'} |h %> +% 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'} +&> % } @@ -90,8 +96,16 @@ $cust_svc->overlimit ) include('/elements/popup_link-ping.html', 'ip' => $svc_x->ip_addr ) %> ) -% if ( $manage_link and $opt{'manage_link_loc'} eq 'bottom' && ! $opt{no_links} ) { - ><% $opt{'manage_link_text'} |h %> ) +% 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' => '( ', + 'append' => ' )' +&> % } % } #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').''; -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'; -- cgit v1.2.1