use Modern::Perl;
-use C4::Branch;
use CGI qw ( -utf8 );
use List::MoreUtils qw/uniq/;
use Date::Calc qw/Date_to_Days/;
use C4::Search; # enabled_staff_search_views
use Koha::DateUtils;
use Koha::Holds;
+use Koha::Items;
use Koha::Libraries;
+use Koha::Patrons;
my $dbh = C4::Context->dbh;
my $input = new CGI;
$template->param(multi_hold => $multihold);
my $showallitems = $input->param('showallitems');
-# get Branches and Itemtypes
-my $branches = GetBranches();
my $itemtypes = GetItemTypes();
-my $userbranch = '';
-if (C4::Context->userenv && C4::Context->userenv->{'branch'}) {
- $userbranch = C4::Context->userenv->{'branch'};
-}
-
-
# Select borrowers infos
my $findborrower = $input->param('findborrower');
$findborrower = '' unless defined $findborrower;
# FIXME launch another time GetMember perhaps until
my $borrowerinfo = GetMember( borrowernumber => $borrowernumber_hold );
+my $logged_in_patron = Koha::Patrons->find( $borrowernumber );
+
my $itemdata_enumchron = 0;
my @biblioloop = ();
foreach my $biblionumber (@biblionumbers) {
## Should be same as biblionumber
my @biblioitemnumbers = keys %itemnumbers_of_biblioitem;
- my $notforloan_label_of = get_notforloan_label_of();
-
## Hash of biblioitemnumber to 'biblioitem' table records
my $biblioiteminfos_of = GetBiblioItemInfosOf(@biblioitemnumbers);
+ my $frameworkcode = GetFrameworkCode( $biblionumber );
+ my @notforloan_avs = Koha::AuthorisedValues->search_by_koha_field({ kohafield => 'items.notforloan', frameworkcode => $frameworkcode });
+ my $notforloan_label_of = { map { $_->authorised_value => $_->lib } @notforloan_avs };
+
my @bibitemloop;
my @available_itemtypes;
$item->{itypename} = $itemtypes->{ $item->{itype} }{description};
$item->{imageurl} = getitemtypeimagelocation( 'intranet', $itemtypes->{ $item->{itype} }{imageurl} );
- $item->{homebranchname} = $branches->{ $item->{homebranch} }{branchname};
+ $item->{homebranch} = $item->{homebranch};
# if the holdingbranch is different than the homebranch, we show the
# holdingbranch of the document too
if ( $item->{homebranch} ne $item->{holdingbranch} ) {
- $item->{holdingbranchname} =
- $branches->{ $item->{holdingbranch} }{branchname};
+ $item->{holdingbranch} = $item->{holdingbranch};
}
if($item->{biblionumber} ne $biblionumber){
}
# checking reserve
- my ($reservedate,$reservedfor,$expectedAt,$reserve_id,$wait) = GetReservesFromItemnumber($itemnumber);
- if ( defined $reservedate ) {
- my $ItemBorrowerReserveInfo = GetMember( borrowernumber => $reservedfor );
+ my $holds = Koha::Items->find( $itemnumber )->holds_placed_before_today;
+ if ( my $first_hold = $holds->next ) {
+ my $ItemBorrowerReserveInfo = GetMember( borrowernumber => $first_hold->borrowernumber );
$item->{backgroundcolor} = 'reserved';
- $item->{reservedate} = output_pref({ dt => dt_from_string( $reservedate ), dateonly => 1 });
- $item->{ReservedForBorrowernumber} = $reservedfor;
+ $item->{reservedate} = output_pref({ dt => dt_from_string( $first_hold->reservedate ), dateonly => 1 }); # FIXME Should be formatted in the template
+ $item->{ReservedForBorrowernumber} = $first_hold->borrowernumber;
$item->{ReservedForSurname} = $ItemBorrowerReserveInfo->{'surname'};
$item->{ReservedForFirstname} = $ItemBorrowerReserveInfo->{'firstname'};
- $item->{ExpectedAtLibrary} = $branches->{$expectedAt}{branchname};
- $item->{waitingdate} = $wait;
+ $item->{ExpectedAtLibrary} = $first_hold->branchcode;
+ $item->{waitingdate} = $first_hold->waitingdate;
}
# Management of the notforloan document
: $item->{itemlost} == 2 ? "(long overdue)"
: "";
$item->{backgroundcolor} = 'other';
- if (GetHideLostItemsPreference($borrowernumber) && !$showallitems) {
+ if ($logged_in_patron->category->hidelostitems && !$showallitems) {
$item->{hide} = 1;
$hiddencount++;
}
if ( defined $transfertwhen && $transfertwhen ne '' ) {
$item->{transfertwhen} = output_pref({ dt => dt_from_string( $transfertwhen ), dateonly => 1 });
- $item->{transfertfrom} =
- $branches->{$transfertfrom}{branchname};
- $item->{transfertto} = $branches->{$transfertto}{branchname};
+ $item->{transfertfrom} = $transfertfrom;
+ $item->{transfertto} = $transfertto;
$item->{nocancel} = 1;
}
} @reserves
)
{
+ my $priority = $res->priority();
my %reserve;
my @optionloop;
for ( my $i = 1 ; $i <= $totalcount ; $i++ ) {
@optionloop,
{
num => $i,
- selected => ( $i == $res->priority() ),
+ selected => ( $i == $priority ),
}
);
}
$reserve{'suspend_until'} = $res->suspend_until();
$reserve{'reserve_id'} = $res->reserve_id();
$reserve{itemtype} = $res->itemtype();
-
- if ( C4::Context->preference('IndependentBranches') && $flags->{'superlibrarian'} != 1 ) {
- $reserve{'branchloop'} = [ Koha::Libraries->find( $res->branchcode() ) ];
- }
- else {
- $reserve{'branchloop'} = GetBranchesLoop( $res->branchcode() );
- }
+ $reserve{branchcode} = $res->branchcode();
push( @reserveloop, \%reserve );
}
my $time = time();
$template->param(
- branchloop => GetBranchesLoop($userbranch),
time => $time,
fixedRank => $fixedRank,
);
C4::Search::enabled_staff_search_views,
);
if (defined $borrowerinfo && exists $borrowerinfo->{'branchcode'}) {
- $template->param(
- borrower_branchname => $branches->{$borrowerinfo->{'branchcode'}}->{'branchname'},
- borrower_branchcode => $borrowerinfo->{'branchcode'},
- );
+ $template->param( borrower_branchcode => $borrowerinfo->{'branchcode'},);
}
$biblioloopiter{biblionumber} = $biblionumber;