my $borrowerinfo = GetMember( borrowernumber => $borrowernumber_hold );
my $diffbranch;
- # we check the reserves of the borrower, and if he or she can reserve a document
+ # we check the reserves of the user, and if they can reserve a document
# FIXME At this time we have a simple count of reservs, but, later, we could improve the infos "title" ...
my $reserves_count =
my $fixedRank = $count+1;
my %itemnumbers_of_biblioitem;
- my @itemnumbers;
- ## $items is array of 'item' table numbers
- if (my $items = get_itemnumbers_of($biblionumber)->{$biblionumber}){
- @itemnumbers = @$items;
- }
my @hostitems = get_hostitemnumbers_of($biblionumber);
+ my @itemnumbers;
if (@hostitems){
$template->param('hostitemsflag' => 1);
push(@itemnumbers, @hostitems);
}
- if (!@itemnumbers) {
+ my $items = Koha::Items->search({ -or => { biblionumber => $biblionumber, itemnumber => { in => \@itemnumbers } } });
+
+ unless ( $items->count ) {
+ # FIXME Then why do we continue?
$template->param('noitems' => 1);
$biblioloopiter{noitems} = 1;
}
- ## Hash of item number to 'item' table fields
- my $iteminfos_of = GetItemInfosOf(@itemnumbers);
-
## Here we go backwards again to create hash of biblioitemnumber to itemnumbers,
## when by definition all of the itemnumber have the same biblioitemnumber
- foreach my $itemnumber (@itemnumbers) {
- my $biblioitemnumber = $iteminfos_of->{$itemnumber}->{biblioitemnumber};
+ my ( $iteminfos_of );
+ while ( my $item = $items->next ) {
+ $item = $item->unblessed;
+ my $biblioitemnumber = $item->{biblioitemnumber};
+ my $itemnumber = $item->{itemnumber};
push( @{ $itemnumbers_of_biblioitem{$biblioitemnumber} }, $itemnumber );
+ $iteminfos_of->{$itemnumber} = $item;
}
## Should be same as biblionumber
$reserve{'surname'} = $res->borrower()->surname();
$reserve{'notes'} = $res->reservenotes();
$reserve{'waiting_date'} = $res->waitingdate();
- $reserve{'waiting_until'} = $res->is_waiting() ? $res->waiting_expires_on() : undef;
$reserve{'ccode'} = $res->item() ? $res->item()->ccode() : undef;
$reserve{'barcode'} = $res->item() ? $res->item()->barcode() : undef;
$reserve{'priority'} = $res->priority();