From 76884872b3247712b0c3ad79cb10cc83c4f3435c Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Mon, 7 Mar 2011 01:32:32 +0100 Subject: [PATCH] [SIGNED OFF] 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. Note that this only applies to the search results screens. 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 Signed-off-by: Jared Camins-Esakov --- C4/Search.pm | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/C4/Search.pm b/C4/Search.pm index 52939bd..53c8396 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -1696,9 +1696,12 @@ sub searchResults { } - # 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.2.3