Lines 148-153
BEGIN {
Link Here
|
148 |
IsItemOnHoldAndFound |
148 |
IsItemOnHoldAndFound |
149 |
|
149 |
|
150 |
GetMaxPatronHoldsForRecord |
150 |
GetMaxPatronHoldsForRecord |
|
|
151 |
|
152 |
&AddReserveGroup |
153 |
&DeleteReserveGroup |
154 |
&GetReserveGroupReserves |
151 |
); |
155 |
); |
152 |
@EXPORT_OK = qw( MergeHolds ); |
156 |
@EXPORT_OK = qw( MergeHolds ); |
153 |
} |
157 |
} |
Lines 172-178
sub AddReserve {
Link Here
|
172 |
my ( |
176 |
my ( |
173 |
$branch, $borrowernumber, $biblionumber, $bibitems, |
177 |
$branch, $borrowernumber, $biblionumber, $bibitems, |
174 |
$priority, $resdate, $expdate, $notes, |
178 |
$priority, $resdate, $expdate, $notes, |
175 |
$title, $checkitem, $found, $itemtype |
179 |
$title, $checkitem, $found, $itemtype, |
|
|
180 |
$reserve_group_id |
176 |
) = @_; |
181 |
) = @_; |
177 |
|
182 |
|
178 |
$resdate = output_pref( { str => dt_from_string( $resdate ), dateonly => 1, dateformat => 'iso' }) |
183 |
$resdate = output_pref( { str => dt_from_string( $resdate ), dateonly => 1, dateformat => 'iso' }) |
Lines 210-215
sub AddReserve {
Link Here
|
210 |
waitingdate => $waitingdate, |
215 |
waitingdate => $waitingdate, |
211 |
expirationdate => $expdate, |
216 |
expirationdate => $expdate, |
212 |
itemtype => $itemtype, |
217 |
itemtype => $itemtype, |
|
|
218 |
reserve_group_id => $reserve_group_id, |
213 |
} |
219 |
} |
214 |
)->store(); |
220 |
)->store(); |
215 |
|
221 |
|
Lines 1346-1351
sub ModReserveAffect {
Link Here
|
1346 |
} |
1352 |
} |
1347 |
$hold->store(); |
1353 |
$hold->store(); |
1348 |
|
1354 |
|
|
|
1355 |
if ($hold->reserve_group_id) { |
1356 |
# Delete other reserves from same group |
1357 |
$dbh->do(q{ |
1358 |
DELETE FROM reserves |
1359 |
WHERE reserve_group_id = ? |
1360 |
AND reserve_id != ? |
1361 |
}, undef, $hold->reserve_group_id, $hold->reserve_id); |
1362 |
DeleteReserveGroup($hold->reserve_group_id); |
1363 |
} |
1364 |
|
1349 |
_koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) |
1365 |
_koha_notify_reserve( $itemnumber, $borrowernumber, $biblionumber ) |
1350 |
if ( !$transferToDo && !$already_on_shelf ); |
1366 |
if ( !$transferToDo && !$already_on_shelf ); |
1351 |
|
1367 |
|
Lines 1428-1433
sub GetReserveInfo {
Link Here
|
1428 |
reminderdate, |
1444 |
reminderdate, |
1429 |
priority, |
1445 |
priority, |
1430 |
found, |
1446 |
found, |
|
|
1447 |
reserve_group_id, |
1431 |
firstname, |
1448 |
firstname, |
1432 |
surname, |
1449 |
surname, |
1433 |
phone, |
1450 |
phone, |
Lines 2539-2544
sub GetHoldRule {
Link Here
|
2539 |
return $sth->fetchrow_hashref(); |
2556 |
return $sth->fetchrow_hashref(); |
2540 |
} |
2557 |
} |
2541 |
|
2558 |
|
|
|
2559 |
=head2 AddReserveGroup |
2560 |
|
2561 |
my $reserve_group_id = AddReserveGroup(); |
2562 |
|
2563 |
Creates a new reserve group and returns its ID |
2564 |
|
2565 |
=cut |
2566 |
|
2567 |
sub AddReserveGroup { |
2568 |
my $dbh = C4::Context->dbh; |
2569 |
|
2570 |
$dbh->do('INSERT INTO reserve_group VALUES ()'); |
2571 |
return $dbh->last_insert_id(undef, undef, 'reserve_group', undef); |
2572 |
} |
2573 |
|
2574 |
=head2 DeleteReserveGroup |
2575 |
|
2576 |
DeleteReserveGroup($reserve_group_id); |
2577 |
|
2578 |
Delete a reserve group. Reserves that belong to this group are not removed. |
2579 |
|
2580 |
=cut |
2581 |
|
2582 |
sub DeleteReserveGroup { |
2583 |
my ($reserve_group_id) = @_; |
2584 |
|
2585 |
my $dbh = C4::Context->dbh; |
2586 |
my $query = 'DELETE FROM reserve_group WHERE reserve_group_id = ?'; |
2587 |
$dbh->do($query, undef, $reserve_group_id); |
2588 |
} |
2589 |
|
2590 |
=head2 GetReserveGroupReserves |
2591 |
|
2592 |
my @reserves = GetReserveGroupReserves($reserve_group_id); |
2593 |
|
2594 |
Fetch all reserve from a reserve group. |
2595 |
|
2596 |
=cut |
2597 |
|
2598 |
sub GetReserveGroupReserves { |
2599 |
my ($reserve_group_id) = @_; |
2600 |
|
2601 |
my $dbh = C4::Context->dbh; |
2602 |
|
2603 |
my $reserves = $dbh->selectall_arrayref(q{ |
2604 |
SELECT * FROM reserves |
2605 |
WHERE reserve_group_id = ? |
2606 |
}, { Slice => {} }, $reserve_group_id); |
2607 |
|
2608 |
return () unless defined $reserves; |
2609 |
|
2610 |
return @$reserves; |
2611 |
} |
2612 |
|
2542 |
=head1 AUTHOR |
2613 |
=head1 AUTHOR |
2543 |
|
2614 |
|
2544 |
Koha Development Team <http://koha-community.org/> |
2615 |
Koha Development Team <http://koha-community.org/> |