From a18ce86e83740a58e9c10a2f99354a8b84d9a8bd Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 13 May 2014 07:20:39 -0400 Subject: [PATCH] Bug 12243: ensure that records with invalid ISBNs do not cause searches to fail Some types of invalid ISBNs, when run through C4::Koha::NormalizeISBN can produce ISBN objects that contain invalid ISBNs. This can be reproduced with an ISBN that has an invalid prefix, group code or publisher code. An example ISBN would be "0788893777 (2 DVD 45th ed)". When attempting to look up a record with such an ISBN, you will get an error along the lines of: Can't call method "as_string" on an undefined value Instead of checking for the BAD_ISBN state, we should be checking for the GOOD_ISBN state via the method is_valid. Test Plan: 1) Edit a record, add the following ISBN to your record: 0788893777 (2 DVD 45th ed) 2) When Koha redirects to the record, you should see the error message described 3) Apply this patch 4) Reload the page, you should now see your record Signed-off-by: Chris Cormack Signed-off-by: Jonathan Druart Signed-off-by: Galen Charlton --- C4/Koha.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Koha.pm b/C4/Koha.pm index 5988249ae0..1061a78a80 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -1595,7 +1595,7 @@ sub NormalizeISBN { my $isbn = Business::ISBN->new($string); - if ( $isbn && $isbn->error != Business::ISBN::BAD_ISBN ) { + if ( $isbn && $isbn->is_valid() ) { if ( $format eq 'ISBN-10' ) { $isbn = $isbn->as_isbn10(); -- 2.39.5