|
Lines 138-143
BEGIN {
Link Here
|
| 138 |
IsItemOnHoldAndFound |
138 |
IsItemOnHoldAndFound |
| 139 |
|
139 |
|
| 140 |
GetMaxPatronHoldsForRecord |
140 |
GetMaxPatronHoldsForRecord |
|
|
141 |
|
| 142 |
&AddReserveGroup |
| 143 |
&DeleteReserveGroup |
| 144 |
&GetReserveGroupReserves |
| 141 |
); |
145 |
); |
| 142 |
@EXPORT_OK = qw( MergeHolds ); |
146 |
@EXPORT_OK = qw( MergeHolds ); |
| 143 |
} |
147 |
} |
|
Lines 163-169
sub AddReserve {
Link Here
|
| 163 |
my ( |
167 |
my ( |
| 164 |
$branch, $borrowernumber, $biblionumber, $bibitems, |
168 |
$branch, $borrowernumber, $biblionumber, $bibitems, |
| 165 |
$priority, $resdate, $expdate, $notes, |
169 |
$priority, $resdate, $expdate, $notes, |
| 166 |
$title, $checkitem, $found, $itemtype |
170 |
$title, $checkitem, $found, $itemtype, |
|
|
171 |
$reserve_group_id |
| 167 |
) = @_; |
172 |
) = @_; |
| 168 |
|
173 |
|
| 169 |
$resdate = output_pref( { str => dt_from_string( $resdate ), dateonly => 1, dateformat => 'iso' }) |
174 |
$resdate = output_pref( { str => dt_from_string( $resdate ), dateonly => 1, dateformat => 'iso' }) |
|
Lines 201-206
sub AddReserve {
Link Here
|
| 201 |
waitingdate => $waitingdate, |
206 |
waitingdate => $waitingdate, |
| 202 |
expirationdate => $expdate, |
207 |
expirationdate => $expdate, |
| 203 |
itemtype => $itemtype, |
208 |
itemtype => $itemtype, |
|
|
209 |
reserve_group_id => $reserve_group_id, |
| 204 |
} |
210 |
} |
| 205 |
)->store(); |
211 |
)->store(); |
| 206 |
|
212 |
|
|
Lines 1008-1013
sub ModReserveAffect {
Link Here
|
| 1008 |
$hold->itemnumber($itemnumber); |
1014 |
$hold->itemnumber($itemnumber); |
| 1009 |
$hold->set_waiting($transferToDo); |
1015 |
$hold->set_waiting($transferToDo); |
| 1010 |
|
1016 |
|
|
|
1017 |
if ($hold->reserve_group_id) { |
| 1018 |
# Delete other reserves from same group |
| 1019 |
$dbh->do(q{ |
| 1020 |
DELETE FROM reserves |
| 1021 |
WHERE reserve_group_id = ? |
| 1022 |
AND reserve_id != ? |
| 1023 |
}, undef, $hold->reserve_group_id, $hold->reserve_id); |
| 1024 |
DeleteReserveGroup($hold->reserve_group_id); |
| 1025 |
} |
| 1026 |
|
| 1011 |
_koha_notify_reserve( $hold->reserve_id ) |
1027 |
_koha_notify_reserve( $hold->reserve_id ) |
| 1012 |
if ( !$transferToDo && !$already_on_shelf ); |
1028 |
if ( !$transferToDo && !$already_on_shelf ); |
| 1013 |
|
1029 |
|
|
Lines 2064-2069
sub GetHoldRule {
Link Here
|
| 2064 |
return $sth->fetchrow_hashref(); |
2080 |
return $sth->fetchrow_hashref(); |
| 2065 |
} |
2081 |
} |
| 2066 |
|
2082 |
|
|
|
2083 |
=head2 AddReserveGroup |
| 2084 |
|
| 2085 |
my $reserve_group_id = AddReserveGroup(); |
| 2086 |
|
| 2087 |
Creates a new reserve group and returns its ID |
| 2088 |
|
| 2089 |
=cut |
| 2090 |
|
| 2091 |
sub AddReserveGroup { |
| 2092 |
my $dbh = C4::Context->dbh; |
| 2093 |
|
| 2094 |
$dbh->do('INSERT INTO reserve_group VALUES ()'); |
| 2095 |
return $dbh->last_insert_id(undef, undef, 'reserve_group', undef); |
| 2096 |
} |
| 2097 |
|
| 2098 |
=head2 DeleteReserveGroup |
| 2099 |
|
| 2100 |
DeleteReserveGroup($reserve_group_id); |
| 2101 |
|
| 2102 |
Delete a reserve group. Reserves that belong to this group are not removed. |
| 2103 |
|
| 2104 |
=cut |
| 2105 |
|
| 2106 |
sub DeleteReserveGroup { |
| 2107 |
my ($reserve_group_id) = @_; |
| 2108 |
|
| 2109 |
my $dbh = C4::Context->dbh; |
| 2110 |
my $query = 'DELETE FROM reserve_group WHERE reserve_group_id = ?'; |
| 2111 |
$dbh->do($query, undef, $reserve_group_id); |
| 2112 |
} |
| 2113 |
|
| 2114 |
=head2 GetReserveGroupReserves |
| 2115 |
|
| 2116 |
my @reserves = GetReserveGroupReserves($reserve_group_id); |
| 2117 |
|
| 2118 |
Fetch all reserve from a reserve group. |
| 2119 |
|
| 2120 |
=cut |
| 2121 |
|
| 2122 |
sub GetReserveGroupReserves { |
| 2123 |
my ($reserve_group_id) = @_; |
| 2124 |
|
| 2125 |
my $dbh = C4::Context->dbh; |
| 2126 |
|
| 2127 |
my $reserves = $dbh->selectall_arrayref(q{ |
| 2128 |
SELECT * FROM reserves |
| 2129 |
WHERE reserve_group_id = ? |
| 2130 |
}, { Slice => {} }, $reserve_group_id); |
| 2131 |
|
| 2132 |
return () unless defined $reserves; |
| 2133 |
|
| 2134 |
return @$reserves; |
| 2135 |
} |
| 2136 |
|
| 2067 |
=head1 AUTHOR |
2137 |
=head1 AUTHOR |
| 2068 |
|
2138 |
|
| 2069 |
Koha Development Team <http://koha-community.org/> |
2139 |
Koha Development Team <http://koha-community.org/> |