Lines 370-397
sub GetItemsAvailableToFillHoldRequestsForBib {
Link Here
|
370 |
|
370 |
|
371 |
=cut |
371 |
=cut |
372 |
|
372 |
|
373 |
our $libraries = {}; |
|
|
374 |
sub _checkHoldPolicy { |
373 |
sub _checkHoldPolicy { |
375 |
my ($item, $request) = @_; |
374 |
my ($item, $request) = @_; |
376 |
|
375 |
|
377 |
return 0 unless $item->{holdallowed}; |
376 |
return 0 unless $item->{holdallowed}; |
378 |
return 0 if $item->{holdallowed} == 1 && $item->{homebranch} ne $request->{borrowerbranch}; |
377 |
return 0 if $item->{holdallowed} == 1 && $item->{homebranch} ne $request->{borrowerbranch}; |
379 |
|
378 |
|
380 |
$libraries->{$item->{homebranch}} ||= Koha::Libraries->find($item->{homebranch}); |
379 |
return 0 if $item->{'holdallowed'} == 3 && !Koha::Libraries->find($item->{homebranch})->validate_hold_sibling({branchcode => $request->{borrowerbranch}}); |
381 |
my $library = $libraries->{$item->{homebranch}}; |
|
|
382 |
|
383 |
return 0 if $item->{'holdallowed'} == 3 && !$library->validate_hold_sibling({branchcode => $request->{borrowerbranch}}); |
384 |
|
380 |
|
385 |
my $hold_fulfillment_policy = $item->{hold_fulfillment_policy}; |
381 |
my $hold_fulfillment_policy = $item->{hold_fulfillment_policy}; |
386 |
|
382 |
|
387 |
return 0 if $hold_fulfillment_policy eq 'holdgroup' && !$library->validate_hold_sibling({branchcode => $request->{branchcode}}); |
383 |
return 0 if $hold_fulfillment_policy eq 'holdgroup' && !Koha::Libraries->find($item->{homebranch})->validate_hold_sibling({branchcode => $request->{branchcode}}); |
388 |
return 0 if $hold_fulfillment_policy eq 'homebranch' && $request->{branchcode} ne $item->{$hold_fulfillment_policy}; |
384 |
return 0 if $hold_fulfillment_policy eq 'homebranch' && $request->{branchcode} ne $item->{$hold_fulfillment_policy}; |
389 |
return 0 if $hold_fulfillment_policy eq 'holdingbranch' && $request->{branchcode} ne $item->{$hold_fulfillment_policy}; |
385 |
return 0 if $hold_fulfillment_policy eq 'holdingbranch' && $request->{branchcode} ne $item->{$hold_fulfillment_policy}; |
390 |
|
386 |
|
391 |
$libraries->{$request->{borrowerbranch}} ||= Koha::Libraries->find($request->{borrowerbranch}); |
387 |
return 0 if $hold_fulfillment_policy eq 'patrongroup' && !Koha::Libraries->find($request->{borrowerbranch})->validate_hold_sibling({branchcode => $request->{branchcode}}); |
392 |
my $patronLibrary = $libraries->{$request->{borrowerbranch}}; |
|
|
393 |
|
394 |
return 0 if $hold_fulfillment_policy eq 'patrongroup' && !$patronLibrary->validate_hold_sibling({branchcode => $request->{branchcode}}); |
395 |
|
388 |
|
396 |
return 1; |
389 |
return 1; |
397 |
|
390 |
|
398 |
- |
|
|