# Copyright 2000-2002 Katipo Communications
# 2006 SAN-OP
-# 2007 BibLibre, Paul POULAIN
+# 2007-2010 BibLibre, Paul POULAIN
+# 2010 Catalyst IT
#
# This file is part of Koha.
#
=cut
use strict;
-# use warnings; # FIXME
+#use warnings; FIXME - Bug 2505
use CGI;
use C4::Context;
my $exemptfine = $query->param('exemptfine');
my $dropboxmode = $query->param('dropboxmode');
my $dotransfer = $query->param('dotransfer');
+my $canceltransfer = $query->param('canceltransfer');
+my $dest = $query->param('dest');
my $calendar = C4::Calendar->new( branchcode => $userenv_branch );
#dropbox: get last open day (today - 1)
my $today = C4::Dates->new();
ModItemTransfer($transferitem, $userenv_branch, $tobranch);
}
+if ($canceltransfer){
+ $itemnumber=$query->param('itemnumber');
+ DeleteTransfer($itemnumber);
+ if($dest eq "ttr"){
+ print $query->redirect("/cgi-bin/koha/circ/transferstoreceive.pl");
+ exit;
+ } else {
+ $template->param( transfercancelled => 1);
+ }
+}
+
# actually return book and prepare item table.....
if ($barcode) {
$barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace
#
( $returned, $messages, $issueinformation, $borrower ) =
AddReturn( $barcode, $userenv_branch, $exemptfine, $dropboxmode); # do the return
+ my $homeorholdingbranchreturn = C4::Context->preference('HomeOrHoldingBranchReturn') or 'homebranch';
# get biblio description
my $biblio = GetBiblioFromItemNumber($itemnumber);
$template->param(
title => $biblio->{'title'},
homebranch => $biblio->{'homebranch'},
+ homebranchname => GetBranchName( $biblio->{$homeorholdingbranchreturn} ),
author => $biblio->{'author'},
itembarcode => $biblio->{'barcode'},
itemtype => $biblio->{'itemtype'},
$input{duedate} = $duedate;
$input{return_overdue} = 1 if ($duedate and $duedate lt $today->output('iso'));
push( @inputloop, \%input );
+
+ if ( C4::Context->preference("FineNotifyAtCheckin") ) {
+ my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrower->{'borrowernumber'} );
+ if ($fines > 0) {
+ $template->param( fines => sprintf("%.2f",$fines) );
+ $template->param( fineborrowernumber => $borrower->{'borrowernumber'} );
+ }
+ }
+
+ if (C4::Context->preference("WaitingNotifyAtCheckin") ) {
+ #Check for waiting holds
+ my @reserves = GetReservesFromBorrowernumber($borrower->{'borrowernumber'});
+ my $waiting_holds;
+ foreach my $num_res (@reserves) {
+ if ( $num_res->{'found'} eq 'W' && $num_res->{'branchcode'} eq $userenv_branch) {
+ $waiting_holds++;
+ }
+ }
+ if ($waiting_holds > 0) {
+ $template->param(
+ waiting_holds => $waiting_holds,
+ holdsborrowernumber => $borrower->{'borrowernumber'},
+ holdsfirstname => $borrower->{'firstname'},
+ holdssurname => $borrower->{'surname'},
+ );
+ }
+ }
}
elsif ( !$messages->{'BadBarcode'} ) {
$input{duedate} = 0;
# 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'},
WrongTransferItem => $messages->{'WrongTransferItem'},
+ itemnumber => $itemnumber,
);
my $reserve = $messages->{'ResFound'};
$err{notissued} = 1;
$err{msg} = $branches->{ $messages->{'IsPermanent'} }->{'branchname'};
}
+ elsif ( $code eq 'LocalUse' ) {
+ $err{localuse} = 1;
+ }
elsif ( $code eq 'WasLost' ) {
$err{waslost} = 1;
}
}
elsif ( $code eq 'Wrongbranch' ) {
}
-
+ elsif ( $code eq 'Debarred' ) {
+ $err{debarred} = format_date( $messages->{'Debarred'} );
+ $err{debarcardnumber} = $borrower->{cardnumber};
+ $err{debarborrowernumber} = $borrower->{borrowernumber};
+ $err{debarname} = "$borrower->{firstname} $borrower->{surname}";
+ }
else {
die "Unknown error code $code"; # note we need all the (empty) elsif's above, or we die.
# This forces the issue of staying in sync w/ Circulation.pm
my $returned_counter = ( C4::Context->preference('numReturnedItemsToShow') ) ? C4::Context->preference('numReturnedItemsToShow') : 8;
my $count = 0;
my @riloop;
+my $shelflocations = GetKohaAuthorisedValues('items.location','');
foreach ( sort { $a <=> $b } keys %returneditems ) {
my %ri;
if ( $count++ < $returned_counter ) {
$ri{itembiblionumber} = $biblio->{'biblionumber'};
$ri{itemtitle} = $biblio->{'title'};
$ri{itemauthor} = $biblio->{'author'};
+ $ri{itemcallnumber} = $biblio->{'itemcallnumber'};
$ri{itemtype} = $biblio->{'itemtype'};
$ri{itemnote} = $biblio->{'itemnotes'};
$ri{ccode} = $biblio->{'ccode'};
$ri{itemnumber} = $biblio->{'itemnumber'};
$ri{barcode} = $bar_code;
+
+ $ri{location} = $biblio->{'location'};
+ my $shelfcode = $ri{'location'};
+ $ri{'location'} = $shelflocations->{$shelfcode} if ( defined( $shelfcode ) && defined($shelflocations) && exists( $shelflocations->{$shelfcode} ) );
+
}
else {
last;
soundon => C4::Context->preference("SoundOn"),
);
-my $itemnumber = GetItemnumberFromBarcode( $query->param('barcode') );
-if ( $itemnumber ) {
- my ( $holdingBranch, $collectionBranch ) = GetCollectionItemBranches( $itemnumber );
- if ( ! ( $holdingBranch eq $collectionBranch ) ) {
- $template->param(
- collectionItemNeedsTransferred => 1,
- collectionBranch => GetBranchName($collectionBranch),
- );
- }
-}
+### Comment out rotating collections for now to allow it a little more time to bake
+### for 3.4; in particular, must ensure that it doesn't fight with transfers required
+### to fill hold requests
+### -- Galen Charlton 2010-10-06
+#my $itemnumber = GetItemnumberFromBarcode( $query->param('barcode') );
+#if ( $itemnumber ) {
+# my ( $holdingBranch, $collectionBranch ) = GetCollectionItemBranches( $itemnumber );
+# if ( ! ( $holdingBranch eq $collectionBranch ) ) {
+# $template->param(
+# collectionItemNeedsTransferred => 1,
+# collectionBranch => GetBranchName($collectionBranch),
+# );
+# }
+#}
# actually print the page!
output_html_with_http_headers $query, $cookie, $template->output;