X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=reports%2Fborrowers_out.pl;h=55243b355a144fd75f3940ed7cf3850234d686a5;hb=9706908b269ebc068b19a0989ca8af6804b1a540;hp=e6990291cdd6a5b218bf5badf1eb01da68c79598;hpb=f36c042b80f053b7f75dfc1aff12a312e5a59134;p=koha.git diff --git a/reports/borrowers_out.pl b/reports/borrowers_out.pl index e6990291cd..55243b355a 100755 --- a/reports/borrowers_out.pl +++ b/reports/borrowers_out.pl @@ -13,9 +13,9 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; use warnings; @@ -49,7 +49,6 @@ my @filters = $input->param("Filter"); $filters[1] = format_date_in_iso($filters[1]) if $filters[1]; my $output = $input->param("output"); my $basename = $input->param("basename"); -my $mime = $input->param("MIME"); our $sep = $input->param("sep") || ''; $sep = "\t" if ($sep eq 'tabulation'); my ($template, $borrowernumber, $cookie) @@ -61,7 +60,6 @@ my ($template, $borrowernumber, $cookie) debug => 1, }); $template->param(do_it => $do_it, - DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); if ($do_it) { # Displaying results @@ -70,7 +68,7 @@ if ($do_it) { # Printing results to screen $template->param(mainloop => $results); output_html_with_http_headers $input, $cookie, $template->output; - exit(1); + exit; } else { # Printing to a csv file print $input->header(-type => 'application/vnd.sun.xml.calc', @@ -104,7 +102,7 @@ if ($do_it) { print $sep.$col->{totalcol}; } print $sep.@$results[0]->{total}; - exit(1); + exit; } # Displaying choices } else { @@ -114,15 +112,10 @@ if ($do_it) { my %select; my $req; - my @mime = ( C4::Context->preference("MIME") ); -# foreach my $mime (@mime){ -# warn "".$mime; -# } - my $CGIextChoice=CGI::scrolling_list( -name => 'MIME', -id => 'MIME', - -values => \@mime, + -values => ['CSV'], # FIXME translation -size => 1, -multiple => 0 ); @@ -187,7 +180,7 @@ sub calculate { $colorder .= $column; my $strsth2; - $strsth2 .= "select distinctrow $colfield FROM borrowers LEFT JOIN `old_issues` USING(borrowernumber)"; + $strsth2 .= "select distinct $colfield FROM borrowers WHERE 1"; if ($colfilter[0]) { $colfilter[0] =~ s/\*/%/g; $strsth2 .= " and $column LIKE '$colfilter[0]' " ; @@ -235,11 +228,13 @@ sub calculate { $strcalc .= "WHERE 1 "; @$filters[0]=~ s/\*/%/g if (@$filters[0]); $strcalc .= " AND borrowers.categorycode like '" . @$filters[0] ."'" if ( @$filters[0] ); - my $strqueryfilter = "SELECT DISTINCT borrowernumber FROM old_issues WHERE borrowernumber IS NOT NULL "; - if (@$filters[1]){ - my $strqueryfilter .= "AND old_issues.timestamp> @$filters[1] "; - } - $strcalc .= " AND borrowers.borrowernumber not in ($strqueryfilter)"; + + $strcalc .= " AND NOT EXISTS (SELECT * FROM issues WHERE issues.borrowernumber=borrowers.borrowernumber "; + $strcalc .= " AND issues.timestamp> '" . @$filters[1] . "'" if (@$filters[1]); + $strcalc .= ") "; + $strcalc .= " AND NOT EXISTS (SELECT * FROM old_issues WHERE old_issues.borrowernumber=borrowers.borrowernumber "; + $strcalc .= " AND old_issues.timestamp> '" . @$filters[1] . "'" if (@$filters[1]); + $strcalc .= ") "; $strcalc .= " group by borrowers.borrowernumber"; $strcalc .= ", $colfield" if ($column); $strcalc .= " order by $colfield " if ($colfield);