summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-12-10 23:03:18 +0000
committerivan <ivan>2009-12-10 23:03:18 +0000
commit301007875822fa4a694e34eda561bc5525b836b3 (patch)
treed3befa054def743d23d836410c1949d7a98433b6
parent7e01b1bfa5fb152e3aaac0fb382b1d3045f63570 (diff)
fully fix bulk customer reports, RT#6778
-rw-r--r--FS/FS/cust_main.pm41
1 files changed, 29 insertions, 12 deletions
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;
+
}
###