Bug 9156: (follow-up) Simplify code
authorNick Clemens <nick@bywatersolutions.com>
Thu, 19 Dec 2019 19:05:36 +0000 (19:05 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 10 Jan 2020 16:14:20 +0000 (16:14 +0000)
The MARC::Field as_string method can join multiple subfield using a delimiter, this simplifies the code here

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

cataloguing/additem.pl

index 38fb34b..babf6d3 100755 (executable)
@@ -156,18 +156,10 @@ sub generate_subfield_form {
         if (!$value && $subfieldlib->{kohafield} eq 'items.itemcallnumber' && $pref_itemcallnumber) {
             my $CNtag       = substr( $pref_itemcallnumber, 0, 3 ); # 3-digit tag number
             my $CNsubfields = substr( $pref_itemcallnumber, 3 ); # Any and all subfields
-            my @subfields = ( $CNsubfields =~ m/./g ); # Split into single-character elements
             my $temp2 = $temp->field($CNtag);
 
             if ($temp2) {
-                my @selectedsubfields;
-                foreach my $subfieldcode( @subfields ){
-                    push @selectedsubfields, $temp2->subfield( $subfieldcode );
-                }
-                $value = join( ' ', @selectedsubfields );
-
-                #remove any trailing space incase one subfield is used
-                $value =~ s/^\s+|\s+$//g;
+                $value = $temp2->as_string( $CNsubfields, ' ' );
             }
         }