|
Lines 140-150
sub GetHoldsQueueItems {
Link Here
|
| 140 |
biblio.copyrightdate, biblio.subtitle, biblio.medium, |
140 |
biblio.copyrightdate, biblio.subtitle, biblio.medium, |
| 141 |
biblio.part_number, biblio.part_name, |
141 |
biblio.part_number, biblio.part_name, |
| 142 |
biblioitems.publicationyear, biblioitems.pages, biblioitems.size, |
142 |
biblioitems.publicationyear, biblioitems.pages, biblioitems.size, |
| 143 |
biblioitems.isbn, biblioitems.editionstatement, items.copynumber |
143 |
biblioitems.isbn, biblioitems.editionstatement, items.copynumber, |
|
|
144 |
volumes.id AS volume_id, volumes.description AS volume_description |
| 144 |
FROM tmp_holdsqueue |
145 |
FROM tmp_holdsqueue |
| 145 |
JOIN biblio USING (biblionumber) |
146 |
JOIN biblio USING (biblionumber) |
| 146 |
LEFT JOIN biblioitems USING (biblionumber) |
147 |
LEFT JOIN biblioitems USING (biblionumber) |
| 147 |
LEFT JOIN items USING ( itemnumber) |
148 |
LEFT JOIN items USING ( itemnumber) |
|
|
149 |
LEFT JOIN volume_items USING ( itemnumber) |
| 150 |
LEFT JOIN volumes ON ( volume_items.volume_id = volumes.id ) |
| 148 |
/; |
151 |
/; |
| 149 |
if ($branchlimit) { |
152 |
if ($branchlimit) { |
| 150 |
$query .=" WHERE tmp_holdsqueue.holdingbranch = ?"; |
153 |
$query .=" WHERE tmp_holdsqueue.holdingbranch = ?"; |
|
Lines 280-286
sub GetPendingHoldRequestsForBib {
Link Here
|
| 280 |
my $dbh = C4::Context->dbh; |
283 |
my $dbh = C4::Context->dbh; |
| 281 |
|
284 |
|
| 282 |
my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserve_id, reserves.branchcode, |
285 |
my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserve_id, reserves.branchcode, |
| 283 |
reservedate, reservenotes, borrowers.branchcode AS borrowerbranch, itemtype, item_level_hold |
286 |
reservedate, reservenotes, borrowers.branchcode AS borrowerbranch, itemtype, item_level_hold, volume_id |
| 284 |
FROM reserves |
287 |
FROM reserves |
| 285 |
JOIN borrowers USING (borrowernumber) |
288 |
JOIN borrowers USING (borrowernumber) |
| 286 |
WHERE biblionumber = ? |
289 |
WHERE biblionumber = ? |
|
Lines 417-422
sub MapItemsToHoldRequests {
Link Here
|
| 417 |
|
420 |
|
| 418 |
next if $request->{itemnumber} && $request->{itemnumber} != $item->{itemnumber}; |
421 |
next if $request->{itemnumber} && $request->{itemnumber} != $item->{itemnumber}; |
| 419 |
|
422 |
|
|
|
423 |
next if $request->{volume_id} && $item->{_object}->volume && $item->{_object}->volume->id ne $request->{volume_id}; |
| 424 |
|
| 420 |
next unless $item->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); |
425 |
next unless $item->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); |
| 421 |
|
426 |
|
| 422 |
my $local_holds_priority_item_branchcode = |
427 |
my $local_holds_priority_item_branchcode = |
|
Lines 473-478
sub MapItemsToHoldRequests {
Link Here
|
| 473 |
|| ( $request->{branchcode} eq $items_by_itemnumber{ $request->{itemnumber} }->{ $items_by_itemnumber{ $request->{itemnumber} }->{hold_fulfillment_policy} } ) |
478 |
|| ( $request->{branchcode} eq $items_by_itemnumber{ $request->{itemnumber} }->{ $items_by_itemnumber{ $request->{itemnumber} }->{hold_fulfillment_policy} } ) |
| 474 |
and ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match |
479 |
and ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match |
| 475 |
|| $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} ) |
480 |
|| $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} ) |
|
|
481 |
and ( !$request->{volume_id} # If hold volume is set, item's volume must match |
| 482 |
|| ( $items_by_itemnumber{ $request->{itemnumber} }->{_object}->volume |
| 483 |
&& $items_by_itemnumber{ $request->{itemnumber} }->{_object}->volume->id eq $request->{volume_id} ) ) |
| 476 |
) |
484 |
) |
| 477 |
and $items_by_itemnumber{ $request->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ) |
485 |
and $items_by_itemnumber{ $request->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ) |
| 478 |
|
486 |
|
|
Lines 531-536
sub MapItemsToHoldRequests {
Link Here
|
| 531 |
|| $request->{branchcode} eq $item->{ $item->{hold_fulfillment_policy} } ) |
539 |
|| $request->{branchcode} eq $item->{ $item->{hold_fulfillment_policy} } ) |
| 532 |
&& ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match |
540 |
&& ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match |
| 533 |
|| $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} ) |
541 |
|| $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} ) |
|
|
542 |
&& ( !$request->{volume_id} # If hold volume is set, item's volume must match |
| 543 |
|| ( $item->{_object}->volume && $item->{_object}->volume->id eq $request->{volume_id} ) ) |
| 534 |
) |
544 |
) |
| 535 |
{ |
545 |
{ |
| 536 |
$itemnumber = $item->{itemnumber}; |
546 |
$itemnumber = $item->{itemnumber}; |
|
Lines 557-562
sub MapItemsToHoldRequests {
Link Here
|
| 557 |
next unless ( !$request->{itemtype} |
567 |
next unless ( !$request->{itemtype} |
| 558 |
|| $item->{itype} eq $request->{itemtype} ); |
568 |
|| $item->{itype} eq $request->{itemtype} ); |
| 559 |
|
569 |
|
|
|
570 |
# If hold volume is set, item's volume must match |
| 571 |
next unless ( |
| 572 |
!$request->{volume_id} |
| 573 |
|| ( $item->{_object}->volume |
| 574 |
&& $item->{_object}->volume->id eq $request->{volume_id} ) |
| 575 |
); |
| 576 |
|
| 560 |
$itemnumber = $item->{itemnumber}; |
577 |
$itemnumber = $item->{itemnumber}; |
| 561 |
last; |
578 |
last; |
| 562 |
} |
579 |
} |
|
Lines 594-599
sub MapItemsToHoldRequests {
Link Here
|
| 594 |
next unless ( !$request->{itemtype} |
611 |
next unless ( !$request->{itemtype} |
| 595 |
|| $item->{itype} eq $request->{itemtype} ); |
612 |
|| $item->{itype} eq $request->{itemtype} ); |
| 596 |
|
613 |
|
|
|
614 |
# If hold volume is set, item's volume must match |
| 615 |
next unless ( |
| 616 |
!$request->{volume_id} |
| 617 |
|| ( $item->{_object}->volume |
| 618 |
&& $item->{_object}->volume->id eq $request->{volume_id} ) |
| 619 |
); |
| 620 |
|
| 597 |
$itemnumber = $item->{itemnumber}; |
621 |
$itemnumber = $item->{itemnumber}; |
| 598 |
$holdingbranch = $branch; |
622 |
$holdingbranch = $branch; |
| 599 |
last PULL_BRANCHES; |
623 |
last PULL_BRANCHES; |
|
Lines 613-618
sub MapItemsToHoldRequests {
Link Here
|
| 613 |
next unless ( !$request->{itemtype} |
637 |
next unless ( !$request->{itemtype} |
| 614 |
|| $current_item->{itype} eq $request->{itemtype} ); |
638 |
|| $current_item->{itype} eq $request->{itemtype} ); |
| 615 |
|
639 |
|
|
|
640 |
# If hold volume is set, item's volume must match |
| 641 |
next unless ( |
| 642 |
!$request->{volume_id} |
| 643 |
|| ( $current_item->{_object}->volume |
| 644 |
&& $current_item->{_object}->volume->id eq $request->{volume_id} ) |
| 645 |
); |
| 646 |
|
| 616 |
next unless $items_by_itemnumber{ $current_item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); |
647 |
next unless $items_by_itemnumber{ $current_item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); |
| 617 |
|
648 |
|
| 618 |
$itemnumber = $current_item->{itemnumber}; |
649 |
$itemnumber = $current_item->{itemnumber}; |
|
Lines 639-644
sub MapItemsToHoldRequests {
Link Here
|
| 639 |
next unless ( !$request->{itemtype} |
670 |
next unless ( !$request->{itemtype} |
| 640 |
|| $item->{itype} eq $request->{itemtype} ); |
671 |
|| $item->{itype} eq $request->{itemtype} ); |
| 641 |
|
672 |
|
|
|
673 |
# If hold volume is set, item's volume must match |
| 674 |
next unless ( |
| 675 |
!$request->{volume_id} |
| 676 |
|| ( $item->{_object}->volume |
| 677 |
&& $item->{_object}->volume->id eq $request->{volume_id} ) |
| 678 |
); |
| 679 |
|
| 642 |
next unless $items_by_itemnumber{ $item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); |
680 |
next unless $items_by_itemnumber{ $item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } ); |
| 643 |
|
681 |
|
| 644 |
$itemnumber = $item->{itemnumber}; |
682 |
$itemnumber = $item->{itemnumber}; |