From eb51cbfc332a7a935b48c223de9d7a8b80be62d2 Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Mon, 7 Mar 2011 01:32:32 +0100 Subject: [PATCH] Bug 5834: Holds link missing when 942$c is not for loan Content-Type: text/plain; charset="utf-8" Adds a check for item-level_itypes system preference. To test: 1) Set item-level_itypes to 'specific item' 2) Create record and set 942$c to an itype that is marked not for loan 3) Create item with itype not marked 'not for loan' Current behaviour: Holds link is not shown, sys pref setting doesn't matter After patch: Holds link is shown - when item-level_itype is 'specific item' - when item-level_itype is 'biblio record' and 942$c itype is for loan Holds link is not shown - when item-level_itype is 'biblio record' and 942$c is not for loan --- C4/Search.pm | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/C4/Search.pm b/C4/Search.pm index 26dc67f..1b8a211 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -1690,9 +1690,12 @@ sub searchResults { $search_context); } - # last check for norequest : if itemtype is notforloan, it can't be reserved either, whatever the items - $can_place_holds = 0 - if $itemtypes{ $oldbiblio->{itemtype} }->{notforloan}; + # if biblio level itypes are used and itemtype is notforloan, it can't be reserved either + if (!C4::Context->preference("item-level_itypes")) { + if ($itemtypes{ $oldbiblio->{itemtype} }->{notforloan}) { + $can_place_holds = 0; + } + } $oldbiblio->{norequests} = 1 unless $can_place_holds; $oldbiblio->{itemsplural} = 1 if $items_count > 1; $oldbiblio->{items_count} = $items_count; -- 1.7.1