my $branchfilter = $input->param('branch') || '';
my $homebranchfilter = $input->param('homebranch') || '';
my $holdingbranchfilter = $input->param('holdingbranch') || '';
+my $dateduefrom = $input->param('dateduefrom');
+my $datedueto = $input->param('datedueto');
my $op = $input->param('op') || '';
-my ($dateduefrom, $datedueto);
-if ( $dateduefrom = $input->param('dateduefrom') ) {
+if ( $dateduefrom ) {
$dateduefrom = dt_from_string( $dateduefrom );
}
-if ( $datedueto = $input->param('datedueto') ) {
+if ( $datedueto ) {
$datedueto = dt_from_string( $datedueto )->set_hour(23)->set_minute(59);
}
+my $filters = {
+ itemtype => $itemtypefilter,
+ borname => $bornamefilter,
+ borcat => $borcatfilter,
+ itemtype => $itemtypefilter,
+ borflag => $borflagsfilter,
+ branch => $branchfilter,
+ homebranch => $homebranchfilter,
+ holdingbranch => $holdingbranchfilter,
+ dateduefrom => $dateduefrom,
+ datedueto => $datedueto,
+};
+
my $isfiltered = $op =~ /apply/i && $op =~ /filter/i;
my $noreport = C4::Context->preference('FilterBeforeOverdueReport') && ! $isfiltered && $op ne "csv";
}
);
-our $logged_in_user = Koha::Patrons->find( $loggedinuser ) or die "Not logged in";
+our $logged_in_user = Koha::Patrons->find( $loggedinuser );
my $dbh = C4::Context->dbh;
$template->param(
patron_attr_header_loop => [ map { { header => $_->{description} } } grep { ! $_->{isclone} } @patron_attr_filter_loop ],
- branchfilter => $branchfilter,
- homebranchfilter => $homebranchfilter,
- holdingbranchfilter => $homebranchfilter,
+ filters => $filters,
borcatloop=> \@borcatloop,
itemtypeloop => \@itemtypeloop,
patron_attr_filter_loop => \@patron_attr_filter_loop,
- borname => $bornamefilter,
showall => $showall,
- dateduefrom => $dateduefrom,
- datedueto => $datedueto,
);
if ($noreport) {
borrowers.surname,
borrowers.firstname,
borrowers.streetnumber,
- borrowers.streettype,
+ borrowers.streettype,
borrowers.address,
borrowers.address2,
borrowers.city,
borrowers.phone,
borrowers.email,
borrowers.cardnumber,
+ borrowers.borrowernumber,
+ borrowers.branchcode,
issues.itemnumber,
issues.issuedate,
items.barcode,
items.holdingbranch,
biblio.title,
biblio.author,
- borrowers.borrowernumber,
biblio.biblionumber,
- borrowers.branchcode,
items.itemcallnumber,
items.replacementprice,
- items.enumchron
+ items.enumchron,
+ items.itemnotes_nonpublic,
+ items.itype
FROM issues
LEFT JOIN borrowers ON (issues.borrowernumber=borrowers.borrowernumber )
LEFT JOIN items ON (issues.itemnumber=items.itemnumber)
}
push @overduedata, {
- patron => scalar Koha::Patrons->find( $data->{borrowernumber} ),
+ patron => Koha::Patrons->find( $data->{borrowernumber} ),
duedate => $data->{date_due},
+ borrowernumber => $data->{borrowernumber},
+ cardnumber => $data->{cardnumber},
+ borrowertitle => $data->{borrowertitle},
+ surname => $data->{surname},
+ firstname => $data->{firstname},
+ streetnumber => $data->{streetnumber},
+ streettype => $data->{streettype},
+ address => $data->{address},
+ address2 => $data->{address2},
+ city => $data->{city},
+ zipcode => $data->{zipcode},
+ country => $data->{country},
+ phone => $data->{phone},
+ email => $data->{email},
+ branchcode => $data->{branchcode},
barcode => $data->{barcode},
itemnum => $data->{itemnumber},
issuedate => output_pref({ dt => dt_from_string( $data->{issuedate} ), dateonly => 1 }),
biblionumber => $data->{biblionumber},
title => $data->{title},
author => $data->{author},
- homebranchcode => $data->{homebranchcode},
- holdingbranchcode => $data->{holdingbranchcode},
+ homebranchcode => $data->{homebranch},
+ holdingbranchcode => $data->{holdingbranch},
itemcallnumber => $data->{itemcallnumber},
replacementprice => $data->{replacementprice},
+ itemnotes_nonpublic => $data->{itemnotes_nonpublic},
enumchron => $data->{enumchron},
+ itemtype => $data->{itype},
patron_attr_value_loop => \@patron_attr_value_loop,
};
}
# generate parameter list for CSV download link
my $new_cgi = CGI->new($input);
$new_cgi->delete('op');
- my $csv_param_string = $new_cgi->query_string();
$template->param(
- csv_param_string => $csv_param_string,
todaysdate => output_pref($today_dt),
overdueloop => \@overduedata,
nnoverdue => scalar(@overduedata),
# build header ...
my @keys =
qw ( duedate title author borrowertitle firstname surname phone barcode email address address2 zipcode city country
- branchcode itemcallnumber biblionumber borrowernumber itemnum issuedate replacementprice streetnumber streettype);
+ branchcode itemcallnumber biblionumber borrowernumber itemnum issuedate replacementprice itemnotes_nonpublic streetnumber streettype);
my $csv = Text::CSV_XS->new();
$csv->combine(@keys);
push @lines, $csv->string();
- my @private_keys = qw( dueborrowertitle firstname surname phone email address address2 zipcode city country streetnumber streettype );
+ my @private_keys = qw( borrowertitle firstname surname phone email address address2 zipcode city country streetnumber streettype );
# ... and rest of report
foreach my $overdue ( @{ $overdues } ) {
unless ( $logged_in_user->can_see_patron_infos( $overdue->{patron} ) ) {