Lines 117-125
BEGIN {
Link Here
|
117 |
|
117 |
|
118 |
&CheckReserves |
118 |
&CheckReserves |
119 |
&CanBookBeReserved |
119 |
&CanBookBeReserved |
120 |
&CanItemBeReserved |
120 |
&CanItemBeReserved |
121 |
&CancelReserve |
121 |
&CancelReserve |
122 |
&CancelReserveFromId |
|
|
123 |
&CancelExpiredReserves |
122 |
&CancelExpiredReserves |
124 |
|
123 |
|
125 |
&AutoUnsuspendReserves |
124 |
&AutoUnsuspendReserves |
Lines 1031-1116
sub CancelReserve {
Link Here
|
1031 |
return unless ( $reserve_id ); |
1030 |
return unless ( $reserve_id ); |
1032 |
|
1031 |
|
1033 |
my $dbh = C4::Context->dbh; |
1032 |
my $dbh = C4::Context->dbh; |
1034 |
|
|
|
1035 |
my $reserve = GetReserve( $reserve_id ); |
1033 |
my $reserve = GetReserve( $reserve_id ); |
1036 |
|
|
|
1037 |
my $query = " |
1038 |
UPDATE reserves |
1039 |
SET cancellationdate = now(), |
1040 |
found = Null, |
1041 |
priority = 0 |
1042 |
WHERE reserve_id = ? |
1043 |
"; |
1044 |
my $sth = $dbh->prepare($query); |
1045 |
$sth->execute( $reserve_id ); |
1046 |
|
1047 |
$query = " |
1048 |
INSERT INTO old_reserves |
1049 |
SELECT * FROM reserves |
1050 |
WHERE reserve_id = ? |
1051 |
"; |
1052 |
$sth = $dbh->prepare($query); |
1053 |
$sth->execute( $reserve_id ); |
1054 |
|
1055 |
$query = " |
1056 |
DELETE FROM reserves |
1057 |
WHERE reserve_id = ? |
1058 |
"; |
1059 |
$sth = $dbh->prepare($query); |
1060 |
$sth->execute( $reserve_id ); |
1061 |
|
1062 |
# now fix the priority on the others.... |
1063 |
_FixPriority({ biblionumber => $reserve->{biblionumber} }); |
1064 |
} |
1065 |
|
1066 |
=head2 CancelReserveFromId |
1067 |
|
1068 |
C4::Reserves::CancelReserveFromId($reserve_id); |
1069 |
|
1070 |
Cancel a reserve, given its reserve_id |
1071 |
|
1072 |
=cut |
1073 |
|
1074 |
sub CancelReserveFromId { |
1075 |
my ($reserve_id) = @_; |
1076 |
|
1077 |
my $reserve = GetReserve($reserve_id); |
1078 |
if ($reserve) { |
1034 |
if ($reserve) { |
1079 |
my $dbh = C4::Context->dbh; |
1035 |
my $query = " |
1080 |
|
|
|
1081 |
# update the database, removing the record... |
1082 |
my $query = qq{ |
1083 |
UPDATE reserves |
1036 |
UPDATE reserves |
1084 |
SET cancellationdate = NOW(), |
1037 |
SET cancellationdate = now(), |
1085 |
found = NULL, |
1038 |
found = Null, |
1086 |
priority = 0 |
1039 |
priority = 0 |
1087 |
WHERE reserve_id = ? |
1040 |
WHERE reserve_id = ? |
1088 |
}; |
1041 |
"; |
1089 |
my $sth = $dbh->prepare($query); |
1042 |
my $sth = $dbh->prepare($query); |
1090 |
$sth->execute($reserve_id); |
1043 |
$sth->execute( $reserve_id ); |
1091 |
$sth->finish; |
|
|
1092 |
|
1044 |
|
1093 |
$query = qq{ |
1045 |
$query = " |
1094 |
INSERT INTO old_reserves |
1046 |
DELETE FROM reserves |
1095 |
SELECT * FROM reserves |
1047 |
WHERE reserve_id = ? |
1096 |
WHERE reserve_id = ? |
1048 |
"; |
1097 |
}; |
|
|
1098 |
$sth = $dbh->prepare($query); |
1049 |
$sth = $dbh->prepare($query); |
1099 |
my $rv = $sth->execute($reserve_id); |
1050 |
$sth->execute( $reserve_id ); |
1100 |
|
|
|
1101 |
if ($rv) { |
1102 |
$query = qq{ |
1103 |
DELETE FROM reserves |
1104 |
WHERE reserve_id = ? |
1105 |
}; |
1106 |
$sth = $dbh->prepare($query); |
1107 |
$sth->execute($reserve_id); |
1108 |
} else { |
1109 |
warn "ERROR: Failed to move reserve $reserve_id to table old_reserves."; |
1110 |
return; |
1111 |
} |
1112 |
|
1051 |
|
1113 |
# now fix the priority on the others... |
1052 |
# now fix the priority on the others.... |
1114 |
_FixPriority({ biblionumber => $reserve->{biblionumber} }); |
1053 |
_FixPriority({ biblionumber => $reserve->{biblionumber} }); |
1115 |
} |
1054 |
} |
1116 |
|
1055 |
|