X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Foverdue.pl;h=a7207b711b7c0300f45a8b79471e75e334ef4b7e;hb=f7a525fa09008d98340739bd930fc48debcd306f;hp=2bdafe1a0bb969fd2e80ae86d12fc02ec08bb2ef;hpb=6200d4ae21a6e780fe221d0f873395f5d60c063c;p=koha_fer diff --git a/circ/overdue.pl b/circ/overdue.pl index 2bdafe1a0b..a7207b711b 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,8 +267,22 @@ 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; - $strsth.=" AND borrowers.flags = '" . $borflagsfilter . "' " if $borflagsfilter; + if( $itemtypefilter ){ + if( C4::Context->preference('item-level_itypes') ){ + $strsth.=" AND items.itype = '" . $itemtypefilter . "' "; + } else { + $strsth.=" AND biblioitems.itemtype = '" . $itemtypefilter . "' "; + } + } + if ( $borflagsfilter eq 'gonenoaddress' ) { + $strsth .= " AND borrowers.gonenoaddress <> 0"; + } + elsif ( $borflagsfilter eq 'debarred' ) { + $strsth .= " AND borrowers.debarred >= CURDATE()" ; + } + elsif ( $borflagsfilter eq 'lost') { + $strsth .= " AND borrowers.lost <> 0"; + } $strsth.=" AND borrowers.branchcode = '" . $branchfilter . "' " if $branchfilter; $strsth.=" AND date_due < '" . $datedueto . "' " if $datedueto; $strsth.=" AND date_due > '" . $dateduefrom . "' " if $dateduefrom; @@ -275,11 +291,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 +323,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}, @@ -392,7 +411,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();