View | Details | Raw Unified | Return to bug 10452
Collapse All | Expand All

(-)a/C4/Reserves.pm (-9 / +17 lines)
Lines 452-464 sub CanItemBeReserved{ Link Here
452
    my $dbh             = C4::Context->dbh;
452
    my $dbh             = C4::Context->dbh;
453
    my $allowedreserves = 0;
453
    my $allowedreserves = 0;
454
            
454
            
455
    my $controlbranch = C4::Context->preference('ReservesControlBranch');
456
    my $itype         = C4::Context->preference('item-level_itypes') ? "itype" : "itemtype";
457
458
    # we retrieve borrowers and items informations #
455
    # we retrieve borrowers and items informations #
459
    my $item     = GetItem($itemnumber);
456
    my $item = GetItem($itemnumber);
457
458
    # If an item is damaged and we don't allow holds on damaged items, we can stop right here
459
    return 0 if ( $item->{damaged} && !C4::Context->preference('AllowHoldsOnDamagedItems') );
460
460
    my $borrower = C4::Members::GetMember('borrowernumber'=>$borrowernumber);     
461
    my $borrower = C4::Members::GetMember('borrowernumber'=>$borrowernumber);     
461
    
462
    
463
    my $controlbranch = C4::Context->preference('ReservesControlBranch');
464
    my $itype         = C4::Context->preference('item-level_itypes') ? "itype" : "itemtype";
465
462
    # we retrieve user rights on this itemtype and branchcode
466
    # we retrieve user rights on this itemtype and branchcode
463
    my $sth = $dbh->prepare("SELECT categorycode, itemtype, branchcode, reservesallowed 
467
    my $sth = $dbh->prepare("SELECT categorycode, itemtype, branchcode, reservesallowed 
464
                             FROM issuingrules 
468
                             FROM issuingrules 
Lines 856-862 sub CheckReserves { Link Here
856
           items.biblioitemnumber,
860
           items.biblioitemnumber,
857
           itemtypes.notforloan,
861
           itemtypes.notforloan,
858
           items.notforloan AS itemnotforloan,
862
           items.notforloan AS itemnotforloan,
859
           items.itemnumber
863
           items.itemnumber,
864
           items.damaged
860
           FROM   items
865
           FROM   items
861
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
866
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
862
           LEFT JOIN itemtypes   ON items.itype   = itemtypes.itemtype
867
           LEFT JOIN itemtypes   ON items.itype   = itemtypes.itemtype
Lines 868-874 sub CheckReserves { Link Here
868
           items.biblioitemnumber,
873
           items.biblioitemnumber,
869
           itemtypes.notforloan,
874
           itemtypes.notforloan,
870
           items.notforloan AS itemnotforloan,
875
           items.notforloan AS itemnotforloan,
871
           items.itemnumber
876
           items.itemnumber,
877
           items.damaged
872
           FROM   items
878
           FROM   items
873
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
879
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
874
           LEFT JOIN itemtypes   ON biblioitems.itemtype   = itemtypes.itemtype
880
           LEFT JOIN itemtypes   ON biblioitems.itemtype   = itemtypes.itemtype
Lines 884-896 sub CheckReserves { Link Here
884
        $sth->execute($barcode);
890
        $sth->execute($barcode);
885
    }
891
    }
886
    # note: we get the itemnumber because we might have started w/ just the barcode.  Now we know for sure we have it.
892
    # note: we get the itemnumber because we might have started w/ just the barcode.  Now we know for sure we have it.
887
    my ( $biblio, $bibitem, $notforloan_per_itemtype, $notforloan_per_item, $itemnumber ) = $sth->fetchrow_array;
893
    my ( $biblio, $bibitem, $notforloan_per_itemtype, $notforloan_per_item, $itemnumber, $damaged ) = $sth->fetchrow_array;
894
895
    return if ( $damaged && !C4::Context->preference('AllowHoldsOnDamagedItems') );
888
896
889
    return ( '' ) unless $itemnumber; # bail if we got nothing.
897
    return unless $itemnumber; # bail if we got nothing.
890
898
891
    # if item is not for loan it cannot be reserved either.....
899
    # if item is not for loan it cannot be reserved either.....
892
    #    execpt where items.notforloan < 0 :  This indicates the item is holdable. 
900
    #    execpt where items.notforloan < 0 :  This indicates the item is holdable. 
893
    return ( '' ) if  ( $notforloan_per_item > 0 ) or $notforloan_per_itemtype;
901
    return if  ( $notforloan_per_item > 0 ) or $notforloan_per_itemtype;
894
902
895
    # Find this item in the reserves
903
    # Find this item in the reserves
896
    my @reserves = _Findgroupreserve( $bibitem, $biblio, $itemnumber, $lookahead_days);
904
    my @reserves = _Findgroupreserve( $bibitem, $biblio, $itemnumber, $lookahead_days);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-2 / +1 lines)
Lines 363-369 Circulation: Link Here
363
              choices:
363
              choices:
364
                  yes: Allow
364
                  yes: Allow
365
                  no: "Don't allow"
365
                  no: "Don't allow"
366
            - hold requests to be placed on damaged items.
366
            - hold requests to be placed on and filled by damaged items.
367
        -
367
        -
368
            - pref: AllowOnShelfHolds
368
            - pref: AllowOnShelfHolds
369
              choices:
369
              choices:
370
- 

Return to bug 10452