one-time charges with tax classes
[freeside.git] / httemplate / view / cust_main.cgi
index c5a8c82..dfa32d3 100755 (executable)
@@ -206,8 +206,7 @@ print '<BR>';
 
   if ( $cust_main->payby eq 'CARD' ) {
     my $payinfo = $cust_main->payinfo;
-    $payinfo = substr($payinfo,0,4). 'x'x(length($payinfo)-4);
-
+    $payinfo = 'x'x(length($payinfo)-4). substr($payinfo,(length($payinfo)-4));
     print 'Credit card</TD></TR>',
           '<TR><TD ALIGN="right">Card number</TD><TD BGCOLOR="#ffffff">',
           $payinfo, '</TD></TR>',
@@ -266,7 +265,32 @@ foreach my $type_pkgs ( qsearch('type_pkgs',{'typenum'=> $agent->typenum }) ) {
         $part_pkg->comment;
 }
 
-print '</SELECT><INPUT TYPE="submit" VALUE="Order Package"><BR>';
+print '</SELECT><INPUT TYPE="submit" VALUE="Order Package"></FORM><BR>';
+
+print '<BR>'.
+  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">!.
+  qq! Amount:<INPUT TYPE="text" NAME="amount" SIZE=6>!.
+  qq!&nbsp;!;
+
+#false laziness w/ edit/part_pkg.cgi
+if ( $conf->exists('enable_taxclasses') ) {
+  print '<SELECT NAME="taxclass">';
+  my $sth = dbh->prepare('SELECT DISTINCT taxclass FROM cust_main_county')
+    or die dbh->errstr;
+  $sth->execute or die $sth->errstr;
+  foreach my $taxclass ( map $_->[0], @{$sth->fetchall_arrayref} ) {
+    print qq!<OPTION VALUE="$taxclass"!;
+    #print ' SELECTED' if $taxclass eq $hashref->{taxclass};
+    print qq!>$taxclass</OPTION>!;
+  }
+  print '</SELECT>';
+} else {
+  print '<INPUT TYPE="hidden" NAME="taxclass" VALUE="">';
+}
+
+print qq!<INPUT TYPE="submit" VALUE="One-time charge"></FORM><BR>!;
 
 print <<END;
 <SCRIPT>
@@ -460,7 +484,7 @@ foreach my $bill (@bills) {
                                              $payment->payinfo,
                                              $cust_bill_pay->amount,
                       );
-    $payinfo = substr($payinfo,0,4). 'x'x(length($payinfo)-4)
+    $payinfo = 'x'x(length($payinfo)-4). substr($payinfo,(length($payinfo)-4))
       if $payby eq 'CARD';
     my $target = "$payby$payinfo";
     $payby =~ s/^BILL$/Check #/ if $payinfo;
@@ -543,7 +567,7 @@ foreach my $payment (@unapplied_payments) {
   my $payby = $payment->payby;
   my $payinfo = $payment->payinfo;
   #false laziness w/above
-  $payinfo = substr($payinfo,0,4). 'x'x(length($payinfo)-4)
+  $payinfo = 'x'x(length($payinfo)-4). substr($payinfo,(length($payinfo)-4))
     if $payby eq 'CARD';
   my $target = "$payby$payinfo";
   $payby =~ s/^BILL$/Check #/ if $payinfo;
@@ -598,10 +622,10 @@ foreach my $item (sort keyfield_numerically @history) {
         ( $charge ? "\$".sprintf("%.2f",$charge) : '' ),
         "</FONT></TD>",
        "<TD><FONT SIZE=-1>",
-        ( $payment ? "- \$".sprintf("%.2f",$payment) : '' ),
+        ( $payment ? "-&nbsp;\$".sprintf("%.2f",$payment) : '' ),
         "</FONT></TD>",
        "<TD><FONT SIZE=-1>",
-        ( $credit ? "- \$".sprintf("%.2f",$credit) : '' ),
+        ( $credit ? "-&nbsp;\$".sprintf("%.2f",$credit) : '' ),
         "</FONT></TD>",
        "<TD><FONT SIZE=-1>",
         ( $refund ? "\$".sprintf("%.2f",$refund) : '' ),