Bug 13167 Stage MARC for Import hangs for biblio containing invalid ISBN-13
authorFrédéric Demians <f.demians@tamil.fr>
Sun, 2 Nov 2014 16:41:34 +0000 (17:41 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Sun, 4 Jan 2015 14:15:24 +0000 (11:15 -0300)
If the ISBN of a UNIMARC record begins with 979 then the 'Stage MARC for
import' hangs.  If I use the same UNIMARC record and change 979 to 978 in the
ISBN, 'Stage MARC for import' works perfectly.

The patch deals with the fact that converting an ISBN-13 to ISBN-10 with
Business::ISBN as_isbn10() method fails if the ISBN doesn't begin with 978.

TEST PLAN:

(1) Download, and decompress the ZIP file attached to BZ.
(2) On a UNIMARC Koha instance, go in Tools > Stage MARC for import.
(3) Choose the MARC file containing the record with an ISBN begining with 979.
    Click on Upload file, then Stage to import.
(4) The Job progress bar stay at 0%.
(5) Apply the patch. Repeat steps 2-3. The upload works.

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Tested in a UNIMARC installation, confirmed that the patch fixes the
problem.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

C4/Koha.pm

index 1b6160a..ec65be9 100644 (file)
@@ -1680,6 +1680,7 @@ sub NormalizeISBN {
         elsif ( $format eq 'ISBN-13' ) {
             $isbn = $isbn->as_isbn13();
         }
+        return unless $isbn;
 
         if ($strip_hyphens) {
             $string = $isbn->as_string( [] );