Lines 310-315
See CanItemBeReserved() for possible return values.
Link Here
|
310 |
|
310 |
|
311 |
sub CanBookBeReserved{ |
311 |
sub CanBookBeReserved{ |
312 |
my ($borrowernumber, $biblionumber, $pickup_branchcode) = @_; |
312 |
my ($borrowernumber, $biblionumber, $pickup_branchcode) = @_; |
|
|
313 |
my $patron = Koha::Patrons->find( $borrowernumber ); |
314 |
my $borrower = $patron->unblessed; |
313 |
|
315 |
|
314 |
my @itemnumbers = Koha::Items->search({ biblionumber => $biblionumber})->get_column("itemnumber"); |
316 |
my @itemnumbers = Koha::Items->search({ biblionumber => $biblionumber})->get_column("itemnumber"); |
315 |
#get items linked via host records |
317 |
#get items linked via host records |
Lines 319-325
sub CanBookBeReserved{
Link Here
|
319 |
} |
321 |
} |
320 |
|
322 |
|
321 |
my $canReserve = { status => '' }; |
323 |
my $canReserve = { status => '' }; |
|
|
324 |
my ($rights,$item); |
322 |
foreach my $itemnumber (@itemnumbers) { |
325 |
foreach my $itemnumber (@itemnumbers) { |
|
|
326 |
$item = Koha::Items->find($itemnumber); |
327 |
$rights = GetHoldRule( $borrower->{'categorycode'}, $item->{'itype'}, $pickup_branchcode ); |
328 |
return { 'status' => 'RecordHoldNotAllowed' } if $rights->{opacitemholds} eq 'F'; |
329 |
|
323 |
$canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode ); |
330 |
$canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode ); |
324 |
return { status => 'OK' } if $canReserve->{status} eq 'OK'; |
331 |
return { status => 'OK' } if $canReserve->{status} eq 'OK'; |
325 |
} |
332 |
} |
Lines 2270-2276
sub GetHoldRule {
Link Here
|
2270 |
itemtype => $itemtype, |
2277 |
itemtype => $itemtype, |
2271 |
categorycode => $categorycode, |
2278 |
categorycode => $categorycode, |
2272 |
branchcode => $branchcode, |
2279 |
branchcode => $branchcode, |
2273 |
rules => ['holds_per_record', 'holds_per_day'], |
2280 |
rules => ['holds_per_record', 'holds_per_day', 'opacitemholds'], |
2274 |
order_by => { |
2281 |
order_by => { |
2275 |
-desc => [ 'categorycode', 'itemtype', 'branchcode' ] |
2282 |
-desc => [ 'categorycode', 'itemtype', 'branchcode' ] |
2276 |
} |
2283 |
} |
Lines 2278-2283
sub GetHoldRule {
Link Here
|
2278 |
); |
2285 |
); |
2279 |
$rules->{holds_per_record} = $holds_per_x_rules->{holds_per_record}; |
2286 |
$rules->{holds_per_record} = $holds_per_x_rules->{holds_per_record}; |
2280 |
$rules->{holds_per_day} = $holds_per_x_rules->{holds_per_day}; |
2287 |
$rules->{holds_per_day} = $holds_per_x_rules->{holds_per_day}; |
|
|
2288 |
$rules->{opacitemholds} = $holds_per_x_rules->{opacitemholds}; |
2281 |
|
2289 |
|
2282 |
return $rules; |
2290 |
return $rules; |
2283 |
} |
2291 |
} |
2284 |
- |
|
|