X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_bill.html;h=8d512f58314a955a8d44f8d787ccbee89ac040c3;hb=8b1320ce3eca72830fe8b138f07b22968e349f96;hp=473aed311de6c35f7e10e1c630ed748a309c815b;hpb=24b3cded842823df810e6bee6ef66237c783f033;p=freeside.git diff --git a/httemplate/search/cust_bill.html b/httemplate/search/cust_bill.html index 473aed311..8d512f583 100755 --- a/httemplate/search/cust_bill.html +++ b/httemplate/search/cust_bill.html @@ -84,6 +84,20 @@ if ( $cgi->param('invnum') =~ /^\s*(FS-)?(\d+)\s*$/ ) { 'extra_sql' => $where, }; + if ( FS::Record->scalar_sql($count_query) == 0 ) { + + # check for a voided invoice + $count_query =~ s/cust_bill/cust_bill_void/g; + if ( FS::Record->scalar_sql($count_query) > 0 ) { + # Redirect to the void search. + my $url = $cgi->self_url; + $url =~ s(search/cust_bill)(search/cust_bill_void); + $m->clear_buffer; + $m->print($cgi->redirect($url)); + $m->abort; + } + } + } else { #some false laziness w/cust_bill::re_X @@ -156,15 +170,13 @@ if ( grep { $_ eq 'cust_classnum' } $cgi->param ) { } } - my $payby_sql = ''; - $payby_sql = ' AND (' . - join(' OR ', map { "cust_main.payby = '$_'" } $cgi->param('payby') ) . - ')' - if $cgi->param('payby'); + #payby + if ($cgi->param('payby')) { + $search{payby} = [ $cgi->param('payby') ]; + } - my $extra_sql = ' WHERE '. - FS::cust_bill->search_sql_where( \%search ). - $payby_sql; + my $extra_sql = FS::cust_bill->search_sql_where( \%search ); + $extra_sql = "WHERE $extra_sql" if $extra_sql; unless ( $count_query ) { $count_query = 'SELECT COUNT(*), '. join(', ',