%doc>
tr-cust_svc - Short display of a customer service for use in view/cust_main.
Formerly part of view/cust_main/packages/services.html
Usage:
<% include('/elements/tr-cust_svc.html',
#required
'part_svc' => $part_svc,
'cust_svc' => $cust_svc,
'cust_pkg' => $cust_pkg,
#optional
'cust_pkg-display_times' => '', #bool
'manage_link' => '', #for svc_broadband
'manage_link_text' => '', #default 'Manage Device'
'manage_link_loc' => '', #default 'bottom', or 'right'
)
%>
%doc>
% if ( $opt{no_links} ) {
<% $part_svc->svc |h %>:
% } else {
<% FS::UI::Web::svc_link($m, $part_svc, $cust_svc) %>
% }
|
% if ( $opt{before_svc_callback} ) {
<% &{ $opt{before_svc_callback} }( $cust_svc ) %>
% }
<% $cust_svc->agent_svcid ? $cust_svc->agent_svcid.': ' : '' %>
% if ( $opt{no_links} ) {
<% ($cust_svc->label)[1] |h %>
% } else {
<% FS::UI::Web::svc_label_link($m, $part_svc, $cust_svc) %>
% }
% if ( $opt{after_svc_callback} ) {
<% &{ $opt{after_svc_callback} }( $cust_svc ) %>
% }
|
<% 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 ( $cust_svc->overlimit ) {
Overlimit: <%
time2str('%b %o %Y' . $opt{'cust_pkg-display_times'} ? ' %l:%M %P' : '',
$cust_svc->overlimit )
%>
|
% }
% # first column: (optional external balance and) recharge link
% if ( $part_svc->svcdb eq 'svc_phone'
% && ! $opt{no_links}
% )
% {
% my( $html, $hashref ) = $svc_x->export_getstatus;
% if ( length($hashref->{'Balance'}) ) { #quelle hack
Balance: <% $hashref->{'Balance'} %>
% }
% }
% if ( $curuser->access_right('Recharge customer service')
% && $part_svc->svcdb eq 'svc_acct'
% && ! $opt{no_links}
% && ( $svc_x->seconds ne ''
% || $svc_x->upbytes ne ''
% || $svc_x->downbytes ne ''
% || $svc_x->totalbytes ne ''
% )
% ) {
( <% svc_recharge_link($cust_svc)%> )
% }
|
% # second column: all other action links
% if ( $part_svc->svcdb eq 'svc_broadband' && ! $opt{no_links} ) {
( <%
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 %> )
% }
% } #svc_broadband
% if ( $curuser->access_right('Unprovision customer service') && ! $opt{no_links} ) {
( <% $svc_unprovision_link %> )
% }
|
<%init>
my %opt = @_;
my $curuser = $FS::CurrentUser::CurrentUser;
my $cust_svc = $opt{'cust_svc'};
my $part_svc = $opt{'part_svc'} || $cust_svc->part_svc;
my $cust_pkg = $opt{'cust_pkg'} || $cust_svc->cust_pkg;
my $svc_x = $cust_svc->svc_x;
my $svc_unprovision_link =
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 = '';
}
%init>