|
Lines 141-146
BEGIN {
Link Here
|
| 141 |
&GetReservesControlBranch |
141 |
&GetReservesControlBranch |
| 142 |
|
142 |
|
| 143 |
IsItemOnHoldAndFound |
143 |
IsItemOnHoldAndFound |
|
|
144 |
|
| 145 |
AddReserveGroup |
| 146 |
DeleteReserveGroup |
| 147 |
GetReserveGroupReserves |
| 144 |
); |
148 |
); |
| 145 |
@EXPORT_OK = qw( MergeHolds ); |
149 |
@EXPORT_OK = qw( MergeHolds ); |
| 146 |
} |
150 |
} |
|
Lines 165-171
sub AddReserve {
Link Here
|
| 165 |
my ( |
169 |
my ( |
| 166 |
$branch, $borrowernumber, $biblionumber, |
170 |
$branch, $borrowernumber, $biblionumber, |
| 167 |
$bibitems, $priority, $resdate, $expdate, $notes, |
171 |
$bibitems, $priority, $resdate, $expdate, $notes, |
| 168 |
$title, $checkitem, $found |
172 |
$title, $checkitem, $found, $reserve_group_id |
| 169 |
) = @_; |
173 |
) = @_; |
| 170 |
|
174 |
|
| 171 |
if ( Koha::Holds->search( { borrowernumber => $borrowernumber, biblionumber => $biblionumber } )->count() > 0 ) { |
175 |
if ( Koha::Holds->search( { borrowernumber => $borrowernumber, biblionumber => $biblionumber } )->count() > 0 ) { |
|
Lines 205-211
sub AddReserve {
Link Here
|
| 205 |
itemnumber => $checkitem, |
209 |
itemnumber => $checkitem, |
| 206 |
found => $found, |
210 |
found => $found, |
| 207 |
waitingdate => $waitingdate, |
211 |
waitingdate => $waitingdate, |
| 208 |
expirationdate => $expdate |
212 |
expirationdate => $expdate, |
|
|
213 |
reserve_group_id => $reserve_group_id, |
| 209 |
} |
214 |
} |
| 210 |
)->store(); |
215 |
)->store(); |
| 211 |
my $reserve_id = $hold->id(); |
216 |
my $reserve_id = $hold->id(); |
|
Lines 1341-1346
sub ModReserveAffect {
Link Here
|
| 1341 |
} |
1346 |
} |
| 1342 |
$sth = $dbh->prepare($query); |
1347 |
$sth = $dbh->prepare($query); |
| 1343 |
$sth->execute( $itemnumber, $borrowernumber,$biblionumber); |
1348 |
$sth->execute( $itemnumber, $borrowernumber,$biblionumber); |
|
|
1349 |
|
| 1350 |
if ($request->{reserve_group_id}) { |
| 1351 |
# Delete other reserves from same group |
| 1352 |
$dbh->do(q{ |
| 1353 |
DELETE FROM reserves |
| 1354 |
WHERE reserve_group_id = ? |
| 1355 |
AND reserve_id != ? |
| 1356 |
}, undef, $request->{reserve_group_id}, $request->{reserve_id}); |
| 1357 |
DeleteReserveGroup($request->{reserve_group_id}); |
| 1358 |
} |
| 1359 |
|
| 1344 |
_koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) if ( !$transferToDo && !$already_on_shelf ); |
1360 |
_koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) if ( !$transferToDo && !$already_on_shelf ); |
| 1345 |
_FixPriority( { biblionumber => $biblionumber } ); |
1361 |
_FixPriority( { biblionumber => $biblionumber } ); |
| 1346 |
if ( C4::Context->preference("ReturnToShelvingCart") ) { |
1362 |
if ( C4::Context->preference("ReturnToShelvingCart") ) { |
|
Lines 1420-1425
sub GetReserveInfo {
Link Here
|
| 1420 |
reminderdate, |
1436 |
reminderdate, |
| 1421 |
priority, |
1437 |
priority, |
| 1422 |
found, |
1438 |
found, |
|
|
1439 |
reserve_group_id, |
| 1423 |
firstname, |
1440 |
firstname, |
| 1424 |
surname, |
1441 |
surname, |
| 1425 |
phone, |
1442 |
phone, |
|
Lines 2450-2455
sub IsItemOnHoldAndFound {
Link Here
|
| 2450 |
return $found; |
2467 |
return $found; |
| 2451 |
} |
2468 |
} |
| 2452 |
|
2469 |
|
|
|
2470 |
=head2 AddReserveGroup |
| 2471 |
|
| 2472 |
my $reserve_group_id = AddReserveGroup(); |
| 2473 |
|
| 2474 |
Creates a new reserve group and returns its ID |
| 2475 |
|
| 2476 |
=cut |
| 2477 |
|
| 2478 |
sub AddReserveGroup { |
| 2479 |
my $dbh = C4::Context->dbh; |
| 2480 |
|
| 2481 |
$dbh->do('INSERT INTO reserve_group VALUES ()'); |
| 2482 |
return $dbh->last_insert_id(undef, undef, 'reserve_group', undef); |
| 2483 |
} |
| 2484 |
|
| 2485 |
=head2 DeleteReserveGroup |
| 2486 |
|
| 2487 |
DeleteReserveGroup($reserve_group_id); |
| 2488 |
|
| 2489 |
Delete a reserve group. Reserves that belong to this group are not removed. |
| 2490 |
|
| 2491 |
=cut |
| 2492 |
|
| 2493 |
sub DeleteReserveGroup { |
| 2494 |
my ($reserve_group_id) = @_; |
| 2495 |
|
| 2496 |
my $dbh = C4::Context->dbh; |
| 2497 |
my $query = 'DELETE FROM reserve_group WHERE reserve_group_id = ?'; |
| 2498 |
$dbh->do($query, undef, $reserve_group_id); |
| 2499 |
} |
| 2500 |
|
| 2501 |
=head2 GetReserveGroupReserves |
| 2502 |
|
| 2503 |
my @reserves = GetReserveGroupReserves($reserve_group_id); |
| 2504 |
|
| 2505 |
Fetch all reserve from a reserve group. |
| 2506 |
|
| 2507 |
=cut |
| 2508 |
|
| 2509 |
sub GetReserveGroupReserves { |
| 2510 |
my ($reserve_group_id) = @_; |
| 2511 |
|
| 2512 |
my $dbh = C4::Context->dbh; |
| 2513 |
|
| 2514 |
my $reserves = $dbh->selectall_arrayref(q{ |
| 2515 |
SELECT * FROM reserves |
| 2516 |
WHERE reserve_group_id = ? |
| 2517 |
}, { Slice => {} }, $reserve_group_id); |
| 2518 |
|
| 2519 |
return () unless defined $reserves; |
| 2520 |
|
| 2521 |
return @$reserves; |
| 2522 |
} |
| 2523 |
|
| 2453 |
=head1 AUTHOR |
2524 |
=head1 AUTHOR |
| 2454 |
|
2525 |
|
| 2455 |
Koha Development Team <http://koha-community.org/> |
2526 |
Koha Development Team <http://koha-community.org/> |