small UI fix for unapplied partial credits
[freeside.git] / httemplate / view / cust_main.cgi
index 229362e..e8ea994 100755 (executable)
@@ -3,7 +3,6 @@
 
 my $conf = new FS::Conf;
 
-#false laziness with view/cust_pkg.cgi, but i'm trying to make that go away so
 my %uiview = ();
 my %uiadd = ();
 foreach my $part_svc ( qsearch('part_svc',{}) ) {
@@ -20,7 +19,6 @@ print header("Customer View", menubar(
 <STYLE TYPE="text/css">
 .package TH { font-size: medium }
 .package TR { font-size: smaller }
-.package .pkgnum { font-size: medium }
 .package .provision { font-weight: bold }
 </STYLE>
 
@@ -325,7 +323,7 @@ print '</SELECT><INPUT TYPE="submit" VALUE="Order Package"></FORM><BR>';
 
 if ( $conf->config('payby-default') ne 'HIDE' ) {
 
-  print '<BR>'.
+  print
     qq!<FORM ACTION="${p}edit/process/quick-charge.cgi" METHOD="POST">!.
     qq!<INPUT TYPE="hidden" NAME="custnum" VALUE="$custnum">!.
     qq!Description:<INPUT TYPE="text" NAME="pkg">!.
@@ -367,8 +365,7 @@ function svc_areyousure(href) {
 
 <%
 
-print qq!<BR><A NAME="cust_pkg">Packages</A> !,
-#      qq!<BR>Click on package number to view/edit package.!,
+print qq!<A NAME="cust_pkg">Packages</A> !,
       qq!( <A HREF="!, popurl(2), qq!edit/cust_pkg.cgi?$custnum">Order and cancel packages</A> (preserves services) )!,
 ;
 
@@ -382,7 +379,7 @@ if ( @$packages ) {
 %>
 <TABLE CLASS="package" BORDER=1 CELLSPACING=0 CELLPADDING=2 BORDERCOLOR="#999999">
 <TR>
-  <TH COLSPAN=2>Package</TH>
+  <TH>Package</TH>
   <TH>Status</TH>
   <TH COLSPAN=2>Services</TH>
 </TR>
@@ -402,9 +399,9 @@ foreach my $pkg (sort pkgsort_pkgnum_cancel @$packages) {
 %>
 <!--pkgnum: <%=$pkg->{pkgnum}%>-->
 <TR>
-  <TD ROWSPAN=<%=$rowspan%> CLASS="pkgnum"><%=$pkg->{pkgnum}%></TD>
   <TD ROWSPAN=<%=$rowspan%>>
-    <%=$pkg->{pkg}%> - <%=$pkg->{comment}%> (&nbsp;<%=pkg_details_link($pkg)%>&nbsp;)<BR>
+    <A NAME="cust_pkg<%=$pkg->{pkgnum}%>"><%=$pkg->{pkgnum}%></A>:
+    <%=$pkg->{pkg}%> - <%=$pkg->{comment}%><BR>
 <% unless ($pkg->{cancel}) { %>
     (&nbsp;<%=pkg_change_link($pkg)%>&nbsp;)
     (&nbsp;<%=pkg_dates_link($pkg)%>&nbsp;|&nbsp;<%=pkg_customize_link($pkg,$custnum)%>&nbsp;)
@@ -538,7 +535,7 @@ foreach my $pkg (sort pkgsort_pkgnum_cancel @$packages) {
     }
     if ($svcpart->{count} < $svcpart->{quantity}) {
       print qq!<TR>\n! if ($cnt > 0);
-      print qq!  <TD COLSPAN=2>!.svc_provision_link($pkg,$svcpart).qq!</TD>\n</TR>\n!;
+      print qq!  <TD COLSPAN=2>!.svc_provision_link($pkg, $svcpart, $conf).qq!</TD>\n</TR>\n!;
     }
   }
 }
@@ -573,9 +570,12 @@ function cust_credit_areyousure(href) {
 
 <% if ( $conf->config('payby-default') ne 'HIDE' ) { %>
   
-  <BR><BR><A NAME="history">Payment History</A>
-  (<A HREF="<%= $p %>edit/cust_pay.cgi?custnum=<%= $custnum %>">Post payment</A>
-  | <A HREF="<%= $p %>edit/cust_credit.cgi?<%= $custnum %>">Post credit</A>)
+  <BR><BR><A NAME="history"><FONT SIZE="+2">Payment History</FONT></A><BR>
+  <A HREF="<%= $p %>edit/cust_pay.cgi?custnum=<%= $custnum %>">Post cash/check payment</A>
+  | <A HREF="<%= $p %>misc/payment.cgi?payby=CARD;custnum=<%= $custnum %>">Process credit card payment</A>
+  | <A HREF="<%= $p %>misc/payment.cgi?payby=CHEK;custnum=<%= $custnum %>">Process electronic check (ACH) payment</A>
+  <BR><A HREF="<%= $p %>edit/cust_credit.cgi?<%= $custnum %>">Post credit</A>
+  <BR>
 
   <%
   #get payment history
@@ -713,10 +713,10 @@ function cust_credit_areyousure(href) {
         }
       }
       if ( $cust_credit->credited > 0 ) {
-        $desc .= ' - <B><FONT COLOR="#FF0000">$'.
-                 $cust_credit->unapplied. ' unapplied</FONT></B>'.
+        $desc .= '&nbsp;&nbsp;<B><FONT COLOR="#FF0000">$'.
+                 $cust_credit->credited. ' unapplied</FONT></B>'.
                  qq! (<A HREF="${p}edit/cust_credit_bill.cgi?!.
-                 $cust_credit->crednum. '">apply</A>'.
+                 $cust_credit->crednum. '">apply</A>)'.
                  '<BR>';
       }
     }
@@ -807,6 +807,7 @@ function cust_credit_areyousure(href) {
     $balance += $item->{'refund'}  if exists $item->{'refund'};
     $balance = sprintf("%.2f", $balance);
     $balance =~ s/^\-0\.00$/0.00/; #yay ieee fp
+    ( my $showbalance = '$'. $balance ) =~ s/^\$\-/-&nbsp;\$/;
 
   %>
   
@@ -822,11 +823,11 @@ function cust_credit_areyousure(href) {
         </FONT>
       </TD>
       <TD><%= $item->{'desc'} %></TD>
-      <TD><%= $charge  %></TD>
-      <TD><%= $payment %></TD>
-      <TD><%= $credit  %></TD>
-      <TD><%= $refund  %></TD>
-      <TD>$<%= $balance %></TD>
+      <TD ALIGN="right"><%= $charge  %></TD>
+      <TD ALIGN="right"><%= $payment %></TD>
+      <TD ALIGN="right"><%= $credit  %></TD>
+      <TD ALIGN="right"><%= $refund  %></TD>
+      <TD ALIGN="right"><%= $showbalance %></TD>
     </TR>
 
   <% } %>
@@ -946,13 +947,21 @@ sub svc_label_link {
 }
 
 sub svc_provision_link {
-  my ($pkg, $svcpart) = (shift,shift) or return '';
+  my ($pkg, $svcpart, $conf) = @_;
   ( my $svc_nbsp = $svcpart->{svc} ) =~ s/\s+/&nbsp;/g;
-  return qq!<A CLASS="provision" HREF="${p}edit/$svcpart->{svcdb}.cgi?! .
-         qq!pkgnum$pkg->{pkgnum}-svcpart$svcpart->{svcpart}">! .
-         "Provision&nbsp;$svc_nbsp&nbsp;(".
-         ($svcpart->{quantity} - $svcpart->{count}).
-         ')</A>';
+  my $pkgnum_svcpart = "pkgnum$pkg->{pkgnum}-svcpart$svcpart->{svcpart}";
+  my $num_left = $svcpart->{quantity} - $svcpart->{count};
+
+  my $link = qq!<A CLASS="provision" HREF="${p}edit/$svcpart->{svcdb}.cgi?!.
+             qq!$pkgnum_svcpart">!.
+             "Provision&nbsp;$svc_nbsp&nbsp;($num_left)</A>";
+  if ( $conf->exists('legacy_link') ) {
+    $link .= '<BR>'.
+             qq!<A CLASS="provision" HREF="${p}misc/link.cgi?!.
+             qq!$pkgnum_svcpart">!.
+            "Link&nbsp;to&nbsp;legacy&nbsp;$svc_nbsp&nbsp;($num_left)</A>";
+  }
+  $link;
 }
 
 sub svc_unprovision_link {
@@ -983,11 +992,6 @@ sub pkg_datestr {
   $strip;
 }
 
-sub pkg_details_link {
-  my $pkg = shift or return '';
-  return qq!<a href="${p}view/cust_pkg.cgi?$pkg->{pkgnum}">Details</a>!;
-}
-
 sub pkg_change_link {
   my $pkg = shift or return '';
   return qq!<a href="${p}misc/change_pkg.cgi?$pkg->{pkgnum}">Change&nbsp;package</a>!;
@@ -1005,7 +1009,8 @@ sub pkg_unsuspend_link {
 
 sub pkg_cancel_link {
   my $pkg = shift or return '';
-  return qq!<A HREF="javascript:cust_pkg_areyousure('${p}misc/cancel_pkg.cgi?$pkg->{pkgnum}')">Cancel</A>!;
+  qq!<A HREF="javascript:cust_pkg_areyousure('${p}misc/cancel_pkg.cgi?$pkg->{pkgnum}')">Cancel now</A> | !.
+  qq!<A HREF="${p}misc/expire_pkg.cgi?$pkg->{pkgnum}">Cancel later</A>!;
 }
 
 sub pkg_dates_link {