}
}
- if ( C4::Context->preference("ReturnToShelvingCart") ) {
- my $item = GetItem( $itemnumber );
- $item->{'location'} = 'CART';
- ModItem( $item, $item->{'biblionumber'}, $item->{'itemnumber'} );
- }
-
#
# save the return
#
# fix up item type for display
$biblio->{'itemtype'} = C4::Context->preference('item-level_itypes') ? $biblio->{'itype'} : $biblio->{'itemtype'};
+ # Check if we should display a checkin message, based on the the item
+ # type of the checked in item
+ my $itemtype = C4::ItemType->get( $biblio->{'itemtype'} );
+ if ( $itemtype->{'checkinmsg'} ) {
+ $template->param(
+ checkinmsg => $itemtype->{'checkinmsg'},
+ checkinmsgtype => $itemtype->{'checkinmsgtype'},
+ );
+ }
+
$template->param(
title => $biblio->{'title'},
homebranch => $biblio->{'homebranch'},
);
if ($returned) {
- my $time_now = DateTime->now( time_zone => C4::Context->tz )->truncate( to => 'minutes');
+ my $time_now = DateTime->now( time_zone => C4::Context->tz )->truncate( to => 'minute');
my $duedate = $issueinformation->{date_due}->strftime('%Y-%m-%d %H:%M');
$returneditems{0} = $barcode;
$riborrowernumber{0} = $borrower->{'borrowernumber'};
$input{duedate} = 0;
$returneditems{0} = $barcode;
$riduedate{0} = 0;
- if ( $messages->{'wthdrawn'} ) {
- $input{withdrawn} = 1;
- $input{borrowernumber} = 'Item Cancelled'; # FIXME: should be in display layer ?
- $riborrowernumber{0} = 'Item Cancelled';
- }
- else {
- $input{borrowernumber} = ' '; # This seems clearly bogus.
- $riborrowernumber{0} = ' ';
- }
push( @inputloop, \%input );
}
}
# case of wrong transfert, if the document wasn't transfered to the right library (according to branchtransfer (tobranch) BDD)
if ( $messages->{'WrongTransfer'} and not $messages->{'WasTransfered'}) {
- $messages->{'WrongTransfer'} = GetBranchName( $messages->{'WrongTransfer'} );
$template->param(
WrongTransfer => 1,
TransferWaitingAt => $messages->{'WrongTransfer'},
elsif ( $code eq 'WasLost' ) {
$err{waslost} = 1;
}
+ elsif ( $code eq 'LostItemFeeRefunded' ) {
+ $template->param( LostItemFeeRefunded => 1 );
+ }
elsif ( $code eq 'ResFound' ) {
; # FIXME... anything to do here?
}
elsif ( $code eq 'WasTransfered' ) {
; # FIXME... anything to do here?
}
- elsif ( $code eq 'wthdrawn' ) {
+ elsif ( $code eq 'withdrawn' ) {
$err{withdrawn} = 1;
- $exit_required_p = 1;
+ $exit_required_p = 1 if C4::Context->preference("BlockReturnOfWithdrawnItems");
}
elsif ( ( $code eq 'IsPermanent' ) && ( not $messages->{'ResFound'} ) ) {
if ( $messages->{'IsPermanent'} ne $userenv_branch ) {
}
$template->param( errmsgloop => \@errmsgloop );
-# patrontable ....
-if ($borrower) {
- my $flags = $borrower->{'flags'};
- my @flagloop;
- my $flagset;
- foreach my $flag ( sort keys %$flags ) {
- my %flaginfo;
- unless ($flagset) { $flagset = 1; }
- $flaginfo{redfont} = ( $flags->{$flag}->{'noissues'} );
- $flaginfo{flag} = $flag;
- if ( $flag eq 'CHARGES' ) {
- $flaginfo{msg} = $flag;
- $flaginfo{charges} = 1;
- $flaginfo{chargeamount} = $flags->{$flag}->{amount};
- $flaginfo{borrowernumber} = $borrower->{borrowernumber};
- }
- elsif ( $flag eq 'WAITING' ) {
- $flaginfo{msg} = $flag;
- $flaginfo{waiting} = 1;
- my @waitingitemloop;
- my $items = $flags->{$flag}->{'itemlist'};
- foreach my $item (@$items) {
- my $biblio = GetBiblioFromItemNumber( $item->{'itemnumber'});
- push @waitingitemloop, {
- biblionum => $biblio->{'biblionumber'},
- barcode => $biblio->{'barcode'},
- title => $biblio->{'title'},
- brname => $branches->{ $biblio->{'holdingbranch'} }->{'branchname'},
- };
- }
- $flaginfo{itemloop} = \@waitingitemloop;
- }
- elsif ( $flag eq 'ODUES' ) {
- my $items = $flags->{$flag}->{'itemlist'};
- my @itemloop;
- foreach my $item ( sort { $a->{'date_due'} cmp $b->{'date_due'} }
- @$items )
- {
- my $biblio = GetBiblioFromItemNumber( $item->{'itemnumber'});
- push @itemloop, {
- duedate => format_sqldatetime($item->{date_due}),
- biblionum => $biblio->{'biblionumber'},
- barcode => $biblio->{'barcode'},
- title => $biblio->{'title'},
- brname => $branches->{ $biblio->{'holdingbranch'} }->{'branchname'},
- };
- }
- $flaginfo{itemloop} = \@itemloop;
- $flaginfo{overdue} = 1;
- }
- else {
- $flaginfo{other} = 1;
- $flaginfo{msg} = $flags->{$flag}->{'message'};
- }
- push( @flagloop, \%flaginfo );
- }
- $template->param(
- flagset => $flagset,
- flagloop => \@flagloop,
- riborrowernumber => $borrower->{'borrowernumber'},
- riborcnum => $borrower->{'cardnumber'},
- riborsurname => $borrower->{'surname'},
- ribortitle => $borrower->{'title'},
- riborfirstname => $borrower->{'firstname'}
- );
-}
#set up so only the last 8 returned items display (make for faster loading pages)
my $returned_counter = ( C4::Context->preference('numReturnedItemsToShow') ) ? C4::Context->preference('numReturnedItemsToShow') : 8;
my $count = 0;
# my %ri;
my $biblio = GetBiblioFromItemNumber(GetItemnumberFromBarcode($bar_code));
+ my $item = GetItem( GetItemnumberFromBarcode($bar_code) );
# fix up item type for display
$biblio->{'itemtype'} = C4::Context->preference('item-level_itypes') ? $biblio->{'itype'} : $biblio->{'itemtype'};
$ri{itembiblionumber} = $biblio->{'biblionumber'};
$ri{ccode} = $biblio->{'ccode'};
$ri{itemnumber} = $biblio->{'itemnumber'};
$ri{barcode} = $bar_code;
+ $ri{homebranch} = $item->{'homebranch'};
+ $ri{holdingbranch} = $item->{'holdingbranch'};
$ri{location} = $biblio->{'location'};
my $shelfcode = $ri{'location'};
dropboxdate => output_pref($dropboxdate),
overduecharges => $overduecharges,
soundon => C4::Context->preference("SoundOn"),
+ BlockReturnOfWithdrawnItems => C4::Context->preference("BlockReturnOfWithdrawnItems"),
);
### Comment out rotating collections for now to allow it a little more time to bake