Lines 104-110
BEGIN {
Link Here
|
104 |
&AddReserve |
104 |
&AddReserve |
105 |
|
105 |
|
106 |
&GetReserve |
106 |
&GetReserve |
107 |
&GetReservesFromItemnumber |
|
|
108 |
&GetReservesFromBorrowernumber |
107 |
&GetReservesFromBorrowernumber |
109 |
&GetReservesForBranch |
108 |
&GetReservesForBranch |
110 |
&GetReservesToBranch |
109 |
&GetReservesToBranch |
Lines 279-324
sub GetReserve {
Link Here
|
279 |
return $sth->fetchrow_hashref(); |
278 |
return $sth->fetchrow_hashref(); |
280 |
} |
279 |
} |
281 |
|
280 |
|
282 |
=head2 GetReservesFromItemnumber |
|
|
283 |
|
284 |
( $reservedate, $borrowernumber, $branchcode, $reserve_id, $waitingdate ) = GetReservesFromItemnumber($itemnumber); |
285 |
|
286 |
Get the first reserve for a specific item number (based on priority). Returns the abovementioned values for that reserve. |
287 |
|
288 |
The routine does not look at future reserves (read: item level holds), but DOES include future waits (a confirmed future hold). |
289 |
|
290 |
=cut |
291 |
|
292 |
sub GetReservesFromItemnumber { |
293 |
my ($itemnumber) = @_; |
294 |
|
295 |
my $schema = Koha::Database->new()->schema(); |
296 |
|
297 |
my $r = $schema->resultset('Reserve')->search( |
298 |
{ |
299 |
itemnumber => $itemnumber, |
300 |
suspend => 0, |
301 |
-or => [ |
302 |
reservedate => \'<= CAST( NOW() AS DATE )', |
303 |
waitingdate => { '!=', undef } |
304 |
] |
305 |
}, |
306 |
{ |
307 |
order_by => 'priority', |
308 |
} |
309 |
)->first(); |
310 |
|
311 |
return unless $r; |
312 |
|
313 |
return ( |
314 |
$r->reservedate(), |
315 |
$r->get_column('borrowernumber'), |
316 |
$r->get_column('branchcode'), |
317 |
$r->reserve_id(), |
318 |
$r->waitingdate(), |
319 |
); |
320 |
} |
321 |
|
322 |
=head2 GetReservesFromBorrowernumber |
281 |
=head2 GetReservesFromBorrowernumber |
323 |
|
282 |
|
324 |
$borrowerreserv = GetReservesFromBorrowernumber($borrowernumber,$tatus); |
283 |
$borrowerreserv = GetReservesFromBorrowernumber($borrowernumber,$tatus); |
325 |
- |
|
|