From 1a9674fd3a8d8c898d8dc208d6e3d0296daeca40 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. Signed-off-by: Marc Véron Signed-off-by: Kyle M Hall --- C4/Circulation.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index cd3ac70033..13caa3f2d7 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.20.1