Lines 26-32
use C4::Circulation;
Link Here
|
26 |
use C4::Branch; |
26 |
use C4::Branch; |
27 |
use C4::Accounts; |
27 |
use C4::Accounts; |
28 |
use C4::Biblio; |
28 |
use C4::Biblio; |
29 |
use C4::Reserves qw(AddReserve CancelReserve GetReservesFromBiblionumber GetReservesFromBorrowernumber CanBookBeReserved CanItemBeReserved); |
29 |
use C4::Reserves qw(AddReserve CancelReserve GetReservesFromBiblionumber GetReservesFromBorrowernumber CanBookBeReserved CanItemBeReserved GetReserveNextRank); |
30 |
use C4::Context; |
30 |
use C4::Context; |
31 |
use C4::AuthoritiesMarc; |
31 |
use C4::AuthoritiesMarc; |
32 |
use C4::ILSDI::Utility; |
32 |
use C4::ILSDI::Utility; |
Lines 570-587
sub RenewLoan {
Link Here
|
570 |
return $out; |
570 |
return $out; |
571 |
} |
571 |
} |
572 |
|
572 |
|
573 |
sub _get_reserve_next_rank { |
|
|
574 |
my ($biblionumber) = @_; |
575 |
|
576 |
my ( $count, $reserves ) = GetReservesFromBiblionumber($biblionumber,1); |
577 |
foreach my $res (@$reserves) { |
578 |
$count-- if (defined $res->{found} and $res->{found} eq 'W'); |
579 |
} |
580 |
my $rank = $count + 1; |
581 |
|
582 |
return $rank; |
583 |
} |
584 |
|
585 |
=head2 HoldTitle |
573 |
=head2 HoldTitle |
586 |
|
574 |
|
587 |
Creates, for a borrower, a biblio-level hold reserve. |
575 |
Creates, for a borrower, a biblio-level hold reserve. |
Lines 632-638
sub HoldTitle {
Link Here
|
632 |
$branch = $$borrower{branchcode}; |
620 |
$branch = $$borrower{branchcode}; |
633 |
} |
621 |
} |
634 |
|
622 |
|
635 |
my $rank = _get_reserve_next_rank($biblionumber); |
623 |
my $rank = GetReserveNextRank($biblionumber); |
636 |
|
624 |
|
637 |
# Add the reserve |
625 |
# Add the reserve |
638 |
# $branch, $borrowernumber, $biblionumber, $constraint, $bibitems, $priority, $notes, $title, $checkitem, $found |
626 |
# $branch, $borrowernumber, $biblionumber, $constraint, $bibitems, $priority, $notes, $title, $checkitem, $found |
Lines 709-721
sub HoldItem {
Link Here
|
709 |
$branch = $$borrower{branchcode}; |
697 |
$branch = $$borrower{branchcode}; |
710 |
} |
698 |
} |
711 |
|
699 |
|
712 |
my $rank = _get_reserve_next_rank($biblionumber); |
700 |
my $rank; |
713 |
my $found; |
701 |
my $found; |
714 |
|
702 |
|
715 |
# Get rank and found |
703 |
# Get rank and found |
716 |
$rank = '0' unless C4::Context->preference('ReservesNeedReturns'); |
704 |
if (C4::Context->preference('ReservesNeedReturns')) { |
717 |
if ( $item->{'holdingbranch'} eq $branch ) { |
705 |
$rank = GetReserveNextRank($biblionumber); |
718 |
$found = 'W' unless C4::Context->preference('ReservesNeedReturns'); |
706 |
} else { |
|
|
707 |
$rank = '0'; |
708 |
if ($item->{'holdingbranch'} eq $branch) { |
709 |
$found = 'W'; |
710 |
} |
719 |
} |
711 |
} |
720 |
|
712 |
|
721 |
# Add the reserve |
713 |
# Add the reserve |