import rt 2.0.14
[freeside.git] / httemplate / search / cust_pay.cgi
1 <%
2
3 $cgi->param('payinfo') =~ /^\s*(\d+)\s*$/ or die "illegal payinfo";
4 my $payinfo = $1;
5 $cgi->param('payby') =~ /^(\w+)$/ or die "illegal payby";
6 my $payby = $1;
7 my @cust_pay = qsearch('cust_pay', { 'payinfo' => $payinfo,
8                                      'payby'   => $payby    } );
9 my $sortby = \*date_sort;
10
11 if (0) {
12 #if ( scalar(@cust_pay) == 1 ) {
13 #  my $invnum = $cust_bill[0]->invnum;
14 #  print $cgi->redirect(popurl(2). "view/cust_bill.cgi?$invnum");  #redirect
15 } elsif ( scalar(@cust_pay) == 0 ) {
16 %>
17 <!-- mason kludge -->
18 <%
19   idiot("Check # not found.");
20   #exit;
21 } else {
22   my $total = scalar(@cust_pay);
23   my $s = $total > 1 ? 's' : '';
24 %>
25 <!-- mason kludge -->
26 <%
27   print header("Check # Search Results", menubar(
28           'Main Menu', popurl(2)
29         )), "$total matching check$s found<BR>", &table(), <<END;
30       <TR>
31         <TH></TH>
32         <TH>Amount</TH>
33         <TH>Date</TH>
34         <TH>Contact name</TH>
35         <TH>Company</TH>
36       </TR>
37 END
38
39   my(%saw, $cust_pay);
40   foreach my $cust_pay (
41     sort $sortby grep(!$saw{$_->paynum}++, @cust_pay)
42   ) {
43     my($paynum, $custnum, $payinfo, $amount, $date ) = (
44       $cust_pay->paynum,
45       $cust_pay->custnum,
46       $cust_pay->payinfo,
47       sprintf("%.2f", $cust_pay->paid),
48       $cust_pay->_date,
49     );
50     my $pdate = time2str("%b %d %Y", $date);
51
52     my $rowspan = 1;
53
54     my $view = popurl(2). "view/cust_main.cgi?". $custnum. 
55                "#". $payby. $payinfo;
56
57     print <<END;
58       <TR>
59         <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$payinfo</FONT></A></TD>
60         <TD ROWSPAN=$rowspan ALIGN="right"><A HREF="$view"><FONT SIZE=-1>\$$amount</FONT></A></TD>
61         <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$pdate</FONT></A></TD>
62 END
63     my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
64     if ( $cust_main ) {
65       #my $cview = popurl(2). "view/cust_main.cgi?". $cust_main->custnum;
66       my ( $name, $company ) = (
67         $cust_main->last. ', '. $cust_main->first,
68         $cust_main->company,
69       );
70       print <<END;
71         <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$name</FONT></A></TD>
72         <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$company</FONT></A></TD>
73 END
74     } else {
75       print <<END
76         <TD ROWSPAN=$rowspan COLSPAN=2>WARNING: couldn't find cust_main.custnum $custnum (cust_pay.paynum $paynum)</TD>
77 END
78     }
79
80     print "</TR>";
81   }
82   print <<END;
83     </TABLE>
84   </BODY>
85 </HTML>
86 END
87
88 }
89
90 #
91
92 #sub invnum_sort {
93 #  $a->invnum <=> $b->invnum;
94 #}
95 #
96 #sub custnum_sort {
97 #  $a->custnum <=> $b->custnum || $a->invnum <=> $b->invnum;
98 #}
99
100 sub date_sort {
101   $a->_date <=> $b->_date || $a->invnum <=> $b->invnum;
102 }
103 %>