Bug 17202: Don't report an item in a collection if the collection doesn't exist

This simply adds a JOIN to the collections table - if the collection is gone
then the item is not considered to be in a rotating collection

Also remove variable to store the return that is not used later

To test:
Create a rotating collection
Add an item
Delete the rotating collection
View the db (SELECT * FROM collections_tracking;)
The item is still in the collection
Enable AutomaticItemReturn
Checkin the item at a branch not its home
The item does not get transferred home
Apply patch
Restart all the things
Check in the item, it is transferred home

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Nick Clemens 2021-04-07 13:56:56 +00:00 committed by Jonathan Druart
parent 0e5c00da4f
commit e96c8439ff
2 changed files with 2 additions and 3 deletions

View File

@ -2165,7 +2165,6 @@ sub AddReturn {
my $transfer = $item->get_transfer;
# if we have a transfer to complete, we update the line of transfers with the datearrived
my $is_in_rotating_collection = C4::RotatingCollections::isItemInAnyCollection( $item->itemnumber );
if ($transfer) {
$validTransfer = 0;
if ( $transfer->in_transit ) {
@ -2277,7 +2276,7 @@ sub AddReturn {
}
# Transfer to returnbranch if Automatic transfer set or append message NeedsTransfer
if ( $validTransfer && !$is_in_rotating_collection
if ( $validTransfer && !C4::RotatingCollections::isItemInAnyCollection( $item->itemnumber )
&& ( $doreturn or $messages->{'NotIssued'} )
and !$resfound
and ( $branch ne $returnbranch )

View File

@ -571,7 +571,7 @@ sub isItemInAnyCollection {
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare(
"SELECT itemnumber FROM collections_tracking WHERE itemnumber = ?");
"SELECT itemnumber FROM collections_tracking JOIN collections USING (colId) WHERE itemnumber = ?");
$sth->execute($itemnumber) or return (0);
my $row = $sth->fetchrow_hashref;