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

(-)a/C4/Reserves.pm (-9 / +17 lines)
Lines 421-433 sub CanItemBeReserved{ Link Here
421
    my $dbh             = C4::Context->dbh;
421
    my $dbh             = C4::Context->dbh;
422
    my $allowedreserves = 0;
422
    my $allowedreserves = 0;
423
            
423
            
424
    my $controlbranch = C4::Context->preference('ReservesControlBranch');
425
    my $itype         = C4::Context->preference('item-level_itypes') ? "itype" : "itemtype";
426
427
    # we retrieve borrowers and items informations #
424
    # we retrieve borrowers and items informations #
428
    my $item     = GetItem($itemnumber);
425
    my $item = GetItem($itemnumber);
426
   
427
    # If an item is damaged and we don't allow holds on damaged items, we can stop right here
428
    return 0 if ( $item->{damaged} && !C4::Context->preference('AllowHoldsOnDamagedItems') );
429
429
    my $borrower = C4::Members::GetMember('borrowernumber'=>$borrowernumber);     
430
    my $borrower = C4::Members::GetMember('borrowernumber'=>$borrowernumber);     
430
    
431
    
432
    my $controlbranch = C4::Context->preference('ReservesControlBranch');
433
    my $itype         = C4::Context->preference('item-level_itypes') ? "itype" : "itemtype";
434
431
    # we retrieve user rights on this itemtype and branchcode
435
    # we retrieve user rights on this itemtype and branchcode
432
    my $sth = $dbh->prepare("SELECT categorycode, itemtype, branchcode, reservesallowed 
436
    my $sth = $dbh->prepare("SELECT categorycode, itemtype, branchcode, reservesallowed 
433
                             FROM issuingrules 
437
                             FROM issuingrules 
Lines 809-815 sub CheckReserves { Link Here
809
           items.biblioitemnumber,
813
           items.biblioitemnumber,
810
           itemtypes.notforloan,
814
           itemtypes.notforloan,
811
           items.notforloan AS itemnotforloan,
815
           items.notforloan AS itemnotforloan,
812
           items.itemnumber
816
           items.itemnumber,
817
           items.damaged
813
           FROM   items
818
           FROM   items
814
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
819
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
815
           LEFT JOIN itemtypes   ON items.itype   = itemtypes.itemtype
820
           LEFT JOIN itemtypes   ON items.itype   = itemtypes.itemtype
Lines 821-827 sub CheckReserves { Link Here
821
           items.biblioitemnumber,
826
           items.biblioitemnumber,
822
           itemtypes.notforloan,
827
           itemtypes.notforloan,
823
           items.notforloan AS itemnotforloan,
828
           items.notforloan AS itemnotforloan,
824
           items.itemnumber
829
           items.itemnumber,
830
           items.damaged
825
           FROM   items
831
           FROM   items
826
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
832
           LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
827
           LEFT JOIN itemtypes   ON biblioitems.itemtype   = itemtypes.itemtype
833
           LEFT JOIN itemtypes   ON biblioitems.itemtype   = itemtypes.itemtype
Lines 837-849 sub CheckReserves { Link Here
837
        $sth->execute($barcode);
843
        $sth->execute($barcode);
838
    }
844
    }
839
    # note: we get the itemnumber because we might have started w/ just the barcode.  Now we know for sure we have it.
845
    # note: we get the itemnumber because we might have started w/ just the barcode.  Now we know for sure we have it.
840
    my ( $biblio, $bibitem, $notforloan_per_itemtype, $notforloan_per_item, $itemnumber ) = $sth->fetchrow_array;
846
    my ( $biblio, $bibitem, $notforloan_per_itemtype, $notforloan_per_item, $itemnumber, $damaged ) = $sth->fetchrow_array;
847
848
    return if ( $damaged && !C4::Context->preference('AllowHoldsOnDamagedItems') );
841
849
842
    return ( '' ) unless $itemnumber; # bail if we got nothing.
850
    return unless $itemnumber; # bail if we got nothing.
843
851
844
    # if item is not for loan it cannot be reserved either.....
852
    # if item is not for loan it cannot be reserved either.....
845
    #    execpt where items.notforloan < 0 :  This indicates the item is holdable. 
853
    #    execpt where items.notforloan < 0 :  This indicates the item is holdable. 
846
    return ( '' ) if  ( $notforloan_per_item > 0 ) or $notforloan_per_itemtype;
854
    return if  ( $notforloan_per_item > 0 ) or $notforloan_per_itemtype;
847
855
848
    # Find this item in the reserves
856
    # Find this item in the reserves
849
    my @reserves = _Findgroupreserve( $bibitem, $biblio, $itemnumber );
857
    my @reserves = _Findgroupreserve( $bibitem, $biblio, $itemnumber );
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-2 / +1 lines)
Lines 338-344 Circulation: Link Here
338
              choices:
338
              choices:
339
                  yes: Allow
339
                  yes: Allow
340
                  no: "Don't allow"
340
                  no: "Don't allow"
341
            - hold requests to be placed on damaged items.
341
            - hold requests to be placed on and filled by damaged items.
342
        -
342
        -
343
            - pref: AllowOnShelfHolds
343
            - pref: AllowOnShelfHolds
344
              choices:
344
              choices:
345
- 

Return to bug 10452