v4 style
[freeside.git] / httemplate / elements / tr-cust_svc.html
index e792ff3..2d1a9e6 100644 (file)
@@ -1,16 +1,62 @@
 <%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, moved here for 
-cleanliness.
+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>
 <TR>
-  <TD ALIGN="right" VALIGN="top"><% 
-FS::UI::Web::svc_link($m, $part_svc, $cust_svc)
-%></TD>
-  <TD STYLE="padding-bottom:0px"><B><%
-FS::UI::Web::svc_label_link($m, $part_svc, $cust_svc)
-%></B></TD>
+  <TD ALIGN="right" VALIGN="top">
+%   if ( $opt{no_links} ) {
+      <% $part_svc->svc |h %>:
+%   } else {
+      <% FS::UI::Web::svc_link($m, $part_svc, $cust_svc) %>
+%   }
+  </TD>
+  <TD STYLE="padding-bottom:0px" VALIGN="top">
+%   if ( $opt{before_svc_callback} ) {
+      <% &{ $opt{before_svc_callback} }( $cust_svc ) %>
+%   }
+    <B><% $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) %>
+%   }
+    </B>
+%   if ($part_svc->svcdb eq 'svc_circuit') {
+      <BR>Provider:&nbsp;<% $svc_x->circuit_provider->provider %>
+      <BR>Type:&nbsp;<% $svc_x->circuit_type->typename %>
+%   }
+%   if ( $opt{after_svc_callback} ) {
+      <% &{ $opt{after_svc_callback} }( $cust_svc ) %>
+%   }
+  </TD>
+<TD ALIGN="right"><% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %>
+%   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>
 % if ( $cust_svc->overlimit ) {
 <TR>
@@ -24,10 +70,20 @@ $cust_svc->overlimit )
 </TR>
 % }
 <TR>
-% # first column: recharge link
+% # first column: (optional external balance and) recharge link
   <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px; padding-top:0px">
+% if ( $part_svc->svcdb eq 'svc_phone'
+%        && ! $opt{no_links}
+%    )
+% {
+%   my( $html, $hashref ) = $svc_x->export_getstatus;
+%   if ( length($hashref->{'Balance'}) ) { #quelle hack
+      <FONT SIZE="-1">Balance:&nbsp;<b><% $hashref->{'Balance'} %></b>&nbsp;</FONT>
+%   }
+% }
 % 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 ''
@@ -39,25 +95,26 @@ $cust_svc->overlimit )
   </TD>
 % # second column: all other action links
   <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px; padding-top:0px">
-% if ( $part_svc->svcdb eq 'svc_broadband' ) {
-    <FONT SIZE="-1" STYLE="float:left">(&nbsp;<%
+% if ( $part_svc->svcdb eq 'svc_broadband' && ! $opt{no_links} ) {
+    <FONT SIZE="-2">(&nbsp;<%
       include('/elements/popup_link-ping.html',
               'ip' => $svc_x->ip_addr
       ) %>&nbsp;)</FONT>
-%   my $manage_link = $opt{'svc_broadband-manage_link'};
-%   if ( $manage_link ) {
-    <FONT SIZE="-1" STYLE="float:left">(&nbsp;<A HREF="<% 
-      eval(qq("$manage_link")) 
-    %>">Manage Device</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') ) {
+% if ( $curuser->access_right('Unprovision customer service') && ! $opt{no_links} ) {
     <FONT SIZE="-2">(&nbsp;<% $svc_unprovision_link %>&nbsp;)</FONT>
 % }
-% if ( $part_svc->svcdb eq 'svc_pbx' && $opt{'maestro-status_test'} ) {
-    <FONT SIZE="-2">(&nbsp;<A HREF="<%$p%>misc/maestro-customer_status-test.html?<% $cust_pkg->custnum.'+'.$cust_svc->svcnum %>">Test maestro status</A>&nbsp;)
-    </FONT>
-% }
   </TD>
 </TR>
 
@@ -73,6 +130,8 @@ my $svc_x = $cust_svc->svc_x;
 my $svc_unprovision_link = 
   qq!<A HREF="javascript:areyousure('${p}misc/unprovision.cgi?! .
   $cust_svc->svcnum .
-  qq!', 'Permanently unprovision and delete this service?')">Unprovision</A>!;
+  qq!', '!.emt('Permanently unprovision and delete this service?').qq!')">!.emt('Unprovision').'</A>';
+
+$opt{'manage_link_loc'}  ||= 'bottom';
 
 </%init>