- my ( $returned, $messages, $issueinformation, $borrower ) =
- AddReturn($barcode, $branch, $exemptfine);
- $failedreturn.="&failedreturn=$barcode" unless ($returned);
+
+ #System Preference Handling During Check-in In Patron Module
+ my $itemnumber;
+ $itemnumber = GetItemnumberFromBarcode($barcode);
+ if ($itemnumber) {
+ if ( C4::Context->preference("InProcessingToShelvingCart") ) {
+ my $item = GetItem($itemnumber);
+ if ( $item->{'location'} eq 'PROC' ) {
+ $item->{'location'} = 'CART';
+ ModItem( $item, $item->{'biblionumber'},
+ $item->{'itemnumber'} );
+ }
+ }
+
+ if ( C4::Context->preference("ReturnToShelvingCart") ) {
+ my $item = GetItem($itemnumber);
+ $item->{'location'} = 'CART';
+ ModItem( $item, $item->{'biblionumber'}, $item->{'itemnumber'} );
+ }
+ }
+
+ my ( $returned, $messages, $issueinformation, $borrower ) =
+ AddReturn( $barcode, $branch, $exemptfine );
+ $failedreturn .= "&failedreturn=$barcode" unless ($returned);