Bug 19530: Prevent multiple transfers from existing for one item
We have found multiple open branch transfers for a given item. While I'm not sure how it is happening at this point, it seems that it would make sense to cancel any existing branch transfers when initiating a new one. Test Plan: 1) prove t/db_dependent/Circulation/transfers.t Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
f9c696fd03
commit
b85a24d6de
|
|
@ -622,6 +622,8 @@ sub ModItemTransfer {
|
|||
# Remove the 'shelving cart' location status if it is being used.
|
||||
CartToShelf( $itemnumber ) if ( C4::Context->preference("ReturnToShelvingCart") );
|
||||
|
||||
$dbh->do("UPDATE branchtransfers SET datearrived = NOW(), comments = ? WHERE itemnumber = ?", undef, "Canceled, new transfer from $frombranch to $tobranch created", $itemnumber);
|
||||
|
||||
#new entry in branchtransfers....
|
||||
my $sth = $dbh->prepare(
|
||||
"INSERT INTO branchtransfers (itemnumber, frombranch, datesent, tobranch)
|
||||
|
|
|
|||
|
|
@ -23,10 +23,11 @@ use C4::Circulation;
|
|||
use Koha::Database;
|
||||
use Koha::DateUtils;
|
||||
use DateTime::Duration;
|
||||
use Koha::Item::Transfers;
|
||||
|
||||
use t::lib::TestBuilder;
|
||||
|
||||
use Test::More tests => 22;
|
||||
use Test::More tests => 24;
|
||||
use Test::Deep;
|
||||
|
||||
BEGIN {
|
||||
|
|
@ -192,5 +193,21 @@ cmp_deeply(
|
|||
"Barcode and itemnumber for same item both generate same TransferSlip"
|
||||
);
|
||||
|
||||
$dbh->do("DELETE FROM branchtransfers");
|
||||
ModItemTransfer(
|
||||
$item_id1,
|
||||
$branchcode_1,
|
||||
$branchcode_2
|
||||
);
|
||||
my $transfer = Koha::Item::Transfers->search()->next();
|
||||
ModItemTransfer(
|
||||
$item_id1,
|
||||
$branchcode_1,
|
||||
$branchcode_2
|
||||
);
|
||||
$transfer->{_result}->discard_changes;
|
||||
ok( $transfer->datearrived, 'Date arrived is set when new transfer is initiated' );
|
||||
is( $transfer->comments, "Canceled, new transfer from $branchcode_1 to $branchcode_2 created" );
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue