From: ivan Date: Thu, 10 Dec 2009 23:03:18 +0000 (+0000) Subject: fully fix bulk customer reports, RT#6778 X-Git-Tag: root_of_svc_elec_features~632 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=301007875822fa4a694e34eda561bc5525b836b3 fully fix bulk customer reports, RT#6778 --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 4973f690d..80db9dd8f 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -8374,24 +8374,41 @@ sub search { # classnum ### - my @classnum = grep /^(\d*)$/, @{ $params->{'classnum'} }; - if ( @classnum ) { - push @where, '( '. join(' OR ', map { - $_ ? "cust_main.classnum = $_" - : "cust_main.classnum IS NULL" - } - @classnum - ). - ' )'; + if ( $params->{'classnum'} ) { + + my @classnum = ref( $params->{'classnum'} ) + ? @{ $params->{'classnum'} } + : ( $params->{'classnum'} ); + + @classnum = grep /^(\d*)$/, @classnum; + + if ( @classnum ) { + push @where, '( '. join(' OR ', map { + $_ ? "cust_main.classnum = $_" + : "cust_main.classnum IS NULL" + } + @classnum + ). + ' )'; + } + } ### # payby ### - my @payby = grep /^([A-Z]{4})$/, @{ $params->{'payby'} }; - if ( @payby ) { - push @where, '( '. join(' OR ', map "cust_main.payby = '$_'", @payby). ' )'; + if ( $params->{'payby'} ) { + + my @payby = ref( $params->{'payby'} ) + ? @{ $params->{'payby'} } + : ( $params->{'payby'} ); + + @payby = grep /^([A-Z]{4})$/, @{ $params->{'payby'} }; + + push @where, '( '. join(' OR ', map "cust_main.payby = '$_'", @payby). ' )' + if @payby; + } ###