View | Details | Raw Unified | Return to bug 24860
Collapse All | Expand All

(-)a/C4/HoldsQueue.pm (-5 / +43 lines)
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};
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt (-1 / +2 lines)
Lines 155-160 Link Here
155
            <td class="hq-barcode">
155
            <td class="hq-barcode">
156
                [% IF ( itemsloo.item_level_request ) %]
156
                [% IF ( itemsloo.item_level_request ) %]
157
                    <em>Only item:</em> <strong>[% itemsloo.barcode | html %]</strong>
157
                    <em>Only item:</em> <strong>[% itemsloo.barcode | html %]</strong>
158
                [% ELSIF itemsloo.volume_id %]
159
                <strong>[% itemsloo.barcode | html %]</strong> <em>or any item from volume <strong>[% itemsloo.volume_description | html %]</strong></em>
158
                [% ELSE %]
160
                [% ELSE %]
159
                    <strong>[% itemsloo.barcode | html %]</strong> <em>or any available</em>
161
                    <strong>[% itemsloo.barcode | html %]</strong> <em>or any available</em>
160
                [% END %]
162
                [% END %]
161
- 

Return to bug 24860