|
Lines 463-474
sub CanItemBeReserved{
Link Here
|
| 463 |
my ($borrowernumber, $itemnumber) = @_; |
463 |
my ($borrowernumber, $itemnumber) = @_; |
| 464 |
|
464 |
|
| 465 |
my $dbh = C4::Context->dbh; |
465 |
my $dbh = C4::Context->dbh; |
|
|
466 |
my $ruleitemtype; # itemtype of the matching issuing rule |
| 466 |
my $allowedreserves = 0; |
467 |
my $allowedreserves = 0; |
| 467 |
|
468 |
|
| 468 |
my $controlbranch = C4::Context->preference('ReservesControlBranch'); |
469 |
my $controlbranch = C4::Context->preference('ReservesControlBranch'); |
| 469 |
my $itype = C4::Context->preference('item-level_itypes') ? "itype" : "itemtype"; |
470 |
my $itemtypefield = C4::Context->preference('item-level_itypes') ? "itype" : "itemtype"; |
| 470 |
|
471 |
|
| 471 |
# we retrieve borrowers and items informations # |
472 |
# we retrieve borrowers and items informations |
|
|
473 |
# item->{itype} will come for biblioitems if necessery |
| 472 |
my $item = GetItem($itemnumber); |
474 |
my $item = GetItem($itemnumber); |
| 473 |
my $borrower = C4::Members::GetMember('borrowernumber'=>$borrowernumber); |
475 |
my $borrower = C4::Members::GetMember('borrowernumber'=>$borrowernumber); |
| 474 |
|
476 |
|
|
Lines 494-501
sub CanItemBeReserved{
Link Here
|
| 494 |
"; |
496 |
"; |
| 495 |
|
497 |
|
| 496 |
|
498 |
|
| 497 |
my $itemtype = $item->{$itype}; |
|
|
| 498 |
my $categorycode = $borrower->{categorycode}; |
| 499 |
my $branchcode = ""; |
499 |
my $branchcode = ""; |
| 500 |
my $branchfield = "reserves.branchcode"; |
500 |
my $branchfield = "reserves.branchcode"; |
| 501 |
|
501 |
|
|
Lines 508-532
sub CanItemBeReserved{
Link Here
|
| 508 |
} |
508 |
} |
| 509 |
|
509 |
|
| 510 |
# we retrieve rights |
510 |
# we retrieve rights |
| 511 |
$sth->execute($categorycode, $itemtype, $branchcode); |
511 |
$sth->execute($borrower->{'categorycode'}, $item->{'itype'}, $branchcode); |
| 512 |
if(my $rights = $sth->fetchrow_hashref()){ |
512 |
if(my $rights = $sth->fetchrow_hashref()){ |
| 513 |
$itemtype = $rights->{itemtype}; |
513 |
$ruleitemtype = $rights->{itemtype}; |
| 514 |
$allowedreserves = $rights->{reservesallowed}; |
514 |
$allowedreserves = $rights->{reservesallowed}; |
| 515 |
}else{ |
515 |
}else{ |
| 516 |
$itemtype = '*'; |
516 |
$ruleitemtype = '*'; |
| 517 |
} |
517 |
} |
| 518 |
|
518 |
|
| 519 |
# we retrieve count |
519 |
# we retrieve count |
| 520 |
|
520 |
|
| 521 |
$querycount .= "AND $branchfield = ?"; |
521 |
$querycount .= "AND $branchfield = ?"; |
| 522 |
|
522 |
|
| 523 |
$querycount .= " AND $itype = ?" if ($itemtype ne "*"); |
523 |
$querycount .= " AND $itemtypefield = ?" if ($ruleitemtype ne "*"); |
| 524 |
my $sthcount = $dbh->prepare($querycount); |
524 |
my $sthcount = $dbh->prepare($querycount); |
| 525 |
|
525 |
|
| 526 |
if($itemtype eq "*"){ |
526 |
if($ruleitemtype eq "*"){ |
| 527 |
$sthcount->execute($borrowernumber, $branchcode); |
527 |
$sthcount->execute($borrowernumber, $branchcode); |
| 528 |
}else{ |
528 |
}else{ |
| 529 |
$sthcount->execute($borrowernumber, $branchcode, $itemtype); |
529 |
$sthcount->execute($borrowernumber, $branchcode, $ruleitemtype); |
| 530 |
} |
530 |
} |
| 531 |
|
531 |
|
| 532 |
my $reservecount = "0"; |
532 |
my $reservecount = "0"; |
| 533 |
- |
|
|