bulk DID orders/inventory enhancements, RT11291
[freeside.git] / httemplate / view / cust_main / packages / services.html
index 0fe7931..a5a5552 100644 (file)
@@ -4,64 +4,57 @@
 
   <TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
     <TABLE CLASS="inv" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%">
+    <SCRIPT TYPE="text/javascript">
+function clearhint_search_cust_svc(obj, str) {
+  if (obj.value == str) obj.value = '';
+}
+    </SCRIPT>
 
-%  #foreach my $svcpart (sort {$a->{svcpart} <=> $b->{svcpart}} @{$pkg->{svcparts}}) {
 %  foreach my $part_svc ( $cust_pkg->part_svc ) {
 
-%    #foreach my $service (@{$svcpart->{services}}) {
-%    foreach my $cust_svc ( @{ $part_svc->cust_pkg_svc } ) {
-
-      <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><% FS::UI::Web::svc_export_links($m, $part_svc, $cust_svc) %></TD>
-      </TR>
-
+%    if ( $opt{'cust_pkg-large_pkg_size'} > 0 and
+%         $opt{'cust_pkg-large_pkg_size'} <= $cust_pkg->num_svcs ) {
+%      # summarize
       <TR>
-        <TD ALIGN="right" COLSPAN="3" VALIGN="top" STYLE="padding-bottom:1px;padding-top:0px"><FONT SIZE="-2" COLOR="#FFD000">
-
-            <% $cust_svc->overlimit ? "Overlimit: ". time2str('%b %o %Y' . ($opt{'cust_pkg-display_times'} ? ' %l:%M %P' : ''), $cust_svc->overlimit) : '' %>
-          </FONT></TD>
+        <TD ALIGN="center" VALIGN="top">
+%       my $href="${p}search/cust_pkg_svc.html?svcpart=".$part_svc->svcpart.
+%          ";pkgnum=".$cust_pkg->pkgnum;
+        <A HREF="<% $href %>"><% $part_svc->svc %></A>&nbsp;
+        <A HREF="<% $href %>"><B>(view all <% $cust_pkg->num_svcs %>)</B></A>
+%     my $hint = $hints{$part_svc->svcdb};
+%     if ( $hint ) {
+        <BR>
+        <FORM name="svcpart<%$part_svc->svcpart%>_search" STYLE="display:inline"
+        ACTION="<%$p%>search/cust_pkg_svc.html" METHOD="GET">
+        <INPUT TYPE="hidden" NAME="svcpart" VALUE="<%$part_svc->svcpart%>">
+        <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%$cust_pkg->pkgnum%>">
+        <INPUT TYPE="text" NAME="search_svc"
+        onfocus="clearhint_search_cust_svc(this, '<%$hint%>')" VALUE="<%$hint%>">
+        <INPUT TYPE="submit" VALUE="Search"></FORM>
+%     } #$hint
+        </TD>
       </TR>
-
-      <TR>
-        <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px;padding-top:0px"><FONT SIZE="-2">
-
-%         if ( $curuser->access_right('Recharge customer service')
-%              && $part_svc->svcdb eq 'svc_acct'
-%              && (    $cust_svc->svc_x->seconds    ne ''
-%                   || $cust_svc->svc_x->upbytes    ne ''
-%                   || $cust_svc->svc_x->downbytes  ne ''
-%                   || $cust_svc->svc_x->totalbytes ne ''
-%                 )
-%         ) { 
-            (&nbsp;<%svc_recharge_link($cust_svc)%>&nbsp;)
-%         }
-          </FONT></TD>
-
-          <TD ALIGN="right" VALIGN="top" STYLE="padding-bottom:5px;padding-top:0px">
-
-%           my $ip_addr = $cust_svc->svc_x->ip_addr;
-
-%           if ( $part_svc->svcdb eq 'svc_broadband' ) {
-              <FONT SIZE="-1" STYLE="float:left">(&nbsp;<% include('/elements/popup_link-ping.html', 'ip'=> $ip_addr ) %>&nbsp;)</FONT>
-
-%           }
-
-%           my $manage_link = $opt{'svc_broadband-manage_link'};
-%           if ( $manage_link && $part_svc->svcdb eq 'svc_broadband' ) {
-%             my $svc_manage_link = eval(qq("$manage_link"));
-              <FONT SIZE="-1" STYLE="float:left">(&nbsp;<A HREF="<% $svc_manage_link %>">Manage Device</A>&nbsp;)</FONT>
-
-%           }
-
-%           if ( $curuser->access_right('Unprovision customer service') ) { 
-              <FONT SIZE="-2">(&nbsp;<%svc_unprovision_link($cust_svc)%>&nbsp;)</FONT>
-%           } 
-          </TD>
-        </TR>
-%   } 
-
+%    }
+%    else { # don't summarize
+%      foreach my $cust_svc ( @{ $part_svc->cust_pkg_svc } ) {
+%        if ( $cust_pkg->getfield('cancel') > 0 ) {
+      <% include('/elements/tr-cust_svc_cancel.html',
+                  %opt,
+                  'part_svc' => $part_svc,
+                  'cust_svc' => $cust_svc,
+                  'cust_pkg' => $cust_pkg,
+      ) %>
+%        }
+%        else {
+      <% include('/elements/tr-cust_svc.html',
+                  %opt,
+                  'part_svc' => $part_svc,
+                  'cust_svc' => $cust_svc,
+                  'cust_pkg' => $cust_pkg,
+      ) %>
+%       } #if cancel > 0
+%     } #foreach $cust_svc
+%   } #if summarizing
 %   if (    ! $cust_pkg->get('cancel')
 %        && $curuser->access_right('Provision customer service') 
 %        && $part_svc->num_avail
       <TR>
         <TD COLSPAN=3 ALIGN="center" STYLE="padding-bottom:4px;padding-top:0px">
           <B><% svc_provision_link($cust_pkg, $part_svc, \%opt, $curuser) %></B>
+%        if ( $curuser->access_right('Bulk provision customer service') 
+%               && $part_svc->svcdb eq 'svc_phone' ) {
+            <BR><A HREF="<%$p%>browse/did_order.html?custnum=<%$cust_pkg->custnum%>">Browse Received DID Inventory</A> 
+%       }
         </TD>
       </TR>
 
@@ -126,10 +123,13 @@ sub svc_provision_link {
   $link;
 }
 
-sub svc_unprovision_link {
-  my $cust_svc = shift or return '';
-  qq!<A HREF="javascript:areyousure('${p}misc/unprovision.cgi?!. $cust_svc->svcnum.
-  qq!', 'Permanently unprovision and delete this service?')">Unprovision</A>!;
-}
+my %hints = (
+svc_acct      => '(user or email)',
+svc_domain    => '(domain)',
+svc_broadband => '(ip or mac)',
+svc_forward   => '(email)',
+svc_phone     => '(phone)',
+svc_pbx       => '(phone)',
+);
 
 </%init>