X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fvend_bill.pm;h=c8fcdd746ee447eca21242e55886c964217ae8fb;hb=a180208786cccb72ab017e39fff0cb128aa6ba01;hp=81de6949e24ea79bd39cc033a203c0ae31eb2665;hpb=1f9cad18af5742ee646a56bc0d5a40e6775eabab;p=freeside.git diff --git a/FS/FS/vend_bill.pm b/FS/FS/vend_bill.pm index 81de6949e..c8fcdd746 100644 --- a/FS/FS/vend_bill.pm +++ b/FS/FS/vend_bill.pm @@ -193,6 +193,7 @@ sub search { my ($class, $param) = @_; my @where = (); + my $addl_from = ''; #_date if ( $param->{_date} ) { @@ -202,7 +203,7 @@ sub search { "vend_bill._date < $ending"; } - #_date + #payment_date if ( $param->{payment_date} ) { my($beginning, $ending) = @{$param->{payment_date}}; @@ -210,11 +211,17 @@ sub search { "vend_pay._date < $ending"; } + if ( $param->{'classnum'} =~ /^(\d+)$/ ) { + #also simplistic, but good for now + $addl_from .= ' LEFT JOIN vend_main USING (vendnum) '; + push @where, "vend_main.classnum = $1"; + } + my $extra_sql = scalar(@where) ? ' WHERE '. join(' AND ', @where) : ''; #simplistic, but how we are for now - my $addl_from = ' LEFT JOIN vend_bill_pay USING (vendbillnum) '. - ' LEFT JOIN vend_pay USING (vendpaynum) '; + $addl_from .= ' LEFT JOIN vend_bill_pay USING (vendbillnum) '. + ' LEFT JOIN vend_pay USING (vendpaynum) '; my $count_query = "SELECT COUNT(*), SUM(charged) FROM vend_bill $addl_from $extra_sql";