From 1fd02ceb24949da2efdb7f1d083e374ada4af668 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 12 May 2023 15:47:02 -0300 Subject: [PATCH] Bug 32129: (QA follow-up) Avoid duplicate calculation This patch stores the output from ->check_recall() (a Koha::Recall object or undef) and reuses afterwards, on a ternaty operator. --- Koha/Item.pm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Koha/Item.pm b/Koha/Item.pm index 849f436a5aa..ea2677a01ff 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -1975,14 +1975,15 @@ sub can_be_waiting_recall { } # Check the circulation rule for each relevant itemtype for this item - my $rule = Koha::CirculationRules->get_effective_rules({ - branchcode => $branchcode, - categorycode => $self->check_recalls ? $self->check_recalls->patron->categorycode : undef, - itemtype => $self->effective_itemtype, - rules => [ - 'recalls_allowed', - ], - }); + my $most_relevant_recall = $self->check_recalls; + my $rule = Koha::CirculationRules->get_effective_rules( + { + branchcode => $branchcode, + categorycode => $most_relevant_recall ? $most_relevant_recall->patron->categorycode : undef, + itemtype => $self->effective_itemtype, + rules => [ 'recalls_allowed', ], + } + ); # check recalls allowed has been set and is not zero return 0 if ( !defined($rule->{recalls_allowed}) || $rule->{recalls_allowed} == 0 ); -- 2.40.1