add customer class to A/R report, fix "(none)" selection in other reports, RT#22540
[freeside.git] / httemplate / search / elements / cust_main_dayranges.html
index eb75664..cf2d495 100644 (file)
@@ -162,6 +162,15 @@ if ( grep { $cgi->param('status') eq $_ } FS::cust_main->statuses() ) {
   push @where, FS::cust_main->$method();
 }
 
+# cust_classnum (false laziness w/prepaid_income.html, elements/cust_pay_or_refund.html, cust_bill_pay.html, cust_bill_pkg.html, cust_bill_pkg_referral.html, unearned_detail.html, cust_credit.html, cust_credit_refund.html, cust_main::Search::search_sql)
+if ( grep { $_ eq 'cust_classnum' } $cgi->param ) {
+  my @classnums = grep /^\d*$/, $cgi->param('cust_classnum');
+  push @where, 'COALESCE( cust_main.classnum, 0) IN ( '.
+                   join(',', map { $_ || '0' } @classnums ).
+               ' )'
+    if @classnums;
+}
+
 #here is the agent virtualization
 push @where, $FS::CurrentUser::CurrentUser->agentnums_sql;
 
@@ -172,10 +181,11 @@ my $count_sql = "select count(*) from cust_main $where";
 
 my $sql_query = {
   'table'     => 'cust_main',
+  'addl_from' => FS::UI::Web::join_cust_main('cust_main'),
   'hashref'   => {},
   'select'    => join(',',
                    #'cust_main.*',
-                   'custnum',
+                   'cust_main.custnum',
                    $range_cols,
                    $packages_cols,
                    FS::UI::Web::cust_sql_fields(),