Bugzilla – Attachment 72700 Details for
Bug 19549
Reserve Slip prints first found hold when patron has multiple holds on a biblio
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19549 - Reserve Slip prints first found hold when patron has multiple holds on a biblio
Bug-19549---Reserve-Slip-prints-first-found-hold-w.patch (text/plain), 7.52 KB, created by
Nick Clemens (kidclamp)
on 2018-03-12 14:40:26 UTC
(
hide
)
Description:
Bug 19549 - Reserve Slip prints first found hold when patron has multiple holds on a biblio
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2018-03-12 14:40:26 UTC
Size:
7.52 KB
patch
obsolete
>From bb61bd76f6ecfca0268bafb29e3bd86a19cdb4c0 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Tue, 31 Oct 2017 07:31:34 -0400 >Subject: [PATCH] Bug 19549 - Reserve Slip prints first found hold when patron > has multiple holds on a biblio > >In C4/Reserves.pm the ReserveSlip function uses this call to get the reserve: >1982 my $hold = Koha::Holds->search({biblionumber => $biblionumber, borrowernumber => $borrowernumber })->next; > >If a patron has multiple holds there is no way to know if we have the correct one. > >This function should be updated to take an itemnumber as well and all calls updated. > >Test Plan: >1) Apply this patch >2) Capture some holds, ensure the correct hold was caught and printed in the notice >3) prove t/db_dependent/Reserves.t >--- > C4/Reserves.pm | 4 ++-- > circ/circulation.pl | 1 + > circ/hold-transfer-slip.pl | 5 +++-- > circ/returns.pl | 6 +++++- > koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt | 4 ++-- > koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt | 2 +- > t/db_dependent/Reserves.t | 2 +- > 7 files changed, 15 insertions(+), 9 deletions(-) > >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index 73b86b6..59dba94 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -1874,12 +1874,12 @@ available within the slip: > =cut > > sub ReserveSlip { >- my ($branch, $borrowernumber, $biblionumber) = @_; >+ my ($branch, $borrowernumber, $biblionumber, $itemnumber) = @_; > > # return unless ( C4::Context->boolean_preference('printreserveslips') ); > my $patron = Koha::Patrons->find( $borrowernumber ); > >- my $hold = Koha::Holds->search({biblionumber => $biblionumber, borrowernumber => $borrowernumber })->next; >+ my $hold = Koha::Holds->search({biblionumber => $biblionumber, borrowernumber => $borrowernumber, itemnumber => $itemnumber })->next; > return unless $hold; > my $reserve = $hold->unblessed; > >diff --git a/circ/circulation.pl b/circ/circulation.pl >index 93ed09c..beb624e 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -346,6 +346,7 @@ if (@$barcodes) { > $template_params->{messages} = $messages; > > my $item = Koha::Items->find({ barcode => $barcode }); >+ $template->param( item => $item ); > my ( $biblio, $mss ); > > if ( $item ) { >diff --git a/circ/hold-transfer-slip.pl b/circ/hold-transfer-slip.pl >index 115a434..64bfc76 100755 >--- a/circ/hold-transfer-slip.pl >+++ b/circ/hold-transfer-slip.pl >@@ -35,7 +35,8 @@ my $input = new CGI; > my $sessionID = $input->cookie("CGISESSID"); > my $session = get_session($sessionID); > >-my $biblionumber = $input->param('biblionumber'); >+my $itemnumber = $input->param('itemnumber'); >+my $biblionumber = $input->param('biblionumber'); > my $borrowernumber = $input->param('borrowernumber'); > > my ( $template, $loggedinuser, $cookie ) = get_template_and_user( >@@ -51,7 +52,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > > my $userenv = C4::Context->userenv; > my ($slip, $is_html); >-if ( my $letter = ReserveSlip ($session->param('branch') || $userenv->{branch}, $borrowernumber, $biblionumber) ) { >+if ( my $letter = ReserveSlip ($session->param('branch') || $userenv->{branch}, $borrowernumber, $biblionumber, $itemnumber) ) { > $slip = $letter->{content}; > $is_html = $letter->{is_html}; > } >diff --git a/circ/returns.pl b/circ/returns.pl >index 162f8fd..8f9bfa6 100755 >--- a/circ/returns.pl >+++ b/circ/returns.pl >@@ -279,10 +279,14 @@ if ($barcode) { > my $checkout = $item->checkout; > my $biblio = $item->biblio; > $template->param( >+ item => $item, >+ borrower => $borrower, >+ >+ returnbranch => $returnbranch, >+ > title => $biblio->title, > homebranch => $item->homebranch, > holdingbranch => $item->holdingbranch, >- returnbranch => $returnbranch, > author => $biblio->author, > itembarcode => $item->barcode, > itemtype => $item->effective_itemtype, >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >index 4c66feb..ebb344f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -256,7 +256,7 @@ > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber %]" /> > <input type="hidden" name="duedatespec" value="[% duedatespec %]" /> > <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" /> >- <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber %]&biblionumber=[% itembiblionumber %]&op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button> >+ <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?itemnumber=[% item.itemnumber %]&borrowernumber=[% reserveborrowernumber %]&biblionumber=[% itembiblionumber %]&op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button> > </form> > [% END %] > >@@ -266,7 +266,7 @@ > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber %]" /> > <input type="hidden" name="duedatespec" value="[% duedatespec %]" /> > <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" /> >- <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber %]&biblionumber=[% itembiblionumber %]&op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button> >+ <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?itemnumber=[% item.itemnumber %]&borrowernumber=[% reserveborrowernumber %]&biblionumber=[% itembiblionumber %]&op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button> > </form> > [% END %] > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt >index f18ea69..f9a153f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt >@@ -711,7 +711,7 @@ > $(".modal").on('hidden.bs.modal', function (e) { $("#barcode").focus(); }); > > [% IF print_slip %] >- Dopop('hold-transfer-slip.pl?borrowernumber=[% patron.borrowernumber %]&biblionumber=[% biblionumber %]'); >+ Dopop('hold-transfer-slip.pl?borrowernumber=[% borrowernumber %]&biblionumber=[% biblionumber %]&itemnumber=[% item.itemnumber %]'); > [% END %] > > var columns_settings = [% ColumnsSettings.GetColumns( 'circ', 'returns', 'checkedintable', 'json' ) %] >diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t >index 57de1dd..3aeecd4 100755 >--- a/t/db_dependent/Reserves.t >+++ b/t/db_dependent/Reserves.t >@@ -387,7 +387,7 @@ is( > 'item that is captured to fill a hold cannot be deleted', > ); > >-my $letter = ReserveSlip($branch_1, $requesters{$branch_1}, $bibnum); >+my $letter = ReserveSlip($branch_1, $requesters{$branch_1}, $bibnum, $itemnumber); > ok(defined($letter), 'can successfully generate hold slip (bug 10949)'); > > # Tests for bug 9788: Does Koha::Item->current_holds return a future wait? >-- >2.1.4
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 19549
:
68855
| 72700