X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_tax_exempt_pkg.cgi;h=7b4a6d0cde86aa5d87e6436f189433248f2ef836;hp=3a5155ae8d096a298f2a8b069aed84c4fcb0d1a3;hb=1fc8addc56f8daf12397da568eb1ac1b27fd3984;hpb=63a268637b2d51a8766412617724b9436439deb6 diff --git a/httemplate/search/cust_tax_exempt_pkg.cgi b/httemplate/search/cust_tax_exempt_pkg.cgi index 3a5155ae8..7b4a6d0cd 100644 --- a/httemplate/search/cust_tax_exempt_pkg.cgi +++ b/httemplate/search/cust_tax_exempt_pkg.cgi @@ -1,4 +1,4 @@ -<% include( 'elements/search.html', +<& elements/search.html, 'title' => 'Tax exemptions', 'name' => 'tax exemptions', 'query' => $query, @@ -77,14 +77,12 @@ '', FS::UI::Web::cust_styles(), ], - ) -%> +&> <%once> my $join_cust = " - JOIN cust_bill USING ( invnum ) - LEFT JOIN cust_main USING ( custnum ) -"; + JOIN cust_bill USING ( invnum )" . + FS::UI::Web::join_cust_main('cust_bill', 'cust_pkg'); my $join_pkg = " LEFT JOIN cust_pkg USING ( pkgnum ) @@ -93,8 +91,8 @@ my $join_pkg = " my $join = " JOIN cust_bill_pkg USING ( billpkgnum ) - $join_cust $join_pkg + $join_cust "; @@ -103,13 +101,12 @@ my $join = " die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('View customer tax exemptions'); -my @where = (); +my @where = ( "exempt_monthly = 'Y'" ); my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); if ( $beginning || $ending ) { push @where, "_date >= $beginning", "_date <= $ending"; - #"payby != 'COMP'; } if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { @@ -120,27 +117,7 @@ if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { push @where, "cust_main.custnum = $1"; } -if ( $cgi->param('out') ) { - - push @where, " - 0 = ( - SELECT COUNT(*) FROM cust_main_county AS county_out - WHERE ( county_out.county = cust_main.county - OR ( county_out.county IS NULL AND cust_main.county = '' ) - OR ( county_out.county = '' AND cust_main.county IS NULL) - OR ( county_out.county IS NULL AND cust_main.county IS NULL) - ) - AND ( county_out.state = cust_main.state - OR ( county_out.state IS NULL AND cust_main.state = '' ) - OR ( county_out.state = '' AND cust_main.state IS NULL ) - OR ( county_out.state IS NULL AND cust_main.state IS NULL ) - ) - AND county_out.country = cust_main.country - AND county_out.tax > 0 - ) - "; - -} elsif ( $cgi->param('country' ) ) { +if ( $cgi->param('country' ) ) { my $county = dbh->quote( $cgi->param('county') ); my $state = dbh->quote( $cgi->param('state') ); @@ -153,6 +130,23 @@ if ( $cgi->param('out') ) { } +if ( $cgi->param('taxnum') ) { + + my @taxnums = grep /^\d+$/, map { split(',', $_) } $cgi->param('taxnum'); + if ( $cgi->param('taxnum') =~ /^([\d,]+)$/) { + push @where, "cust_tax_exempt_pkg.taxnum IN ($1)"; + } + +} + +if ( $cgi->param('classnum') =~ /^(\d+)$/ ) { + push @where, "COALESCE(part_pkg.classnum,0) = $1"; +} + +# no reason ever to show the negative exemptions created by credits. +# they'll just confuse people. +push @where, "creditbillpkgnum IS NULL"; + my $where = scalar(@where) ? 'WHERE '.join(' AND ', @where) : ''; my $count_query = "SELECT COUNT(*), SUM(amount)".