From 11606693ef6026093d55ea652db083e90ccc6ffe Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 25 Sep 2013 16:15:07 +0000 Subject: [PATCH] Bug 10949: restore ability to successfully print hold slips This fixes a regression introduced by the patch for bug 9394 -- when printing a hold slip using the 'print and confirm' button, the slip would contain only the text 'reserve not found', not a full hold slip. This patch also adds a regression test. To test: [1] Check in an item that would fill a hold. Use the 'print and confirm button' to confirm the hold. [2] The printout will only contain text to the effect of 'reserve not found'. [3] Apply the patch. [4] Repeat step 1. This time, a full hold slip should be printed. [5] Verify that prove -v t/db_dependent/Reserves.t passes. Signed-off-by: Galen Charlton Signed-off-by: Owen Leonard Signed-off-by: Katrin Fischer Pass all tests, new and old, and QA script. Verified wrong and corrected behaviour. Note: Sometimes there will not be the message 'reserve not found' showing up, but hold information for a different record. This happens when there exists a reserve_id with the borrowernumber of the patron in question in your database. Signed-off-by: Galen Charlton --- C4/Reserves.pm | 7 +++++-- t/db_dependent/Reserves.t | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 78e9a5b890..bba4933922 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -2171,8 +2171,11 @@ sub ReserveSlip { # return unless ( C4::Context->boolean_preference('printreserveslips') ); - my $reserve = GetReserveInfo($borrowernumber,$biblionumber ) - or return; + my $reserve_id = GetReserveId({ + biblionumber => $biblionumber, + borrowernumber => $borrowernumber + }) or return; + my $reserve = GetReserveInfo($reserve_id) or return; return C4::Letters::GetPreparedLetter ( module => 'circulation', diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t index ea60d54133..ad50619d31 100755 --- a/t/db_dependent/Reserves.t +++ b/t/db_dependent/Reserves.t @@ -2,7 +2,7 @@ use Modern::Perl; -use Test::More tests => 16; +use Test::More tests => 17; use MARC::Record; use DateTime::Duration; @@ -263,4 +263,7 @@ is(exists $messages->{ResFound}?1:0, 1, 'AddReturn considers future reserve with # End of tests for bug 9761 (ConfirmFutureHolds) +my $letter = ReserveSlip('CPL', $requesters{'CPL'}, $bibnum); +ok(defined($letter), 'can successfully generate hold slip (bug 10949)'); + $dbh->rollback; -- 2.39.5