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/> |