|
Lines 126-133
BEGIN {
Link Here
|
| 126 |
|
126 |
|
| 127 |
&IsAvailableForItemLevelRequest |
127 |
&IsAvailableForItemLevelRequest |
| 128 |
|
128 |
|
| 129 |
&OPACItemHoldsAllowed |
|
|
| 130 |
|
| 131 |
&AlterPriority |
129 |
&AlterPriority |
| 132 |
&ToggleLowestPriority |
130 |
&ToggleLowestPriority |
| 133 |
|
131 |
|
|
Lines 1716-1769
sub _ShiftPriorityByDateAndPriority {
Link Here
|
| 1716 |
return $new_priority; # so the caller knows what priority they wind up receiving |
1714 |
return $new_priority; # so the caller knows what priority they wind up receiving |
| 1717 |
} |
1715 |
} |
| 1718 |
|
1716 |
|
| 1719 |
=head2 OPACItemHoldsAllowed |
|
|
| 1720 |
|
| 1721 |
OPACItemHoldsAllowed($item_record,$borrower_record); |
| 1722 |
|
| 1723 |
Checks issuingrules, using the borrowers categorycode, the itemtype, and branchcode to see |
| 1724 |
if specific item holds are allowed, returns true if so. |
| 1725 |
|
| 1726 |
=cut |
| 1727 |
|
| 1728 |
sub OPACItemHoldsAllowed { |
| 1729 |
my ($item,$borrower) = @_; |
| 1730 |
|
| 1731 |
my $branchcode = $item->{homebranch} or die "No homebranch"; |
| 1732 |
my $itype; |
| 1733 |
my $dbh = C4::Context->dbh; |
| 1734 |
if (C4::Context->preference('item-level_itypes')) { |
| 1735 |
# We can't trust GetItem to honour the syspref, so safest to do it ourselves |
| 1736 |
# When GetItem is fixed, we can remove this |
| 1737 |
$itype = $item->{itype}; |
| 1738 |
} |
| 1739 |
else { |
| 1740 |
my $query = "SELECT itemtype FROM biblioitems WHERE biblioitemnumber = ? "; |
| 1741 |
my $sth = $dbh->prepare($query); |
| 1742 |
$sth->execute($item->{biblioitemnumber}); |
| 1743 |
if (my $data = $sth->fetchrow_hashref()){ |
| 1744 |
$itype = $data->{itemtype}; |
| 1745 |
} |
| 1746 |
} |
| 1747 |
|
| 1748 |
my $query = "SELECT opacitemholds,categorycode,itemtype,branchcode FROM issuingrules WHERE |
| 1749 |
(issuingrules.categorycode = ? OR issuingrules.categorycode = '*') |
| 1750 |
AND |
| 1751 |
(issuingrules.itemtype = ? OR issuingrules.itemtype = '*') |
| 1752 |
AND |
| 1753 |
(issuingrules.branchcode = ? OR issuingrules.branchcode = '*') |
| 1754 |
ORDER BY |
| 1755 |
issuingrules.categorycode desc, |
| 1756 |
issuingrules.itemtype desc, |
| 1757 |
issuingrules.branchcode desc |
| 1758 |
LIMIT 1"; |
| 1759 |
my $sth = $dbh->prepare($query); |
| 1760 |
$sth->execute($borrower->{categorycode},$itype,$branchcode); |
| 1761 |
my $data = $sth->fetchrow_hashref; |
| 1762 |
my $opacitemholds = uc substr ($data->{opacitemholds}, 0, 1); |
| 1763 |
return '' if $opacitemholds eq 'N'; |
| 1764 |
return $opacitemholds; |
| 1765 |
} |
| 1766 |
|
| 1767 |
=head2 MoveReserve |
1717 |
=head2 MoveReserve |
| 1768 |
|
1718 |
|
| 1769 |
MoveReserve( $itemnumber, $borrowernumber, $cancelreserve ) |
1719 |
MoveReserve( $itemnumber, $borrowernumber, $cancelreserve ) |
| 1770 |
- |
|
|