Bug 11912: fix problem where GetMarcISBN wrongly prepends a space to ISBNs
authorTomas Cohen Arazi <tomascohen@gmail.com>
Sun, 9 Mar 2014 21:39:11 +0000 (18:39 -0300)
committerKyle M Hall <kyle@bywatersolutions.com>
Wed, 13 Aug 2014 18:24:12 +0000 (14:24 -0400)
This patch makes the logic inside GetMarcISBN simpler and
fixes the issue.

To test:
- Run the regression tests:
  prove -v t/db_dependent/Biblio.t
=> FAIL
- Apply the patch
- Run:
  prove -v t/db_dependent/Biblio.t
=> SUCCESS
- Verify that opac-detail.pl and catalogue/detail.pl look as usual regarding ISBN
- Sign off

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit c4900dc448aa029749ab27f98b59d1be6eb8bb14)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit d2d5600cdc8d629a77e3eaad42b24ffdd3b1b59e)

C4/Biblio.pm

index 38dda06..4f1cf91 100644 (file)
@@ -1640,25 +1640,15 @@ sub GetMarcISBN {
         $scope = '020';
     }
     my @marcisbns;
-    my $isbn = "";
-    my $tag  = "";
     my $marcisbn;
     foreach my $field ( $record->field($scope) ) {
-        my $value = $field->as_string();
+        my $isbn = $field->as_string();
         if ( $isbn ne "" ) {
             $marcisbn = { marcisbn => $isbn, };
             push @marcisbns, $marcisbn;
-            $isbn = $value;
-        }
-        if ( $isbn ne $value ) {
-            $isbn = $isbn . " " . $value;
         }
     }
 
-    if ($isbn) {
-        $marcisbn = { marcisbn => $isbn };
-        push @marcisbns, $marcisbn;    #load last tag into array
-    }
     return \@marcisbns;
 }    # end GetMarcISBN