2 tr-cust_svc - Short display of a customer service for use in view/cust_main.
4 Formerly part of view/cust_main/packages/services.html
8 <% include('/elements/tr-cust_svc.html',
10 'part_svc' => $part_svc,
11 'cust_svc' => $cust_svc,
12 'cust_pkg' => $cust_pkg,
14 'cust_pkg-display_times' => '', #bool
15 'manage_link' => '', #for svc_broadband
16 'manage_link_text' => '', #default 'Manage Device'
17 'manage_link_loc' => '', #default 'bottom', or 'right'
23 <TD ALIGN="right" VALIGN="top">
24 % if ( $opt{no_links} ) {
25 <% $part_svc->svc |h %>:
27 <% FS::UI::Web::svc_link($m, $part_svc, $cust_svc) %>
30 <TD STYLE="padding-bottom:0px" VALIGN="top">
31 % if ( $opt{before_svc_callback} ) {
32 <% &{ $opt{before_svc_callback} }( $cust_svc ) %>
34 <B><% $cust_svc->agent_svcid ? $cust_svc->agent_svcid.': ' : '' %>
35 % if ( $opt{no_links} ) {
36 <% ($cust_svc->label)[1] |h %>
38 <% FS::UI::Web::svc_label_link($m, $part_svc, $cust_svc) %>
41 % if ($part_svc->svcdb eq 'svc_circuit') {
42 <BR>Provider: <% $svc_x->circuit_provider->provider %>
43 <BR>Type: <% $svc_x->circuit_type->typename %>
45 % if ( $opt{after_svc_callback} ) {
46 <% &{ $opt{after_svc_callback} }( $cust_svc ) %>
49 <TD ALIGN="right"><% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %>
50 % if ( $opt{'manage_link_loc'} eq 'right' && ! $opt{no_links} ) {
51 <& /elements/manage_device_link.html,
53 'part_svc' => $opt{'part_svc'} || $cust_svc->part_svc,
54 'manage_link' => $opt{'manage_link'},
55 'manage_link_text' => $opt{'manage_link_text'},
56 'manage_link-new_window' => $opt{'manage_link-new_window'}
61 % if ( $cust_svc->overlimit ) {
63 <TD ALIGN="right" COLSPAN="3" VALIGN="top"
64 STYLE="padding-bottom:1px; padding-top:0px">
65 <FONT SIZE="-2" COLOR="#FFD000">Overlimit: <%
66 time2str('%b %o %Y' . $opt{'cust_pkg-display_times'} ? ' %l:%M %P' : '',
67 $cust_svc->overlimit )
73 % # first column: (optional external balance and) recharge link
74 <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px; padding-top:0px">
75 % if ( $part_svc->svcdb eq 'svc_phone'
79 % my( $html, $hashref ) = $svc_x->export_getstatus;
80 % if ( length($hashref->{'Balance'}) ) { #quelle hack
81 <FONT SIZE="-1">Balance: <b><% $hashref->{'Balance'} %></b> </FONT>
84 % if ( $curuser->access_right('Recharge customer service')
85 % && $part_svc->svcdb eq 'svc_acct'
87 % && ( $svc_x->seconds ne ''
88 % || $svc_x->upbytes ne ''
89 % || $svc_x->downbytes ne ''
90 % || $svc_x->totalbytes ne ''
93 <FONT SIZE="-2">( <% svc_recharge_link($cust_svc)%> )</FONT>
96 % # second column: all other action links
97 <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px; padding-top:0px">
98 % if ( $part_svc->svcdb eq 'svc_broadband' && ! $opt{no_links} ) {
99 <FONT SIZE="-2">( <%
100 include('/elements/popup_link-ping.html',
101 'ip' => $svc_x->ip_addr
103 % if ( $opt{'manage_link_loc'} eq 'bottom' && ! $opt{no_links} ) {
104 <& /elements/manage_device_link.html,
106 'part_svc' => $opt{'part_svc'} || $cust_svc->part_svc,
107 'manage_link' => $opt{'manage_link'},
108 'manage_link_text' => $opt{'manage_link_text'},
109 'manage_link-new_window' => $opt{'manage_link-new_window'},
110 'prepend' => '<FONT SIZE="-2">( ',
111 'append' => ' )</FONT>'
115 % if ( $curuser->access_right('Unprovision customer service') && ! $opt{no_links} ) {
116 <FONT SIZE="-2">( <% $svc_unprovision_link %> )</FONT>
123 my $curuser = $FS::CurrentUser::CurrentUser;
125 my $cust_svc = $opt{'cust_svc'};
126 my $part_svc = $opt{'part_svc'} || $cust_svc->part_svc;
127 my $cust_pkg = $opt{'cust_pkg'} || $cust_svc->cust_pkg;
128 my $svc_x = $cust_svc->svc_x;
130 my $svc_unprovision_link =
131 qq!<A HREF="javascript:areyousure('${p}misc/unprovision.cgi?! .
133 qq!', '!.emt('Permanently unprovision and delete this service?').qq!')">!.emt('Unprovision').'</A>';
135 $opt{'manage_link_loc'} ||= 'bottom';