Merge remote branch 'kc/new/bug_5327' into kcmaster
[koha.git] / circ / returns.pl
index be8da4f..2aac76a 100755 (executable)
@@ -15,9 +15,9 @@
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 =head1 returns.pl
 
@@ -26,7 +26,7 @@ script to execute returns of books
 =cut
 
 use strict;
-# use warnings; # FIXME
+#use warnings; FIXME - Bug 2505
 
 use CGI;
 use C4::Context;
@@ -43,6 +43,7 @@ use C4::Items;
 use C4::Members;
 use C4::Branch; # GetBranches GetBranchName
 use C4::Koha;   # FIXME : is it still useful ?
+use C4::RotatingCollections;
 
 my $query = new CGI;
 
@@ -104,6 +105,7 @@ foreach ( $query->param ) {
     $counter++;
 
     # decode barcode    ## Didn't we already decode them before passing them back last time??
+    $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace
     $barcode = barcodedecode($barcode) if(C4::Context->preference('itemBarcodeInputFilter'));
 
     ######################
@@ -183,6 +185,7 @@ if ($dotransfer){
 
 # actually return book and prepare item table.....
 if ($barcode) {
+    $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace
     $barcode = barcodedecode($barcode) if C4::Context->preference('itemBarcodeInputFilter');
     $itemnumber = GetItemnumberFromBarcode($barcode);
 
@@ -205,6 +208,7 @@ if ($barcode) {
 #
     ( $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);
@@ -214,6 +218,7 @@ if ($barcode) {
     $template->param(
         title            => $biblio->{'title'},
         homebranch       => $biblio->{'homebranch'},
+        homebranchname   => GetBranchName( $biblio->{$homeorholdingbranchreturn} ),
         author           => $biblio->{'author'},
         itembarcode      => $biblio->{'barcode'},
         itemtype         => $biblio->{'itemtype'},
@@ -286,6 +291,7 @@ if ( $messages->{'Wrongbranch'} ){
 # 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'},
@@ -546,7 +552,23 @@ $template->param(
     dropboxmode    => $dropboxmode,
     dropboxdate    => $dropboxdate->output(),
     overduecharges => $overduecharges,
+    soundon        => C4::Context->preference("SoundOn"),
 );
 
+### 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;