|
Lines 140-145
BEGIN {
Link Here
|
| 140 |
IsItemOnHoldAndFound |
140 |
IsItemOnHoldAndFound |
| 141 |
|
141 |
|
| 142 |
GetMaxPatronHoldsForRecord |
142 |
GetMaxPatronHoldsForRecord |
|
|
143 |
|
| 144 |
&AddReserveGroup |
| 145 |
&DeleteReserveGroup |
| 146 |
&GetReserveGroupReserves |
| 143 |
); |
147 |
); |
| 144 |
@EXPORT_OK = qw( MergeHolds ); |
148 |
@EXPORT_OK = qw( MergeHolds ); |
| 145 |
} |
149 |
} |
|
Lines 165-171
sub AddReserve {
Link Here
|
| 165 |
my ( |
169 |
my ( |
| 166 |
$branch, $borrowernumber, $biblionumber, $bibitems, |
170 |
$branch, $borrowernumber, $biblionumber, $bibitems, |
| 167 |
$priority, $resdate, $expdate, $notes, |
171 |
$priority, $resdate, $expdate, $notes, |
| 168 |
$title, $checkitem, $found, $itemtype |
172 |
$title, $checkitem, $found, $itemtype, |
|
|
173 |
$reserve_group_id |
| 169 |
) = @_; |
174 |
) = @_; |
| 170 |
|
175 |
|
| 171 |
$resdate = output_pref( { str => dt_from_string( $resdate ), dateonly => 1, dateformat => 'iso' }) |
176 |
$resdate = output_pref( { str => dt_from_string( $resdate ), dateonly => 1, dateformat => 'iso' }) |
|
Lines 203-208
sub AddReserve {
Link Here
|
| 203 |
waitingdate => $waitingdate, |
208 |
waitingdate => $waitingdate, |
| 204 |
expirationdate => $expdate, |
209 |
expirationdate => $expdate, |
| 205 |
itemtype => $itemtype, |
210 |
itemtype => $itemtype, |
|
|
211 |
reserve_group_id => $reserve_group_id, |
| 206 |
} |
212 |
} |
| 207 |
)->store(); |
213 |
)->store(); |
| 208 |
|
214 |
|
|
Lines 1010-1015
sub ModReserveAffect {
Link Here
|
| 1010 |
$hold->itemnumber($itemnumber); |
1016 |
$hold->itemnumber($itemnumber); |
| 1011 |
$hold->set_waiting($transferToDo); |
1017 |
$hold->set_waiting($transferToDo); |
| 1012 |
|
1018 |
|
|
|
1019 |
if ($hold->reserve_group_id) { |
| 1020 |
# Delete other reserves from same group |
| 1021 |
$dbh->do(q{ |
| 1022 |
DELETE FROM reserves |
| 1023 |
WHERE reserve_group_id = ? |
| 1024 |
AND reserve_id != ? |
| 1025 |
}, undef, $hold->reserve_group_id, $hold->reserve_id); |
| 1026 |
DeleteReserveGroup($hold->reserve_group_id); |
| 1027 |
} |
| 1028 |
|
| 1013 |
_koha_notify_reserve( $hold->reserve_id ) |
1029 |
_koha_notify_reserve( $hold->reserve_id ) |
| 1014 |
if ( !$transferToDo && !$already_on_shelf ); |
1030 |
if ( !$transferToDo && !$already_on_shelf ); |
| 1015 |
|
1031 |
|
|
Lines 2134-2139
sub GetHoldRule {
Link Here
|
| 2134 |
return $sth->fetchrow_hashref(); |
2150 |
return $sth->fetchrow_hashref(); |
| 2135 |
} |
2151 |
} |
| 2136 |
|
2152 |
|
|
|
2153 |
=head2 AddReserveGroup |
| 2154 |
|
| 2155 |
my $reserve_group_id = AddReserveGroup(); |
| 2156 |
|
| 2157 |
Creates a new reserve group and returns its ID |
| 2158 |
|
| 2159 |
=cut |
| 2160 |
|
| 2161 |
sub AddReserveGroup { |
| 2162 |
my $dbh = C4::Context->dbh; |
| 2163 |
|
| 2164 |
$dbh->do('INSERT INTO reserve_group VALUES ()'); |
| 2165 |
return $dbh->last_insert_id(undef, undef, 'reserve_group', undef); |
| 2166 |
} |
| 2167 |
|
| 2168 |
=head2 DeleteReserveGroup |
| 2169 |
|
| 2170 |
DeleteReserveGroup($reserve_group_id); |
| 2171 |
|
| 2172 |
Delete a reserve group. Reserves that belong to this group are not removed. |
| 2173 |
|
| 2174 |
=cut |
| 2175 |
|
| 2176 |
sub DeleteReserveGroup { |
| 2177 |
my ($reserve_group_id) = @_; |
| 2178 |
|
| 2179 |
my $dbh = C4::Context->dbh; |
| 2180 |
my $query = 'DELETE FROM reserve_group WHERE reserve_group_id = ?'; |
| 2181 |
$dbh->do($query, undef, $reserve_group_id); |
| 2182 |
} |
| 2183 |
|
| 2184 |
=head2 GetReserveGroupReserves |
| 2185 |
|
| 2186 |
my @reserves = GetReserveGroupReserves($reserve_group_id); |
| 2187 |
|
| 2188 |
Fetch all reserve from a reserve group. |
| 2189 |
|
| 2190 |
=cut |
| 2191 |
|
| 2192 |
sub GetReserveGroupReserves { |
| 2193 |
my ($reserve_group_id) = @_; |
| 2194 |
|
| 2195 |
my $dbh = C4::Context->dbh; |
| 2196 |
|
| 2197 |
my $reserves = $dbh->selectall_arrayref(q{ |
| 2198 |
SELECT * FROM reserves |
| 2199 |
WHERE reserve_group_id = ? |
| 2200 |
}, { Slice => {} }, $reserve_group_id); |
| 2201 |
|
| 2202 |
return () unless defined $reserves; |
| 2203 |
|
| 2204 |
return @$reserves; |
| 2205 |
} |
| 2206 |
|
| 2137 |
=head1 AUTHOR |
2207 |
=head1 AUTHOR |
| 2138 |
|
2208 |
|
| 2139 |
Koha Development Team <http://koha-community.org/> |
2209 |
Koha Development Team <http://koha-community.org/> |