$needsconfirmation{'resborrowernumber'} = $patron->borrowernumber;
$needsconfirmation{'resbranchcode'} = $res->{branchcode};
$needsconfirmation{'reswaitingdate'} = $res->{'waitingdate'};
+ $needsconfirmation{'reserve_id'} = $res->{reserve_id};
}
elsif ( $restype eq "Reserved" ) {
# The item is on reserve for someone else.
$needsconfirmation{'resborrowernumber'} = $patron->borrowernumber;
$needsconfirmation{'resbranchcode'} = $patron->branchcode;
$needsconfirmation{'resreservedate'} = $res->{reservedate};
+ $needsconfirmation{'reserve_id'} = $res->{reserve_id};
}
}
}
ModReserveStatus($itemnumber,'W');
}
- $nextreservinfo = $checkreserves->{'borrowernumber'};
+ $nextreservinfo = $checkreserves;
}
return ( $messages, $nextreservinfo );
#step 2 launch the subroutine of the others reserves
( $messages, $nextreservinfo ) = GetOtherReserves($itemnumber);
- return ( $messages, $nextreservinfo );
+ return ( $messages, $nextreservinfo->{borrowernumber} );
}
=head2 ModReserveMinusPriority
sub ReserveSlip {
my ($args) = @_;
my $branchcode = $args->{branchcode};
- my $borrowernumber = $args->{borrowernumber};
- my $biblionumber = $args->{biblionumber};
- my $itemnumber = $args->{itemnumber};
- my $barcode = $args->{barcode};
-
-
- my $patron = Koha::Patrons->find($borrowernumber);
-
- my $hold;
- if ($itemnumber || $barcode ) {
- $itemnumber ||= Koha::Items->find( { barcode => $barcode } )->itemnumber;
-
- $hold = Koha::Holds->search(
- {
- biblionumber => $biblionumber,
- borrowernumber => $borrowernumber,
- itemnumber => $itemnumber
- }
- )->next;
- }
- else {
- $hold = Koha::Holds->search(
- {
- biblionumber => $biblionumber,
- borrowernumber => $borrowernumber
- }
- )->next;
- }
+ my $reserve_id = $args->{reserve_id};
+ my $hold = Koha::Holds->find($reserve_id);
return unless $hold;
+
+ my $patron = $hold->borrower;
my $reserve = $hold->unblessed;
return C4::Letters::GetPreparedLetter (
if ($question->{RESERVE_WAITING} or $question->{RESERVED}){
$template->param(
- reserveborrowernumber => $question->{'resborrowernumber'}
+ reserveborrowernumber => $question->{'resborrowernumber'},
+ reserve_id => $question->{reserve_id},
);
}
my $sessionID = $input->cookie("CGISESSID");
my $session = get_session($sessionID);
-my $biblionumber = $input->param('biblionumber');
-my $borrowernumber = $input->param('borrowernumber');
-my $itemnumber = $input->param('itemnumber');
-my $barcode = $input->param('barcode');
+my $reserve_id = $input->param('reserve_id');
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
my ($slip, $is_html);
if ( my $letter = ReserveSlip ({
branchcode => $session->param('branch') || $userenv->{branch},
- borrowernumber => $borrowernumber,
- biblionumber => $biblionumber,
- itemnumber => $itemnumber,
- barcode => $barcode,
+ reserve_id => $reserve_id,
}) ) {
$slip = $letter->{content};
$is_html = $letter->{is_html};
if ( $query->param('print_slip') ) {
$template->param(
print_slip => 1,
- borrowernumber => scalar $query->param('borrowernumber'), # FIXME We should send a Koha::Patron and raise an error if not exist.
- biblionumber => scalar $query->param('biblionumber'),
- itemnumber => scalar $query->param('itemnumber'),
+ reserve_id => scalar $query->param('reserve_id'),
);
}
my $diffBranchSend = !$branchCheck ? $reserve->{branchcode} : undef;
ModReserveAffect( $reserve->{itemnumber}, $reserve->{borrowernumber}, $diffBranchSend, $reserve->{reserve_id} );
my ( $messages, $nextreservinfo ) = GetOtherReserves($reserve->{itemnumber});
-
- my $patron = Koha::Patrons->find( $nextreservinfo );
-
$template->param(
hold_auto_filled => 1,
print_slip => C4::Context->preference('HoldsAutoFillPrintSlip'),
- patron => $patron,
- borrowernumber => $patron->id,
- biblionumber => $biblio->id,
+ reserve_id => $nextreservinfo->{reserve_id},
);
if ( $messages->{'transfert'} ) {
<input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
<input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
- <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber | uri %]&biblionumber=[% itembiblionumber | uri %]&itemnumber=[% item.itemnumber | uri %]&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?reserve_id=[% reserve_id | uri %]');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
</form>
[% END %]
<input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
<input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
- <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber | uri %]&biblionumber=[% itembiblionumber | uri %]&itemnumber=[% item.itemnumber | uri %]&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?reserve_id=[% reserve_id | uri %]');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
</form>
[% END %]
$(".print-slip").on('click', function(e) {
e.preventDefault();
- Dopop('hold-transfer-slip.pl?borrowernumber=[% patron.borrowernumber | uri %]&biblionumber=[% biblionumber | uri %]');
+ Dopop('hold-transfer-slip.pl?reserve_id=[% reserve_id | uri %]');
});
[% IF print_slip %]
- Dopop('hold-transfer-slip.pl?borrowernumber=[% borrowernumber | uri %]&biblionumber=[% biblionumber | uri %]&itemnumber=[% itemnumber | uri %]');
+ Dopop('hold-transfer-slip.pl?reserve_id=[% reserve_id | uri %]');
[% END %]
var columns_settings = [% ColumnsSettings.GetColumns( 'circ', 'returns', 'checkedintable', 'json' ) | $raw %]