X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Foverdue.pl;h=e59961a3027d85a0938a072cfedaa7e8be4b5473;hb=61102d16d13a704f27a776350aa6d5582344b7e3;hp=18851a6c01b69a48a1cad036a06b6b09e58fd0b1;hpb=7aa3a055914d4c8757455898208848619f5aaec5;p=koha_gimpoz diff --git a/circ/overdue.pl b/circ/overdue.pl index 18851a6c01..e59961a302 100755 --- a/circ/overdue.pl +++ b/circ/overdue.pl @@ -236,7 +236,8 @@ if ($noreport) { my $strsth="SELECT date_due, borrowers.title as borrowertitle, - concat(surname,' ', firstname) as borrower, + borrowers.surname, + borrowers.firstname, borrowers.streetnumber, borrowers.streettype, borrowers.address, @@ -247,6 +248,7 @@ if ($noreport) { borrowers.phone, borrowers.email, issues.itemnumber, + issues.issuedate, items.barcode, biblio.title, biblio.author, @@ -265,7 +267,13 @@ if ($noreport) { $strsth.=" AND date_due < '" . $todaysdate . "' " unless ($showall); $strsth.=" AND (borrowers.firstname like '".$bornamefilter."%' or borrowers.surname like '".$bornamefilter."%' or borrowers.cardnumber like '".$bornamefilter."%')" if($bornamefilter) ; $strsth.=" AND borrowers.categorycode = '" . $borcatfilter . "' " if $borcatfilter; - $strsth.=" AND biblioitems.itemtype = '" . $itemtypefilter . "' " if $itemtypefilter; + if( $itemtypefilter ){ + if( C4::Context->preference('item-level_itypes') ){ + $strsth.=" AND items.itype = '" . $itemtypefilter . "' "; + } else { + $strsth.=" AND biblioitems.itemtype = '" . $itemtypefilter . "' "; + } + } $strsth.=" AND borrowers.flags = '" . $borflagsfilter . "' " if $borflagsfilter; $strsth.=" AND borrowers.branchcode = '" . $branchfilter . "' " if $branchfilter; $strsth.=" AND date_due < '" . $datedueto . "' " if $datedueto; @@ -275,11 +283,12 @@ if ($noreport) { $strsth =~ s/WHERE 1=1/WHERE 1=1 AND borrowers.borrowernumber IN ($bnlist)/ if $bnlist; $strsth =~ s/WHERE 1=1/WHERE 0=1/ if $have_pattr_filter_data && !$bnlist; # no match if no borrowers matched patron attrs $strsth.=" ORDER BY " . ( - ($order eq "borrower" or $order eq "borrower desc") ? "$order, date_due" : - ($order eq "title" or $order eq "title desc") ? "$order, date_due, borrower" : - ($order eq "barcode" or $order eq "barcode desc") ? "items.$order, date_due, borrower" : - ($order eq "date_due desc") ? "date_due DESC, borrower" : - "date_due, borrower" # default sort order + ($order eq "borrower") ? "surname, firstname, date_due" : + ($order eq "borrower desc") ? "surname desc, firstname desc, date_due" : + ($order eq "title" or $order eq "title desc") ? "$order, date_due, surname, firstname" : + ($order eq "barcode" or $order eq "barcode desc") ? "items.$order, date_due, surname, firstname" : + ($order eq "date_due desc") ? "date_due DESC, surname, firstname" : + "date_due, surname, firstname" # default sort order ); $template->param(sql=>$strsth); my $sth=$dbh->prepare($strsth); @@ -306,8 +315,10 @@ if ($noreport) { borrowernumber => $data->{borrowernumber}, barcode => $data->{barcode}, itemnum => $data->{itemnumber}, + issuedate => format_date($data->{issuedate}), borrowertitle => $data->{borrowertitle}, - name => $data->{borrower}, + surname => $data->{surname}, + firstname => $data->{firstname}, streetnumber => $data->{streetnumber}, streettype => $data->{streettype}, address => $data->{address}, @@ -351,7 +362,7 @@ if ($noreport) { } if ($op eq 'csv') { - binmode(STDOUT, ":utf8"); + binmode(STDOUT, ":encoding(UTF-8)"); my $csv = build_csv(\@overduedata); print $input->header(-type => 'application/vnd.sun.xml.calc', -encoding => 'utf-8', @@ -392,7 +403,8 @@ sub build_csv { my @lines = (); # build header ... - my @keys = grep { $_ ne 'patron_attr_value_loop' } sort keys %{ $overdues->[0] }; + my @keys = qw /duedate title author borrowertitle name phone barcode email address address2 zipcode city country + branchcode itemcallnumber biblionumber borrowernumber itemnum issuedate replacementprice streetnumber streettype/; my $csv = Text::CSV_XS->new(); $csv->combine(@keys); push @lines, $csv->string();