#'
sub GetPendingIssues {
- my (@borrowernumbers) = @_;
+ my @borrowernumbers = @_;
+
+ unless (@borrowernumbers ) { # return a ref_to_array
+ return \@borrowernumbers; # to not cause surprise to caller
+ }
# Borrowers part of the query
my $bquery = '';
for (my $i = 0; $i < @borrowernumbers; $i++) {
- $bquery .= " borrowernumber = ?";
- $bquery .= " OR" if ($i < (scalar(@borrowernumbers) - 1));
+ $bquery .= ' borrowernumber = ?';
+ if ($i < $#borrowernumbers ) {
+ $bquery .= ' OR';
+ }
}
# must avoid biblioitems.* to prevent large marc and marcxml fields from killing performance
$sth->execute(@borrowernumbers);
my $data = $sth->fetchall_arrayref({});
my $today = C4::Dates->new->output('iso');
- foreach (@$data) {
- $_->{date_due} or next;
- ($_->{date_due} lt $today) and $_->{overdue} = 1;
+ foreach (@{$data}) {
+ if ($_->{date_due} and $_->{date_due} lt $today) {
+ $_->{overdue} = 1;
+ }
}
return $data;
}
#push @borrowernumbers, $borrower->{'borrowernumber'};
# get each issue of the borrower & separate them in todayissues & previous issues
- my ($issueslist) = GetPendingIssues($borrower->{'borrowernumber'});
- my ($relissueslist) = GetPendingIssues(@relborrowernumbers);
+ my $issueslist = GetPendingIssues($borrower->{'borrowernumber'});
+ my $relissueslist = [];
+ if ( @relborrowernumbers ) {
+ $relissueslist = GetPendingIssues(@relborrowernumbers);
+ }
build_issue_data($issueslist, 0);
build_issue_data($relissueslist, 1);
else {
@todaysissues = sort { $b->{'timestamp'} cmp $a->{'timestamp'} } @todaysissues;
}
+
if ( C4::Context->preference( "previousIssuesDefaultSortOrder" ) eq 'asc' ){
@previousissues = sort { $a->{'date_due'} cmp $b->{'date_due'} } @previousissues;
}
#
my @borrowernumbers = GetMemberRelatives($borrowernumber);
my $issue = GetPendingIssues($borrowernumber);
-my $relissue = GetPendingIssues(@borrowernumbers);
-my $issuecount = scalar(@$issue);
-my $relissuecount = scalar(@$relissue);
+my $relissue = [];
+if ( @borrowernumbers ) {
+ $relissue = GetPendingIssues(@borrowernumbers);
+}
+my $issuecount = @{$issue};
+my $relissuecount = @{$relissue};
my $roaddetails = &GetRoadTypeDetails( $data->{'streettype'} );
my $today = POSIX::strftime("%Y-%m-%d", localtime); # iso format
my @issuedata;