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

(-)a/C4/HoldsQueue.pm (-5 / +43 lines)
Lines 137-147 sub GetHoldsQueueItems { Link Here
137
                         biblio.copyrightdate, biblio.subtitle, biblio.medium,
137
                         biblio.copyrightdate, biblio.subtitle, biblio.medium,
138
                         biblio.part_number, biblio.part_name,
138
                         biblio.part_number, biblio.part_name,
139
                         biblioitems.publicationyear, biblioitems.pages, biblioitems.size,
139
                         biblioitems.publicationyear, biblioitems.pages, biblioitems.size,
140
                         biblioitems.isbn, items.copynumber
140
                         biblioitems.isbn, items.copynumber,
141
                         volumes.id AS volume_id, volumes.description AS volume_description
141
                  FROM tmp_holdsqueue
142
                  FROM tmp_holdsqueue
142
                       JOIN biblio      USING (biblionumber)
143
                       JOIN biblio       USING (biblionumber)
143
                  LEFT JOIN biblioitems USING (biblionumber)
144
                  LEFT JOIN biblioitems  USING (biblionumber)
144
                  LEFT JOIN items       USING (  itemnumber)
145
                  LEFT JOIN items        USING (  itemnumber)
146
                  LEFT JOIN volume_items USING (  itemnumber)
147
                  LEFT JOIN volumes ON ( volume_items.volume_id = volumes.id )
145
                /;
148
                /;
146
    if ($branchlimit) {
149
    if ($branchlimit) {
147
        $query .=" WHERE tmp_holdsqueue.holdingbranch = ?";
150
        $query .=" WHERE tmp_holdsqueue.holdingbranch = ?";
Lines 277-283 sub GetPendingHoldRequestsForBib { Link Here
277
    my $dbh = C4::Context->dbh;
280
    my $dbh = C4::Context->dbh;
278
281
279
    my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserves.branchcode,
282
    my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserves.branchcode,
280
                                reservedate, reservenotes, borrowers.branchcode AS borrowerbranch, itemtype, item_level_hold
283
                                reservedate, reservenotes, borrowers.branchcode AS borrowerbranch, itemtype, item_level_hold, volume_id
281
                         FROM reserves
284
                         FROM reserves
282
                         JOIN borrowers USING (borrowernumber)
285
                         JOIN borrowers USING (borrowernumber)
283
                         WHERE biblionumber = ?
286
                         WHERE biblionumber = ?
Lines 411-416 sub MapItemsToHoldRequests { Link Here
411
414
412
                next if $request->{itemnumber} && $request->{itemnumber} != $item->{itemnumber};
415
                next if $request->{itemnumber} && $request->{itemnumber} != $item->{itemnumber};
413
416
417
                next if $request->{volume_id} && $item->{_object}->volume && $item->{_object}->volume->id ne $request->{volume_id};
418
414
                next unless $item->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
419
                next unless $item->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
415
420
416
                my $local_holds_priority_item_branchcode =
421
                my $local_holds_priority_item_branchcode =
Lines 466-471 sub MapItemsToHoldRequests { Link Here
466
                    || ( $request->{branchcode} eq $items_by_itemnumber{ $request->{itemnumber} }->{ $items_by_itemnumber{ $request->{itemnumber} }->{hold_fulfillment_policy} }  )
471
                    || ( $request->{branchcode} eq $items_by_itemnumber{ $request->{itemnumber} }->{ $items_by_itemnumber{ $request->{itemnumber} }->{hold_fulfillment_policy} }  )
467
                and ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match
472
                and ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match
468
                    || $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} )
473
                    || $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} )
474
                and ( !$request->{volume_id} # If hold volume is set, item's volume must match
475
                      || ( $items_by_itemnumber{ $request->{itemnumber} }->{_object}->volume
476
                        && $items_by_itemnumber{ $request->{itemnumber} }->{_object}->volume->id eq $request->{volume_id} ) )
469
                )
477
                )
470
                and $items_by_itemnumber{ $request->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } )
478
                and $items_by_itemnumber{ $request->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } )
471
479
Lines 523-528 sub MapItemsToHoldRequests { Link Here
523
                        || $request->{branchcode} eq $item->{ $item->{hold_fulfillment_policy} } )
531
                        || $request->{branchcode} eq $item->{ $item->{hold_fulfillment_policy} } )
524
                    && ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match
532
                    && ( !$request->{itemtype} # If hold itemtype is set, item's itemtype must match
525
                        || $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} )
533
                        || $items_by_itemnumber{ $request->{itemnumber} }->{itype} eq $request->{itemtype} )
534
                    && ( !$request->{volume_id} # If hold volume is set, item's volume must match
535
                        || ( $item->{_object}->volume && $item->{_object}->volume->id eq $request->{volume_id} ) )
526
                  )
536
                  )
527
                {
537
                {
528
                    $itemnumber = $item->{itemnumber};
538
                    $itemnumber = $item->{itemnumber};
Lines 549-554 sub MapItemsToHoldRequests { Link Here
549
                    next unless ( !$request->{itemtype}
559
                    next unless ( !$request->{itemtype}
550
                        || $item->{itype} eq $request->{itemtype} );
560
                        || $item->{itype} eq $request->{itemtype} );
551
561
562
                    # If hold volume is set, item's volume must match
563
                    next unless (
564
                        !$request->{volume_id}
565
                        || (   $item->{_object}->volume
566
                            && $item->{_object}->volume->id eq $request->{volume_id} )
567
                    );
568
552
                    $itemnumber = $item->{itemnumber};
569
                    $itemnumber = $item->{itemnumber};
553
                    last;
570
                    last;
554
                }
571
                }
Lines 586-591 sub MapItemsToHoldRequests { Link Here
586
                    next unless ( !$request->{itemtype}
603
                    next unless ( !$request->{itemtype}
587
                        || $item->{itype} eq $request->{itemtype} );
604
                        || $item->{itype} eq $request->{itemtype} );
588
605
606
                    # If hold volume is set, item's volume must match
607
                    next unless (
608
                        !$request->{volume_id}
609
                        || (   $item->{_object}->volume
610
                            && $item->{_object}->volume->id eq $request->{volume_id} )
611
                    );
612
589
                    $itemnumber = $item->{itemnumber};
613
                    $itemnumber = $item->{itemnumber};
590
                    $holdingbranch = $branch;
614
                    $holdingbranch = $branch;
591
                    last PULL_BRANCHES;
615
                    last PULL_BRANCHES;
Lines 605-610 sub MapItemsToHoldRequests { Link Here
605
                        next unless ( !$request->{itemtype}
629
                        next unless ( !$request->{itemtype}
606
                            || $current_item->{itype} eq $request->{itemtype} );
630
                            || $current_item->{itype} eq $request->{itemtype} );
607
631
632
                    # If hold volume is set, item's volume must match
633
                    next unless (
634
                        !$request->{volume_id}
635
                        || (   $current_item->{_object}->volume
636
                            && $current_item->{_object}->volume->id eq $request->{volume_id} )
637
                    );
638
608
                        next unless $items_by_itemnumber{ $current_item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
639
                        next unless $items_by_itemnumber{ $current_item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
609
640
610
                        $itemnumber = $current_item->{itemnumber};
641
                        $itemnumber = $current_item->{itemnumber};
Lines 631-636 sub MapItemsToHoldRequests { Link Here
631
                        next unless ( !$request->{itemtype}
662
                        next unless ( !$request->{itemtype}
632
                            || $item->{itype} eq $request->{itemtype} );
663
                            || $item->{itype} eq $request->{itemtype} );
633
664
665
                        # If hold volume is set, item's volume must match
666
                        next unless (
667
                            !$request->{volume_id}
668
                            || (   $item->{_object}->volume
669
                                && $item->{_object}->volume->id eq $request->{volume_id} )
670
                        );
671
634
                        next unless $items_by_itemnumber{ $item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
672
                        next unless $items_by_itemnumber{ $item->{itemnumber} }->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
635
673
636
                        $itemnumber = $item->{itemnumber};
674
                        $itemnumber = $item->{itemnumber};
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt (-1 / +2 lines)
Lines 156-161 Link Here
156
            <td class="hq-barcode">
156
            <td class="hq-barcode">
157
                [% IF ( itemsloo.item_level_request ) %]
157
                [% IF ( itemsloo.item_level_request ) %]
158
                    <em>Only item:</em> <strong>[% itemsloo.barcode | html %]</strong>
158
                    <em>Only item:</em> <strong>[% itemsloo.barcode | html %]</strong>
159
                [% ELSIF itemsloo.volume_id %]
160
                <strong>[% itemsloo.barcode | html %]</strong> <em>or any item from volume <strong>[% itemsloo.volume_description | html %]</strong></em>
159
                [% ELSE %]
161
                [% ELSE %]
160
                    <strong>[% itemsloo.barcode | html %]</strong> <em>or any available</em>
162
                    <strong>[% itemsloo.barcode | html %]</strong> <em>or any available</em>
161
                [% END %]
163
                [% END %]
162
- 

Return to bug 24860