filter by customer class on all financial reports, #20573
[freeside.git] / httemplate / search / cust_credit_refund.html
index d9abe2e..75138e9 100644 (file)
                    sub { shift->cust_refund->otaker },
                    \&FS::UI::Web::cust_fields,
                 ],
+                'sort_fields' => [
+                  'amount',
+                  '', #cust_credit_amount?  cust_credit_date? prolly split field
+                  '', #_date?  cust_refund_refund?  also split
+                ],
                 'align' => 'rrrl'.FS::UI::Web::cust_aligns(),
                 'links' => [
                              '',
@@ -73,6 +78,20 @@ if ( $cgi->param('agentnum') && $cgi->param('agentnum') =~ /^(\d+)$/ ) {
   $title = $agent->agent. " $title";
 }
 
+if ( $cgi->param('refnum') && $cgi->param('refnum') =~ /^(\d+)$/ ) {
+  push @search, "refnum = $1";
+  my $part_referral = qsearchs('part_referral', { 'refnum' => $1 } );
+  die "unknown refnum $1" unless $part_referral;
+  $title = $part_referral->referral. " $title";
+}
+
+if ( $cgi->param('cust_classnum') ) {
+  my @classnums = grep /^\d+$/, $cgi->param('cust_classnum');
+  push @search, 'cust_main.classnum IN('.join(',',@classnums).')'
+    if @classnums;
+}
+
+
 my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi);
 push @search, "cust_credit._date >= $beginning ",
               "cust_credit._date <= $ending";