|
Lines 103-108
BEGIN {
Link Here
|
| 103 |
&GetReserveFee |
103 |
&GetReserveFee |
| 104 |
&GetReserveInfo |
104 |
&GetReserveInfo |
| 105 |
&GetReserveStatus |
105 |
&GetReserveStatus |
|
|
106 |
&GetReserve |
| 106 |
|
107 |
|
| 107 |
&GetOtherReserves |
108 |
&GetOtherReserves |
| 108 |
|
109 |
|
|
Lines 118-123
BEGIN {
Link Here
|
| 118 |
&CanBookBeReserved |
119 |
&CanBookBeReserved |
| 119 |
&CanItemBeReserved |
120 |
&CanItemBeReserved |
| 120 |
&CancelReserve |
121 |
&CancelReserve |
|
|
122 |
&CancelReserveFromId |
| 121 |
&CancelExpiredReserves |
123 |
&CancelExpiredReserves |
| 122 |
|
124 |
|
| 123 |
&AutoUnsuspendReserves |
125 |
&AutoUnsuspendReserves |
|
Lines 260-266
sub GetReservesFromBiblionumber {
Link Here
|
| 260 |
|
262 |
|
| 261 |
# Find the desired items in the reserves |
263 |
# Find the desired items in the reserves |
| 262 |
my $query = " |
264 |
my $query = " |
| 263 |
SELECT branchcode, |
265 |
SELECT reserve_id, |
|
|
266 |
branchcode, |
| 264 |
timestamp AS rtimestamp, |
267 |
timestamp AS rtimestamp, |
| 265 |
priority, |
268 |
priority, |
| 266 |
biblionumber, |
269 |
biblionumber, |
|
Lines 747-752
sub GetReserveStatus {
Link Here
|
| 747 |
return $found; |
750 |
return $found; |
| 748 |
} |
751 |
} |
| 749 |
|
752 |
|
|
|
753 |
=head2 GetReserve |
| 754 |
|
| 755 |
my $reserve = C4::Reserves::GetReserve($reserve_id); |
| 756 |
|
| 757 |
Take a reserve_id and returns a hashref containing reserve informations. |
| 758 |
Return undef if reserve_id doesn't exist. |
| 759 |
|
| 760 |
=cut |
| 761 |
|
| 762 |
sub GetReserve { |
| 763 |
my ($reserve_id) = @_; |
| 764 |
|
| 765 |
return unless $reserve_id; |
| 766 |
|
| 767 |
my $dbh = C4::Context->dbh; |
| 768 |
my $query = qq{ |
| 769 |
SELECT * |
| 770 |
FROM reserves |
| 771 |
WHERE reserve_id = ? |
| 772 |
}; |
| 773 |
my $sth = $dbh->prepare($query); |
| 774 |
|
| 775 |
$sth->execute($reserve_id); |
| 776 |
my $reserve = $sth->fetchrow_hashref; |
| 777 |
|
| 778 |
return $reserve; |
| 779 |
} |
| 780 |
|
| 750 |
=head2 CheckReserves |
781 |
=head2 CheckReserves |
| 751 |
|
782 |
|
| 752 |
($status, $reserve, $all_reserves) = &CheckReserves($itemnumber); |
783 |
($status, $reserve, $all_reserves) = &CheckReserves($itemnumber); |
|
Lines 1023-1028
sub CancelReserve {
Link Here
|
| 1023 |
} |
1054 |
} |
| 1024 |
} |
1055 |
} |
| 1025 |
|
1056 |
|
|
|
1057 |
=head2 CancelReserveFromId |
| 1058 |
|
| 1059 |
C4::Reserves::CancelReserveFromId($reserve_id); |
| 1060 |
|
| 1061 |
Cancel a reserve, given its reserve_id |
| 1062 |
|
| 1063 |
=cut |
| 1064 |
|
| 1065 |
sub CancelReserveFromId { |
| 1066 |
my ($reserve_id) = @_; |
| 1067 |
|
| 1068 |
my $reserve = GetReserve($reserve_id); |
| 1069 |
if ($reserve) { |
| 1070 |
my $dbh = C4::Context->dbh; |
| 1071 |
|
| 1072 |
# update the database, removing the record... |
| 1073 |
my $query = qq{ |
| 1074 |
UPDATE reserves |
| 1075 |
SET cancellationdate = NOW(), |
| 1076 |
found = NULL, |
| 1077 |
priority = 0 |
| 1078 |
WHERE reserve_id = ? |
| 1079 |
}; |
| 1080 |
my $sth = $dbh->prepare($query); |
| 1081 |
$sth->execute($reserve_id); |
| 1082 |
$sth->finish; |
| 1083 |
|
| 1084 |
$query = qq{ |
| 1085 |
INSERT INTO old_reserves |
| 1086 |
SELECT * FROM reserves |
| 1087 |
WHERE reserve_id = ? |
| 1088 |
}; |
| 1089 |
$sth = $dbh->prepare($query); |
| 1090 |
$sth->execute($reserve_id); |
| 1091 |
|
| 1092 |
$query = qq{ |
| 1093 |
DELETE FROM reserves |
| 1094 |
WHERE reserve_id = ? |
| 1095 |
}; |
| 1096 |
$sth = $dbh->prepare($query); |
| 1097 |
$sth->execute($reserve_id); |
| 1098 |
|
| 1099 |
# now fix the priority on the others... |
| 1100 |
_FixPriority( $reserve->{biblionumber}, $reserve->{borrowernumber} ); |
| 1101 |
} |
| 1102 |
|
| 1103 |
return $reserve; |
| 1104 |
} |
| 1105 |
|
| 1106 |
|
| 1026 |
=head2 ModReserve |
1107 |
=head2 ModReserve |
| 1027 |
|
1108 |
|
| 1028 |
ModReserve($rank, $biblio, $borrower, $branch[, $itemnumber]) |
1109 |
ModReserve($rank, $biblio, $borrower, $branch[, $itemnumber]) |
| 1029 |
- |
|
|