Bugzilla – Attachment 68855 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.99 KB, created by
Kyle M Hall (khall)
on 2017-10-31 11:33:06 UTC
(
hide
)
Description:
Bug 19549 - Reserve Slip prints first found hold when patron has multiple holds on a biblio
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2017-10-31 11:33:06 UTC
Size:
7.99 KB
patch
obsolete
>From 7f9eb710ea65872e945b3c827587c077dafff90c 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 | 11 +++++++---- > 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, 17 insertions(+), 12 deletions(-) > >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index 78f5ca3..0edb7be 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -1974,12 +1974,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 e46ced1..f6fc025 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -331,6 +331,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 bd09e21..a656172 100755 >--- a/circ/hold-transfer-slip.pl >+++ b/circ/hold-transfer-slip.pl >@@ -36,7 +36,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( >@@ -52,7 +53,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 80f228a..5a2b308 100755 >--- a/circ/returns.pl >+++ b/circ/returns.pl >@@ -288,19 +288,22 @@ if ($barcode) { > > my $biblio = $item->biblio; > $template->param( >+ item => $item, >+ issue => $issue, >+ borrower => $borrower, >+ >+ additional_materials => $materials, >+ returnbranch => $returnbranch, >+ > title => $biblio->title, > homebranch => $item->homebranch, > holdingbranch => $item->holdingbranch, >- returnbranch => $returnbranch, > author => $biblio->author, > itembarcode => $item->barcode, > itemtype => $item->effective_itemtype, > ccode => $item->ccode, > itembiblionumber => $biblio->biblionumber, > biblionumber => $biblio->biblionumber, >- borrower => $borrower, >- additional_materials => $materials, >- issue => $issue, > ); > } # FIXME else we should not call AddReturn but set BadBarcode directly instead > >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 d5507c0..e4047fa 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -381,7 +381,7 @@ $(document).ready(function() { > <input type="hidden" name="borrowernumber" value="[% 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 %] > >@@ -391,7 +391,7 @@ $(document).ready(function() { > <input type="hidden" name="borrowernumber" value="[% 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 b3b5910..41c5d36 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt >@@ -55,7 +55,7 @@ $(document).ready(function () { > $(".modal").on('hidden.bs.modal', function (e) { $("#barcode").focus(); }); > > [% IF print_slip %] >- Dopop('hold-transfer-slip.pl?borrowernumber=[% 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 fd79427..4546f4f 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.10.2
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