From 9132f9befb36f32fc35a511c3829c224b42893bf Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 19 Mar 2014 16:38:20 +0100 Subject: [PATCH] Bug 11960: replace unnecessary call of GetMemberDetails by CanBookBeRenewed C4::Circulation::CanBookBeRenewed called C4::Members::GetMemberDetails to retrieve categorycode and branchcode. - categorycode is used to retrieve the issuing rule - the borrower information is passed to C4::Circulation::_GetCircControlBranch. Which only uses the branchcode parameter. GetMemberDetails does a lot of calls/queries (patronflags, account, etc.) that are not needed by CanBookBeRenewed. This patch replaces it with a call to C4::Members::GetMember. Note: I presented this small optimisation during a quick introduction to NYTProf (hackfest 14 in Marseille). Test plan: - launch member unit tests - check the code Checking the code resulted in the following: CanBookBeRenewed builds a hash reference from the borrowernumber (2482). Note it is only used in this function and not passed in. _GetCircControlBranch (2485) requires that hashreference to have a branchcode key. As stated above. The following line (2486) requires it have a categorycode key. As such, C4::Members::GetMemberDetails is confirmed to be overkill, and C4::Members::GetMember is sufficient. Testing Done ------------ 0) Back up DB 1) Make sure MPL is in the list of libraries. 2) Apply the patch. 3) run the koha qa test tool 4) prove -v t/db_dependent/Circulation.t Patch applies cleanly. QA Test tool was all OK. All tests ran successfully. Signed-off-by: Mark Tompsett Signed-off-by: Kyle M Hall Signed-off-by: Galen Charlton --- C4/Circulation.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index af5522585e..91056e57ad 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2480,7 +2480,7 @@ sub CanBookBeRenewed { my $itemissue = GetItemIssue($itemnumber) or return ( 0, 'no_checkout' ); $borrowernumber ||= $itemissue->{borrowernumber}; - my $borrower = C4::Members::GetMemberDetails($borrowernumber) + my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber ) or return; my $branchcode = _GetCircControlBranch($item, $borrower); -- 2.39.5