diff options
| -rw-r--r-- | httemplate/search/cust_bill_pkg.cgi | 25 | ||||
| -rw-r--r-- | httemplate/search/cust_credit_bill_pkg.html | 2 | ||||
| -rw-r--r-- | httemplate/search/report_tax.cgi | 33 | 
3 files changed, 34 insertions, 26 deletions
diff --git a/httemplate/search/cust_bill_pkg.cgi b/httemplate/search/cust_bill_pkg.cgi index 278382feb..4dc300d2f 100644 --- a/httemplate/search/cust_bill_pkg.cgi +++ b/httemplate/search/cust_bill_pkg.cgi @@ -705,9 +705,16 @@ my $pay_sub = "SELECT SUM(cust_bill_pay_pkg.amount)                ";  push @select, "($pay_sub) AS pay_amount"; -#total credits -my $credit_sub = 'SELECT SUM(amount) AS credit_amount, billpkgnum -                  FROM cust_credit_bill_pkg GROUP BY billpkgnum'; +# showing credited amount, optionally with date filtering +my $credit_where = ''; +if ( $cgi->param('credit_begin') or $cgi->param('credit_end') ) { +  my($cr_begin, $cr_end) = FS::UI::Web::parse_beginning_ending($cgi, 'credit'); +  $credit_where = "WHERE cust_credit_bill._date >= $cr_begin " . +                  "AND cust_credit_bill._date <= $cr_end"; +} + +my $credit_sub = "SELECT SUM(amount) AS credit_amount, billpkgnum +                  FROM cust_credit_bill_pkg $credit_where GROUP BY billpkgnum";  $join_pkg .= " LEFT JOIN ($credit_sub) AS item_credit    ON (cust_bill_pkg.billpkgnum = item_credit.billpkgnum)"; @@ -737,6 +744,10 @@ if ( $cgi->param('salesnum') =~ /^(\d+)$/ ) {    $cgi->param('classnum', 0) unless $cgi->param('classnum');  } +#credit flag (include only those that have credit(s) applied) +if ( $cgi->param('credit') ) { +  push @where, 'credit_amount > 0'; +}  my $where = join(' AND ', @where);  $where &&= "WHERE $where"; @@ -775,7 +786,13 @@ my $ilink = [ "${p}view/cust_bill.cgi?", 'invnum' ];  my $clink = [ "${p}view/cust_main.cgi?", 'custnum' ];  my $pay_link    = ''; #[, 'billpkgnum', ]; -my $credit_link = [ "${p}search/cust_credit_bill_pkg.html?billpkgnum=", 'billpkgnum', ]; +my $credit_param = ''; +foreach ('credit_begin', 'credit_end') { +  if ( $cgi->param($_) ) { +    $credit_param .= "$_=" . $cgi->param($_) . ';'; +  } +} +my $credit_link = [ "${p}search/cust_credit_bill_pkg.html?${credit_param}billpkgnum=", 'billpkgnum', ];  warn "\n\nQUERY:\n".Dumper($query)."\n\nCOUNT_QUERY:\n$count_query\n\n"    if $cgi->param('debug'); diff --git a/httemplate/search/cust_credit_bill_pkg.html b/httemplate/search/cust_credit_bill_pkg.html index 5e70c23bd..5facd4ab3 100644 --- a/httemplate/search/cust_credit_bill_pkg.html +++ b/httemplate/search/cust_credit_bill_pkg.html @@ -375,7 +375,7 @@ if ( $cgi->param('report_group') =~ /^(=|!=) (.*)$/ && $cgi->param('istax') ) {  } -push @where, 'cust_bill_pkg.pkgnum != 0' if $cgi->param('nottax'); +push @where, '(cust_bill_pkg.pkgnum != 0 OR cust_bill_pkg.feepart is not null)' if $cgi->param('nottax');  push @where, 'cust_bill_pkg.pkgnum  = 0' if $cgi->param('istax');  if ( $cgi->param('cust_tax') ) { diff --git a/httemplate/search/report_tax.cgi b/httemplate/search/report_tax.cgi index 2b531ea46..04bdf12ad 100644 --- a/httemplate/search/report_tax.cgi +++ b/httemplate/search/report_tax.cgi @@ -78,16 +78,17 @@ TD.rowhead { font-weight: bold; text-align: left; padding: 0px 3px }  %   # cust_bill_pkg.cgi wants a list of specific taxnums (and package class)  %   # cust_credit_bill_pkg.html wants a geographic scope (and package class)  %   my $rowlink = ';taxnum=' . $row->{taxnums}; -%   my $rowregion = ';country=' . $cgi->param('country'); -%   foreach my $loc (qw(state county city district)) { -%     if ( $row->{$loc} ) { -%       $rowregion .= ";$loc=" . uri_escape($row->{$loc}); -%     } -%   } +% # DON'T EVER USE THIS +% #  my $rowregion = ';country=' . $cgi->param('country'); +% #  foreach my $loc (qw(state county city district)) { +% #    if ( $row->{$loc} ) { +% #      $rowregion .= ";$loc=" . uri_escape($row->{$loc}); +% #    } +% #  }  %   # and also the package class, if we're limiting package class  %   if ( $params{breakdown}->{pkgclass} ) {  %     $rowlink .= ';classnum=' . ($row->{pkgclass} || 0); -%     $rowregion .= ';classnum=' . ($row->{pkgclass} || 0); +% #    $rowregion .= ';classnum=' . ($row->{pkgclass} || 0);  %   }  %  %   if ( $row->{total} ) { @@ -122,7 +123,7 @@ TD.rowhead { font-weight: bold; text-align: left; padding: 0px 3px }      </TD>  %   # credited sales      <TD> -      <A HREF="<% $salescreditlink . $rowregion %>"> +      <A HREF="<% $salescreditlink . $rowlink %>">          <% $money_sprintf->( $row->{sales_credited} ) %>        </A>      </TD> @@ -220,16 +221,6 @@ TD.rowhead { font-weight: bold; text-align: left; padding: 0px 3px }  %   } # if $row->{pkgclass} ne ...  %   my $rowlink = ';taxnum=' . $row->{taxnums}; -%   my $rowregion = ';country=' . $cgi->param('country'); -%   foreach my $loc (qw(state county city district)) { -%     if ( $row->{$loc} ) { -%       $rowregion .= ";$loc=" . uri_escape($row->{$loc}); -%     } -%   } -%   if ( $params{breakdown}->{pkgclass} ) { -%     $rowlink .= ';classnum=' . ($row->{pkgclass} || 0); -%     $rowregion .= ';classnum=' . ($row->{pkgclass} || 0); -%   }  %  %   if ( $row->{total} ) {    </TBODY><TBODY CLASS="total"> @@ -242,13 +233,13 @@ TD.rowhead { font-weight: bold; text-align: left; padding: 0px 3px }      </TD>  %   # Credits to taxable sales      <TD> -      <A HREF="<% $salescreditlink . $rowregion %>"> +      <A HREF="<% $salescreditlink . $rowlink %>">          <% $money_sprintf->( $row->{sales_credited} ) %>        </A>      </TD>  %   # ... to exempt sales (link is the same, it shows both exempt and taxable)      <TD> -      <A HREF="<% $salescreditlink . $rowregion %>"> +      <A HREF="<% $salescreditlink . $rowlink %>">          <% $money_sprintf->( $row->{exempt_credited} ) %>        </A>      </TD> @@ -324,7 +315,7 @@ if ( $params{agentnum} ) {  my $saleslink  = $p. "search/cust_bill_pkg.cgi?$dateagentlink;nottax=1";  my $taxlink    = $p. "search/cust_bill_pkg.cgi?$dateagentlink;istax=1";  my $exemptlink = $p. "search/cust_tax_exempt_pkg.cgi?$dateagentlink"; -my $salescreditlink = $p. "search/cust_credit_bill_pkg.html?$dateagentlink;nottax=1"; +my $salescreditlink = $p. "search/cust_bill_pkg.cgi?$dateagentlink;nottax=1;credit=1";  if ( $params{'credit_date'} eq 'cust_credit_bill' ) {    $salescreditlink =~ s/begin/credit_begin/;    $salescreditlink =~ s/end/credit_end/;  | 
