From 04a60ab2d406a133799f2693bb5797a9dc6436c8 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Sun, 22 May 2016 10:01:56 +0100 Subject: [PATCH] Bug 16534: Block AddIssue from issuing if the return is not possible To make sure the return can be done, AddIssue must not trust callers (they should have done their job, but we are not sure) and check that the issue can be returned before issuing to the patron. There is no test plan here, this should not be possible from the Koha interface. However, looking at the code, it may be possible using SIP. --- C4/Circulation.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index d6e3ca0..12fccdc 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1386,6 +1386,8 @@ sub AddIssue { if ( $actualissue->{borrowernumber}) { # This book is currently on loan, but not to the person # who wants to borrow it now. mark it returned before issuing to the new borrower + my ( $allowed, $message ) = CanBookBeReturned( $item, C4::Context->userenv->{branch} ); + return unless $allowed; AddReturn( $item->{'barcode'}, C4::Context->userenv->{'branch'} -- 2.8.1