$validTransfer = 1 if $transfer->reason eq 'Reserve';
}
else {
- $messages->{'WasTransfered'} = $transfer->tobranch;
$messages->{'TransferTrigger'} = $transfer->reason;
+ if ( $transfer->frombranch eq $branch ) {
+ $transfer->transit;
+ $messages->{'WasTransfered'} = $transfer->tobranch;
+ }
+ else {
+ $messages->{'WrongTransfer'} = $transfer->tobranch;
+ $messages->{'WrongTransferItem'} = $item->itemnumber;
+ }
}
}
}
# There is an item level hold on this item, no other item can fill the hold
return ( 0, "on_reserve" )
- if ( $item->current_holds->count );
+ if ( $item->current_holds->search( { non_priority => 0 } )->count );
my $fillable_holds = Koha::Holds->search(
{
$renews = ( $item_object->renewals || 0 ) + 1;
$item_object->renewals($renews);
$item_object->onloan($datedue);
- $item_object->store({ log_action => 0 });
+ # Don't index as we are in a transaction
+ $item_object->store({ log_action => 0, skip_record_index => 1 });
# Charge a new rental fee, if applicable
my ( $charge, $type ) = GetIssuingCharges( $itemnumber, $borrowernumber );
}
});
});
+ # We index now, after the transaction is committed
+ my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX });
+ $indexer->index_records( $item_object->biblionumber, "specialUpdate", "biblioserver" );
return $datedue;
}