@@ -, +, @@
has multiple holds on a biblio
---
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(-)
--- a/C4/Reserves.pm
+++ a/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;
--- a/circ/circulation.pl
+++ a/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 ) {
--- a/circ/hold-transfer-slip.pl
+++ a/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};
}
--- a/circ/returns.pl
+++ a/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,
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
@@ -256,7 +256,7 @@
-
+
[% END %]
@@ -266,7 +266,7 @@
-
+
[% END %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
+++ a/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' ) %]
--- a/t/db_dependent/Reserves.t
+++ a/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?
--