Bug 17561: (QA follow-up) Simplify new ReserveSlip code

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Kyle M Hall 2018-05-18 07:20:06 -04:00 committed by Martin Renvoize
parent a2b9db00cf
commit a088aad171
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
1 changed files with 36 additions and 18 deletions

View File

@ -1868,13 +1868,15 @@ sub RevertWaitingStatus {
=head2 ReserveSlip
ReserveSlip($args => {
branchcode,
borrowernumber,
biblionumber,
[itemnumber],
[barcode],
})
ReserveSlip(
{
branchcode => $branchcode,
borrowernumber => $borrowernumber,
biblionumber => $biblionumber,
[ itemnumber => $itemnumber, ]
[ barcode => $barcode, ]
}
)
Returns letter hash ( see C4::Letters::GetPreparedLetter ) or undef
@ -1892,18 +1894,34 @@ available within the slip:
sub ReserveSlip {
my ($args) = @_;
my $patron = Koha::Patrons->find( $args->{borrowernumber} );
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 ($args->{itemnumber}) {
$hold = Koha::Holds->search({biblionumber => $args->{biblionumber}, borrowernumber => $args->{borrowernumber}, itemnumber => $args->{itemnumber} })->next;
} elsif ($args->{barcode}) {
my $itemnumber = Koha::Items->find({ barcode => $args->{barcode} });
if ($args->{itemnumber}) {
$hold = Koha::Holds->search({biblionumber => $args->{biblionumber}, borrowernumber => $args->{borrowernumber}, itemnumber => $args->{itemnumber} })->next;
}
} else {
$hold = Koha::Holds->search({biblionumber => $args->{biblionumber}, borrowernumber => $args->{borrowernumber} })->next;
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;
}
return unless $hold;
@ -1912,7 +1930,7 @@ sub ReserveSlip {
return C4::Letters::GetPreparedLetter (
module => 'circulation',
letter_code => 'HOLD_SLIP',
branchcode => $args->{branchcode},
branchcode => $branchcode,
lang => $patron->lang,
tables => {
'reserves' => $reserve,