|
Lines 120-126
BEGIN {
Link Here
|
| 120 |
&CanBookBeReserved |
120 |
&CanBookBeReserved |
| 121 |
&CanItemBeReserved |
121 |
&CanItemBeReserved |
| 122 |
&CancelReserve |
122 |
&CancelReserve |
| 123 |
&CancelReserveFromId |
|
|
| 124 |
&CancelExpiredReserves |
123 |
&CancelExpiredReserves |
| 125 |
|
124 |
|
| 126 |
&AutoUnsuspendReserves |
125 |
&AutoUnsuspendReserves |
|
Lines 1062-1152
sub CancelReserve {
Link Here
|
| 1062 |
my $dbh = C4::Context->dbh; |
1061 |
my $dbh = C4::Context->dbh; |
| 1063 |
|
1062 |
|
| 1064 |
my $reserve = GetReserve( $reserve_id ); |
1063 |
my $reserve = GetReserve( $reserve_id ); |
| 1065 |
|
|
|
| 1066 |
my $query = " |
| 1067 |
UPDATE reserves |
| 1068 |
SET cancellationdate = now(), |
| 1069 |
found = Null, |
| 1070 |
priority = 0 |
| 1071 |
WHERE reserve_id = ? |
| 1072 |
"; |
| 1073 |
my $sth = $dbh->prepare($query); |
| 1074 |
$sth->execute( $reserve_id ); |
| 1075 |
|
| 1076 |
$query = " |
| 1077 |
INSERT INTO old_reserves |
| 1078 |
SELECT * FROM reserves |
| 1079 |
WHERE reserve_id = ? |
| 1080 |
"; |
| 1081 |
$sth = $dbh->prepare($query); |
| 1082 |
$sth->execute( $reserve_id ); |
| 1083 |
|
| 1084 |
$query = " |
| 1085 |
DELETE FROM reserves |
| 1086 |
WHERE reserve_id = ? |
| 1087 |
"; |
| 1088 |
$sth = $dbh->prepare($query); |
| 1089 |
$sth->execute( $reserve_id ); |
| 1090 |
|
| 1091 |
# now fix the priority on the others.... |
| 1092 |
_FixPriority({ biblionumber => $reserve->{biblionumber} }); |
| 1093 |
} |
| 1094 |
|
| 1095 |
=head2 CancelReserveFromId |
| 1096 |
|
| 1097 |
C4::Reserves::CancelReserveFromId($reserve_id); |
| 1098 |
|
| 1099 |
Cancel a reserve, given its reserve_id |
| 1100 |
|
| 1101 |
=cut |
| 1102 |
|
| 1103 |
sub CancelReserveFromId { |
| 1104 |
my ($reserve_id) = @_; |
| 1105 |
|
| 1106 |
my $reserve = GetReserve($reserve_id); |
| 1107 |
if ($reserve) { |
1064 |
if ($reserve) { |
| 1108 |
my $dbh = C4::Context->dbh; |
1065 |
my $query = " |
| 1109 |
|
|
|
| 1110 |
# update the database, removing the record... |
| 1111 |
my $query = qq{ |
| 1112 |
UPDATE reserves |
1066 |
UPDATE reserves |
| 1113 |
SET cancellationdate = NOW(), |
1067 |
SET cancellationdate = now(), |
| 1114 |
found = NULL, |
1068 |
found = Null, |
| 1115 |
priority = 0 |
1069 |
priority = 0 |
| 1116 |
WHERE reserve_id = ? |
1070 |
WHERE reserve_id = ? |
| 1117 |
}; |
1071 |
"; |
| 1118 |
my $sth = $dbh->prepare($query); |
1072 |
my $sth = $dbh->prepare($query); |
| 1119 |
$sth->execute($reserve_id); |
1073 |
$sth->execute( $reserve_id ); |
| 1120 |
$sth->finish; |
|
|
| 1121 |
|
1074 |
|
| 1122 |
$query = qq{ |
1075 |
$query = " |
| 1123 |
INSERT INTO old_reserves |
1076 |
INSERT INTO old_reserves |
| 1124 |
SELECT * FROM reserves |
1077 |
SELECT * FROM reserves |
| 1125 |
WHERE reserve_id = ? |
1078 |
WHERE reserve_id = ? |
| 1126 |
}; |
1079 |
"; |
| 1127 |
$sth = $dbh->prepare($query); |
1080 |
$sth = $dbh->prepare($query); |
| 1128 |
my $rv = $sth->execute($reserve_id); |
1081 |
$sth->execute( $reserve_id ); |
| 1129 |
|
|
|
| 1130 |
if ($rv) { |
| 1131 |
$query = qq{ |
| 1132 |
DELETE FROM reserves |
| 1133 |
WHERE reserve_id = ? |
| 1134 |
}; |
| 1135 |
$sth = $dbh->prepare($query); |
| 1136 |
$sth->execute($reserve_id); |
| 1137 |
} else { |
| 1138 |
warn "ERROR: Failed to move reserve $reserve_id to table old_reserves."; |
| 1139 |
return; |
| 1140 |
} |
| 1141 |
|
1082 |
|
| 1142 |
# now fix the priority on the others... |
1083 |
$query = " |
|
|
1084 |
DELETE FROM reserves |
| 1085 |
WHERE reserve_id = ? |
| 1086 |
"; |
| 1087 |
$sth = $dbh->prepare($query); |
| 1088 |
$sth->execute( $reserve_id ); |
| 1089 |
|
| 1090 |
# now fix the priority on the others.... |
| 1143 |
_FixPriority({ biblionumber => $reserve->{biblionumber} }); |
1091 |
_FixPriority({ biblionumber => $reserve->{biblionumber} }); |
| 1144 |
} |
1092 |
} |
| 1145 |
|
1093 |
|
| 1146 |
return $reserve; |
1094 |
return $reserve; |
| 1147 |
} |
1095 |
} |
| 1148 |
|
1096 |
|
| 1149 |
|
|
|
| 1150 |
=head2 ModReserve |
1097 |
=head2 ModReserve |
| 1151 |
|
1098 |
|
| 1152 |
ModReserve({ rank => $rank, |
1099 |
ModReserve({ rank => $rank, |