Bugzilla – Attachment 107463 Details for
Bug 23695
Items holdingbranch should be set to the originating library when generating a manual transfer
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 23695: Set holding branch to transferring branch when manually initiating a transfer
Bug-23695-Set-holding-branch-to-transferring-branc.patch (text/plain), 7.74 KB, created by
Nick Clemens (kidclamp)
on 2020-07-28 12:17:10 UTC
(
hide
)
Description:
Bug 23695: Set holding branch to transferring branch when manually initiating a transfer
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2020-07-28 12:17:10 UTC
Size:
7.74 KB
patch
obsolete
>From 7d93d3c6f18ebca71a5fc1731b5886bdf17f08ff Mon Sep 17 00:00:00 2001 >From: Nick <nick@bywatersolutions.com> >Date: Mon, 30 Sep 2019 10:37:03 +0000 >Subject: [PATCH] Bug 23695: Set holding branch to transferring branch when > manually initiating a transfer > >To test: > 1 - Go to Circulation->Transfer > 2 - Note your signed in branch > 3 - Find an item from your branch and create a transfer to branch B > 4 - Confirm the item is marked as held at your current branch and is being transferred to B > 5 - Find an item from a third branch, branch C > 6 - Transfer that item to brnach B > 7 - Confirm the item is held at your current branch and is being transferred to B > 8 - prove -v t/db_dependent/Circulation.t > 9 - prove -v t/db_dependent/Koha/Items.t >10 - prove -v t/db_dependent/RotatingCollections.t > >Signed-off-by: Owen Leonard <oleonard@myacpl.org> >--- > C4/Circulation.pm | 20 +++++++++++++++----- > C4/RotatingCollections.pm | 8 +++++++- > circ/branchtransfers.pl | 9 ++++++++- > t/db_dependent/Circulation.t | 13 +++++++++---- > t/db_dependent/Koha/Items.t | 6 +++++- > 5 files changed, 44 insertions(+), 12 deletions(-) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index a96fc574fe..bddbc0ad7f 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -251,12 +251,18 @@ sub decode { > > =head2 transferbook > >- ($dotransfer, $messages, $iteminformation) = &transferbook($newbranch, >- $barcode, $ignore_reserves, $trigger); >+ ($dotransfer, $messages, $iteminformation) = &transferbook({ >+ from_branch => $frombranch >+ to_branch => $tobranch, >+ barcode => $barcode, >+ ignore_reserves => $ignore_reserves, >+ trigger => $trigger >+ }); > > Transfers an item to a new branch. If the item is currently on loan, it is automatically returned before the actual transfer. > >-C<$newbranch> is the code for the branch to which the item should be transferred. >+C<$fbr> is the code for the branch initiating the transfer. >+C<$tbr> is the code for the branch to which the item should be transferred. > > C<$barcode> is the barcode of the item to be transferred. > >@@ -306,7 +312,12 @@ The item was eligible to be transferred. Barring problems communicating with the > =cut > > sub transferbook { >- my ( $tbr, $barcode, $ignoreRs, $trigger ) = @_; >+ my $params = shift; >+ my $tbr = $params->{to_branch}; >+ my $fbr = $params->{from_branch}; >+ my $ignoreRs = $params->{ignore_reserves}; >+ my $barcode = $params->{barcode}; >+ my $trigger = $params->{trigger}; > my $messages; > my $dotransfer = 1; > my $item = Koha::Items->find( { barcode => $barcode } ); >@@ -321,7 +332,6 @@ sub transferbook { > my $itemnumber = $item->itemnumber; > # get branches of book... > my $hbr = $item->homebranch; >- my $fbr = $item->holdingbranch; > > # if using Branch Transfer Limits > if ( C4::Context->preference("UseBranchTransferLimits") == 1 ) { >diff --git a/C4/RotatingCollections.pm b/C4/RotatingCollections.pm >index a4477fa9e5..c41d5780e9 100644 >--- a/C4/RotatingCollections.pm >+++ b/C4/RotatingCollections.pm >@@ -446,7 +446,13 @@ sub TransferCollection { > while ( my $item = $sth->fetchrow_hashref ) { > my ($status) = CheckReserves( $item->{itemnumber} ); > my @transfers = C4::Circulation::GetTransfers( $item->{itemnumber} ); >- C4::Circulation::transferbook( $colBranchcode, $item->{barcode}, 1, 'RotatingCollection' ) unless ( $status eq 'Waiting' || @transfers ); >+ C4::Circulation::transferbook({ >+ from_branch => $item->holdingbranch, >+ to_branch => $colBranchcode, >+ barcode => $item->{barcode}, >+ ignore_reserves => 1, >+ trigger => 'RotatingCollection' >+ }) unless ( $status eq 'Waiting' || @transfers ); > } > > return 1; >diff --git a/circ/branchtransfers.pl b/circ/branchtransfers.pl >index 8cd01d58bd..1e9f48c48e 100755 >--- a/circ/branchtransfers.pl >+++ b/circ/branchtransfers.pl >@@ -127,7 +127,14 @@ defined $barcode and $barcode =~ s/^\s*|\s*$//g; # FIXME: barcodeInputFilter > if ($barcode) { > > ( $transferred, $messages ) = >- transferbook( $tobranchcd, $barcode, $ignoreRs, 'Manual' ); >+ >+ transferbook({ >+ from_branch => C4::Context->userenv->{'branch'}, >+ to_branch => $tobranchcd, >+ barcode => $barcode, >+ ignore_reserves => $ignoreRs, >+ trigger => 'Manual' >+ }); > my $item = Koha::Items->find({ barcode => $barcode }); > $found = $messages->{'ResFound'}; > if ($transferred) { >diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t >index bb2ff5f978..f3f2671a1b 100755 >--- a/t/db_dependent/Circulation.t >+++ b/t/db_dependent/Circulation.t >@@ -3244,7 +3244,7 @@ subtest 'Set waiting flag' => sub { > }; > > subtest 'Cancel transfers on lost items' => sub { >- plan tests => 5; >+ plan tests => 6; > my $library_1 = $builder->build( { source => 'Branch' } ); > my $patron_1 = $builder->build( { source => 'Borrower', value => { branchcode => $library_1->{branchcode}, categorycode => $patron_category->{categorycode} } } ); > my $library_2 = $builder->build( { source => 'Branch' } ); >@@ -3271,15 +3271,20 @@ subtest 'Cancel transfers on lost items' => sub { > my $do_transfer = 1; > my ( $res, $rr ) = AddReturn( $item->barcode, $library_1->{branchcode} ); > ModReserveAffect( $item->itemnumber, undef, $do_transfer, $reserve_id ); >- C4::Circulation::transferbook( $library_2->{branchcode}, $item->barcode ); >+ C4::Circulation::transferbook({ >+ from_branch => $library_1->{branchcode}, >+ to_branch => $library_2->{branchcode}, >+ barcode => $item->barcode, >+ }); > my $hold = Koha::Holds->find( $reserve_id ); > is( $hold->found, 'T', 'Hold is in transit' ); > > #Check transfer exists and the items holding branch is the transfer destination branch before marking it as lost > my ($datesent,$frombranch,$tobranch) = GetTransfers($item->itemnumber); >- is( $tobranch, $library_2->{branchcode}, 'The transfer record exists in the branchtransfers table'); >+ is( $frombranch, $library_1->{branchcode}, 'The transfer is generated from the correct library'); >+ is( $tobranch, $library_2->{branchcode}, 'The transfer is generated to the correct library'); > my $itemcheck = Koha::Items->find($item->itemnumber); >- is( $itemcheck->holdingbranch, $library_1->{branchcode}, 'Items holding branch is the transfers origin branch before it is marked as lost' ); >+ is( $itemcheck->holdingbranch, $library_1->{branchcode}, 'Items holding branch is the transfers origination branch before it is marked as lost' ); > > #Simulate item being marked as lost and confirm the transfer is deleted and the items holding branch is the transfers source branch > $item->itemlost(1)->store; >diff --git a/t/db_dependent/Koha/Items.t b/t/db_dependent/Koha/Items.t >index d04559a16d..acc57a0361 100644 >--- a/t/db_dependent/Koha/Items.t >+++ b/t/db_dependent/Koha/Items.t >@@ -92,7 +92,11 @@ subtest 'get_transfer' => sub { > > my $library_to = $builder->build( { source => 'Branch' } ); > >- C4::Circulation::transferbook( $library_to->{branchcode}, $new_item_1->barcode ); >+ C4::Circulation::transferbook({ >+ from_branch => $new_item_1->holdingbranch, >+ to_branch => $library_to->{branchcode}, >+ barcode => $new_item_1->barcode, >+ }); > > $transfer = $new_item_1->get_transfer(); > is( ref($transfer), 'Koha::Item::Transfer', 'Koha::Item->get_transfer should return a Koha::Item::Transfers object' ); >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 23695
:
93231
|
98942
|
99955
|
99956
|
100567
|
100568
|
101441
|
101442
|
101443
|
107463
|
107464
|
107465
|
108183
|
108184
|
108185
|
108186
|
108273
|
108495
|
111391
|
111394