Bugzilla – Attachment 175080 Details for
Bug 33364
Stop Holds to Pull report showing items that have been allocated to a recall
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 33364: Prevent Holds to Pull from including items with pending recalls
Bug-33364-Prevent-Holds-to-Pull-from-including-ite.patch (text/plain), 4.10 KB, created by
Owen Leonard
on 2024-12-03 15:16:32 UTC
(
hide
)
Description:
Bug 33364: Prevent Holds to Pull from including items with pending recalls
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2024-12-03 15:16:32 UTC
Size:
4.10 KB
patch
obsolete
>From 1b747b460eed6c44122806a72aa84a78aea922f4 Mon Sep 17 00:00:00 2001 >From: Aleisha Amohia <aleishaamohia@hotmail.com> >Date: Mon, 17 Apr 2023 01:59:10 +0000 >Subject: [PATCH] Bug 33364: Prevent Holds to Pull from including items with > pending recalls > >This patch changes the check for pending recalls to include items in >transit, as well as items awaiting pickup, to fill a recall request. > >It then ensures the Holds to Pull report excludes items that have >pending recalls. > >To test: > >1. Enable UseRecalls and set the recalls-related circulation rules >2. Check out an item to Patron A >3. Place a hold on the item for Patron B >4. Log into the OPAC as Patron C and search for the item. Place a > recall on the item. >5. Go back to the staff interface. Go to Circulation -> Holds to pull >6. Confirm the item shows in the Holds to pull table, with the hold for Patron B >7. Check in the item and confirm the recall as waiting >8. Go back to the Holds to pull page. You may need to manually > regenerate the page by running the cronjob in the terminal > misc/cronjobs/holds/build_holds_queue.pl >9. Notice that even though the item is allocated for a recall, the hold > is showing. It should not be showing in this page. > >10. Apply the patch and refresh the page > >11. The item allocated to a recall should no longer be showing in the > Holds to pull report > >12. Go to the record detail page and go to the Recalls tab >13. Revert the recall from its waiting status >14. The record will now show on the Holds to pull page >15. Go to the Circulation -> Check in page >16. Go to the menu in the top-right of the page and click Set library >17. Change your library to a different one >18. Check in the item to confirm the recall as waiting and trigger a > transfer >19. Go back to the Holds to pull page, regenerate if needed >20. The item should no longer show on the Holds to pull report > >21. Confirm tests pass t/db_dependent/Koha/Item.t > >Sponsored-by: Auckland University of Technology >Signed-off-by: Owen Leonard <oleonard@myacpl.org> >--- > Koha/Item.pm | 4 ++-- > circ/pendingreserves.pl | 4 +++- > t/db_dependent/Koha/Item.t | 6 +++++- > 3 files changed, 10 insertions(+), 4 deletions(-) > >diff --git a/Koha/Item.pm b/Koha/Item.pm >index 07fc6ad5c8..fe4f96b8cf 100644 >--- a/Koha/Item.pm >+++ b/Koha/Item.pm >@@ -1216,7 +1216,7 @@ sub has_pending_hold { > > my $has_pending_recall > >-Return if whether has pending recall of not. >+Return whether item has been allocated to fill a recall request or not > > =cut > >@@ -1227,7 +1227,7 @@ sub has_pending_recall { > return Koha::Recalls->search( > { > item_id => $self->itemnumber, >- status => 'waiting', >+ status => [ 'waiting', 'in_transit' ], > } > )->count; > } >diff --git a/circ/pendingreserves.pl b/circ/pendingreserves.pl >index b85cf5c90e..aaaf97677b 100755 >--- a/circ/pendingreserves.pl >+++ b/circ/pendingreserves.pl >@@ -187,7 +187,9 @@ my @biblionumbers = $holds->get_column('biblionumber'); > my $all_items; > if ( $holds->count ) { > foreach my $item ( $holds->get_items_that_can_fill->as_list ) { >- push @{ $all_items->{ $item->biblionumber } }, $item; >+ unless ( $item->has_pending_recall ) { >+ push @{ $all_items->{ $item->biblionumber } }, $item; >+ } > } > } > >diff --git a/t/db_dependent/Koha/Item.t b/t/db_dependent/Koha/Item.t >index 7d115cdb3a..f2b8d118b4 100755 >--- a/t/db_dependent/Koha/Item.t >+++ b/t/db_dependent/Koha/Item.t >@@ -2442,7 +2442,7 @@ subtest 'store() tests' => sub { > > subtest 'Recalls tests' => sub { > >- plan tests => 23; >+ plan tests => 24; > > $schema->storage->txn_begin; > >@@ -2624,6 +2624,10 @@ subtest 'Recalls tests' => sub { > > is( $item1->has_pending_recall, 0, 'Item does not have pending recall' ); > >+ $recall2->start_transfer( { item => $item1 } ); >+ is( $item1->has_pending_recall, 1, 'Item has a pending recall and is in transit to fill it' ); >+ $recall2->revert_transfer; >+ > # return recall based on recalldate > $check_recall = $item1->check_recalls; > is( $check_recall->patron_id, $patron1->borrowernumber, "No waiting recall, so oldest recall is returned" ); >-- >2.39.5
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 33364
:
149741
|
149742
|
149784
|
155767
|
172054
| 175080