}
);
+# get Branches and Itemtypes
+my $branches = GetBranches();
+my $itemtypes = GetItemTypes();
+
# get biblio information....
my $biblionumber = $input->param('biblionumber');
my $dat = GetBiblioData($biblionumber);
my $iteminfos_of = GetItemInfosOf(@itemnumbers);
foreach my $itemnumber (@itemnumbers) {
- push( @branchcodes,
- $iteminfos_of->{$itemnumber}->{homebranch},
- $iteminfos_of->{$itemnumber}->{holdingbranch} );
-
my $biblioitemnumber = $iteminfos_of->{$itemnumber}->{biblioitemnumber};
push( @{ $itemnumbers_of_biblioitem{$biblioitemnumber} }, $itemnumber );
}
-# @branchcodes = uniq @branchcodes;
-
my @biblioitemnumbers = keys %itemnumbers_of_biblioitem;
-my $branchinfos_of = get_branchinfos_of(@branchcodes);
my $notforloan_label_of = get_notforloan_label_of();
my $biblioiteminfos_of = GetBiblioItemInfosOf(@biblioitemnumbers);
-my @itemtypes;
-foreach my $biblioitemnumber (@biblioitemnumbers) {
- push @itemtypes, $biblioiteminfos_of->{$biblioitemnumber}{itemtype};
-}
-
-my $itemtypeinfos_of = get_itemtypeinfos_of(@itemtypes);
-
my @bibitemloop;
foreach my $biblioitemnumber (@biblioitemnumbers) {
my $biblioitem = $biblioiteminfos_of->{$biblioitemnumber};
$biblioitem->{description} =
- $itemtypeinfos_of->{ $biblioitem->{itemtype} }{description};
+ $itemtypes->{ $biblioitem->{itemtype} }{description};
foreach
my $itemnumber ( @{ $itemnumbers_of_biblioitem{$biblioitemnumber} } )
{
my $item = $iteminfos_of->{$itemnumber};
- $item->{itypename} = $itemtypeinfos_of->{ $item->{itype} }{description};
- $item->{imageurl} = getitemtypeimagesrc() . "/".$itemtypeinfos_of->{ $item->{itype} }{imageurl};
+ $item->{itypename} = $itemtypes->{ $item->{itype} }{description};
+ $item->{imageurl} = getitemtypeimagesrc() . "/".$itemtypes->{ $item->{itype} }{imageurl};
$item->{homebranchname} =
- $branchinfos_of->{ $item->{homebranch} }{branchname};
+ $branches->{ $item->{homebranch} }{branchname};
# if the holdingbranch is different than the homebranch, we show the
# holdingbranch of the document too
if ( $item->{homebranch} ne $item->{holdingbranch} ) {
$item->{holdingbranchname} =
- $branchinfos_of->{ $item->{holdingbranch} }{branchname};
+ $branches->{ $item->{holdingbranch} }{branchname};
}
# add information
$item->{ReservedForBorrowernumber} = $reservedfor;
$item->{ReservedForSurname} = $ItemBorrowerReserveInfo->{'surname'};
$item->{ReservedForFirstname} = $ItemBorrowerReserveInfo->{'firstname'};
- $item->{ExpectedAtLibrary} = $expectedAt;
+ $item->{ExpectedAtLibrary} = $branches->{$expectedAt}{branchname};
}
if ( $transfertwhen ne '' ) {
$item->{transfertwhen} = format_date($transfertwhen);
$item->{transfertfrom} =
- $branchinfos_of->{$transfertfrom}{branchname};
- $item->{transfertto} = $branchinfos_of->{$transfertto}{branchname};
+ $branches->{$transfertfrom}{branchname};
+ $item->{transfertto} = $branches->{$transfertto}{branchname};
$item->{nocancel} = 1;
}
}
}
}
+
+ # FIXME: every library will define this differently
# An item is available only if:
if (
not defined $reservedate # not reserved yet
$item->{available} = 1;
}
+ # FIXME: need to indicate if the item is already waiting and if so, for whom and since when
+ my $dbh2 = C4::Context->dbh;
+ my $sth2 = $dbh->prepare("SELECT * FROM reserves WHERE borrowernumber=? AND itemnumber=? AND found='W' AND cancellationdate IS NULL");
+ $sth2->execute($item->{ReservedForBorrowernumber},$item->{itemnumber});
+ while (my $wait_hashref = $sth2->fetchrow_hashref) {
+ $item->{waitingdate} = format_date($wait_hashref->{waitingdate});
+ }
push @{ $biblioitem->{itemloop} }, $item;
}
# existingreserves building
my @reserveloop;
-my $branches = GetBranches();
( $count, $reserves ) = GetReservesFromBiblionumber($biblionumber);
foreach my $res ( sort { $a->{found} cmp $b->{found} } @$reserves ) {
my %reserve;