|
Lines 737-747
sub CheckReserves {
Link Here
|
| 737 |
} |
737 |
} |
| 738 |
# note: we get the itemnumber because we might have started w/ just the barcode. Now we know for sure we have it. |
738 |
# note: we get the itemnumber because we might have started w/ just the barcode. Now we know for sure we have it. |
| 739 |
my ( $biblio, $bibitem, $notforloan_per_itemtype, $notforloan_per_item, $itemnumber, $damaged, $item_homebranch, $item_holdingbranch ) = $sth->fetchrow_array; |
739 |
my ( $biblio, $bibitem, $notforloan_per_itemtype, $notforloan_per_item, $itemnumber, $damaged, $item_homebranch, $item_holdingbranch ) = $sth->fetchrow_array; |
| 740 |
|
|
|
| 741 |
return if ( $damaged && !C4::Context->preference('AllowHoldsOnDamagedItems') ); |
740 |
return if ( $damaged && !C4::Context->preference('AllowHoldsOnDamagedItems') ); |
| 742 |
|
741 |
|
| 743 |
return unless $itemnumber; # bail if we got nothing. |
742 |
return unless $itemnumber; # bail if we got nothing. |
| 744 |
|
|
|
| 745 |
# if item is not for loan it cannot be reserved either..... |
743 |
# if item is not for loan it cannot be reserved either..... |
| 746 |
# except where items.notforloan < 0 : This indicates the item is holdable. |
744 |
# except where items.notforloan < 0 : This indicates the item is holdable. |
| 747 |
return if ( $notforloan_per_item > 0 ) or $notforloan_per_itemtype; |
745 |
return if ( $notforloan_per_item > 0 ) or $notforloan_per_itemtype; |
|
Lines 979-985
sub ModReserveFill {
Link Here
|
| 979 |
my $reserve_id = $res->{'reserve_id'}; |
977 |
my $reserve_id = $res->{'reserve_id'}; |
| 980 |
|
978 |
|
| 981 |
my $hold = Koha::Holds->find($reserve_id); |
979 |
my $hold = Koha::Holds->find($reserve_id); |
| 982 |
|
|
|
| 983 |
# get the priority on this record.... |
980 |
# get the priority on this record.... |
| 984 |
my $priority = $hold->priority; |
981 |
my $priority = $hold->priority; |
| 985 |
|
982 |
|
|
Lines 1795-1812
sub MoveReserve {
Link Here
|
| 1795 |
# The item is reserved by someone else. |
1792 |
# The item is reserved by someone else. |
| 1796 |
# Find this item in the reserves |
1793 |
# Find this item in the reserves |
| 1797 |
|
1794 |
|
| 1798 |
my $borr_res; |
1795 |
my $borr_res = Koha::Holds->search({ |
| 1799 |
foreach (@$all_reserves) { |
1796 |
borrowernumber => $borrowernumber, |
| 1800 |
$_->{'borrowernumber'} == $borrowernumber or next; |
1797 |
biblionumber => $biblionumber, |
| 1801 |
$_->{'biblionumber'} == $biblionumber or next; |
1798 |
},{ |
| 1802 |
|
1799 |
order_by => 'priority' |
| 1803 |
$borr_res = $_; |
1800 |
})->next(); |
| 1804 |
last; |
|
|
| 1805 |
} |
| 1806 |
|
1801 |
|
| 1807 |
if ( $borr_res ) { |
1802 |
if ( $borr_res ) { |
| 1808 |
# The item is reserved by the current patron |
1803 |
# The item is reserved by the current patron |
| 1809 |
ModReserveFill($borr_res); |
1804 |
ModReserveFill($borr_res->unblessed); |
| 1810 |
} |
1805 |
} |
| 1811 |
|
1806 |
|
| 1812 |
if ( $cancelreserve eq 'revert' ) { ## Revert waiting reserve to priority 1 |
1807 |
if ( $cancelreserve eq 'revert' ) { ## Revert waiting reserve to priority 1 |
| 1813 |
- |
|
|