https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13654

--- Comment #19 from David Cook <[email protected]> ---
Actually... looking at this one again...

It's gated off ReservableItems... which is populated based off this:

my $holdable_items = $biblio->items->filter_by_for_hold->count;
my $can_holds_be_placed = $patron ? 0 : $holdable_items;

So actually... if you have "OpacMaxItemsToDisplay" active on a record, "Place
hold" WILL appear if you're not logged in (if it's widely holdable). But if
WILL NOT appear if you're logged in.

Honestly, I think you could just use $holdable_items to populate
$can_holds_by_placed if the threshold for "OpacMaxItemsToDisplay" is met even
if you're logged in.

But... technically that's wrong too. 

For instance, if an item is holdable for STAFF but not for the general public,
and you're logged in as STAFF and "OpacMaxItemsToDisplay" is active on the
record, "Place hold" won't appear even with the above "fix" since
$holdable_items is based off the circ rules that don't include branch and
categorycode. 

So to do get an accurate determination... we'd either have to loop all the
items in opac-detail.pl for holdability or do the async API call.

I've waffled on the performance impact of looping through a large number of
items for holdability. Sometimes it seems like it's a huge performance impact
and other times it seems not great but not the worst thing ever. 

--

Overall, all things holdings/items needs a re-work to be more scalable
really...

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to