Lines 127-134
BEGIN {
Link Here
|
127 |
|
127 |
|
128 |
&IsAvailableForItemLevelRequest |
128 |
&IsAvailableForItemLevelRequest |
129 |
|
129 |
|
130 |
&OPACItemHoldsAllowed |
|
|
131 |
|
132 |
&AlterPriority |
130 |
&AlterPriority |
133 |
&ToggleLowestPriority |
131 |
&ToggleLowestPriority |
134 |
|
132 |
|
Lines 1752-1805
sub _ShiftPriorityByDateAndPriority {
Link Here
|
1752 |
return $new_priority; # so the caller knows what priority they wind up receiving |
1750 |
return $new_priority; # so the caller knows what priority they wind up receiving |
1753 |
} |
1751 |
} |
1754 |
|
1752 |
|
1755 |
=head2 OPACItemHoldsAllowed |
|
|
1756 |
|
1757 |
OPACItemHoldsAllowed($item_record,$borrower_record); |
1758 |
|
1759 |
Checks issuingrules, using the borrowers categorycode, the itemtype, and branchcode to see |
1760 |
if specific item holds are allowed, returns true if so. |
1761 |
|
1762 |
=cut |
1763 |
|
1764 |
sub OPACItemHoldsAllowed { |
1765 |
my ($item,$borrower) = @_; |
1766 |
|
1767 |
my $branchcode = $item->{homebranch} or die "No homebranch"; |
1768 |
my $itype; |
1769 |
my $dbh = C4::Context->dbh; |
1770 |
if (C4::Context->preference('item-level_itypes')) { |
1771 |
# We can't trust GetItem to honour the syspref, so safest to do it ourselves |
1772 |
# When GetItem is fixed, we can remove this |
1773 |
$itype = $item->{itype}; |
1774 |
} |
1775 |
else { |
1776 |
my $query = "SELECT itemtype FROM biblioitems WHERE biblioitemnumber = ? "; |
1777 |
my $sth = $dbh->prepare($query); |
1778 |
$sth->execute($item->{biblioitemnumber}); |
1779 |
if (my $data = $sth->fetchrow_hashref()){ |
1780 |
$itype = $data->{itemtype}; |
1781 |
} |
1782 |
} |
1783 |
|
1784 |
my $query = "SELECT opacitemholds,categorycode,itemtype,branchcode FROM issuingrules WHERE |
1785 |
(issuingrules.categorycode = ? OR issuingrules.categorycode = '*') |
1786 |
AND |
1787 |
(issuingrules.itemtype = ? OR issuingrules.itemtype = '*') |
1788 |
AND |
1789 |
(issuingrules.branchcode = ? OR issuingrules.branchcode = '*') |
1790 |
ORDER BY |
1791 |
issuingrules.categorycode desc, |
1792 |
issuingrules.itemtype desc, |
1793 |
issuingrules.branchcode desc |
1794 |
LIMIT 1"; |
1795 |
my $sth = $dbh->prepare($query); |
1796 |
$sth->execute($borrower->{categorycode},$itype,$branchcode); |
1797 |
my $data = $sth->fetchrow_hashref; |
1798 |
my $opacitemholds = uc substr ($data->{opacitemholds}, 0, 1); |
1799 |
return '' if $opacitemholds eq 'N'; |
1800 |
return $opacitemholds; |
1801 |
} |
1802 |
|
1803 |
=head2 MoveReserve |
1753 |
=head2 MoveReserve |
1804 |
|
1754 |
|
1805 |
MoveReserve( $itemnumber, $borrowernumber, $cancelreserve ) |
1755 |
MoveReserve( $itemnumber, $borrowernumber, $cancelreserve ) |
1806 |
- |
|
|