[Koha-patches] [PATCH] bug_11247: Removed unused params from TransformHtmlToXml()

Srdjan srdjan at catalyst.net.nz
Thu Nov 14 07:23:51 CET 2013


$indicator and $ind_tag should not be TransformHtmlToXml() params.
TransformHtmlToXml() is only used for items:
- $indicator is always empty
- $ind_tag was not even used in the function

To test:
Check that integrity of following functions is preserved:
* Acquisition - ordering and receiving, needs setting  AcqCreateItem to
  placing and receiving an order
* Cataloging - create/modify an item
* Batcih modify in Tools
* Serials receiving
---
 C4/Biblio.pm             | 31 +++++--------------------------
 acqui/addorder.pl        |  7 +------
 acqui/addorderiso2709.pl |  6 +-----
 acqui/finishreceive.pl   |  7 +------
 cataloguing/additem.pl   | 26 ++------------------------
 serials/serials-edit.pl  |  6 ------
 tools/batchMod.pl        | 21 +--------------------
 7 files changed, 11 insertions(+), 93 deletions(-)

diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index add0f74..12a6415 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -2203,8 +2203,7 @@ sub PrepHostMarcField {
 
 =head2 TransformHtmlToXml
 
-  $xml = TransformHtmlToXml( $tags, $subfields, $values, $indicator, 
-                             $ind_tag, $auth_type )
+  $xml = TransformHtmlToXml( $tags, $subfields, $values, $auth_type )
 
 $auth_type contains :
 
@@ -2221,7 +2220,7 @@ $auth_type contains :
 =cut
 
 sub TransformHtmlToXml {
-    my ( $tags, $subfields, $values, $indicator, $ind_tag, $auth_type ) = @_;
+    my ( $tags, $subfields, $values, $auth_type ) = @_;
     my $xml = MARC::File::XML::header('UTF-8');
     $xml .= "<record>\n";
     $auth_type = C4::Context->preference('marcflavour') unless $auth_type;
@@ -2260,21 +2259,11 @@ sub TransformHtmlToXml {
         #         }
         if ( ( @$tags[$i] ne $prevtag ) ) {
             $j++ unless ( @$tags[$i] eq "" );
-            my $indicator1 = eval { substr( @$indicator[$j], 0, 1 ) };
-            my $indicator2 = eval { substr( @$indicator[$j], 1, 1 ) };
-            my $ind1       = _default_ind_to_space($indicator1);
-            my $ind2;
-            if ( @$indicator[$j] ) {
-                $ind2 = _default_ind_to_space($indicator2);
-            } else {
-                warn "Indicator in @$tags[$i] is empty";
-                $ind2 = " ";
-            }
             if ( !$first ) {
                 $xml .= "</datafield>\n";
                 if (   ( @$tags[$i] && @$tags[$i] > 10 )
                     && ( @$values[$i] ne "" ) ) {
-                    $xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n";
+                    $xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"\" ind2=\"\">\n";
                     $xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
                     $first = 0;
                 } else {
@@ -2293,27 +2282,17 @@ sub TransformHtmlToXml {
                         $xml .= "<controlfield tag=\"@$tags[$i]\">@$values[$i]</controlfield>\n";
                         $first = 1;
                     } else {
-                        $xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n";
+                        $xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"\" ind2=\"\">\n";
                         $xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
                         $first = 0;
                     }
                 }
             }
         } else {    # @$tags[$i] eq $prevtag
-            my $indicator1 = eval { substr( @$indicator[$j], 0, 1 ) };
-            my $indicator2 = eval { substr( @$indicator[$j], 1, 1 ) };
-            my $ind1       = _default_ind_to_space($indicator1);
-            my $ind2;
-            if ( @$indicator[$j] ) {
-                $ind2 = _default_ind_to_space($indicator2);
-            } else {
-                warn "Indicator in @$tags[$i] is empty";
-                $ind2 = " ";
-            }
             if ( @$values[$i] eq "" ) {
             } else {
                 if ($first) {
-                    $xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n";
+                    $xml .= "<datafield tag=\"@$tags[$i]\" ind1=\"\" ind2=\"\">\n";
                     $first = 0;
                 }
                 $xml .= "<subfield code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
diff --git a/acqui/addorder.pl b/acqui/addorder.pl
index 1b05f07..ecbe68c 100755
--- a/acqui/addorder.pl
+++ b/acqui/addorder.pl
@@ -286,8 +286,6 @@ if ( $orderinfo->{quantity} ne '0' ) {
         my @field_values = $input->param('field_value');
         my @serials      = $input->param('serial');
         my @itemid       = $input->param('itemid');
-        my @ind_tag      = $input->param('ind_tag');
-        my @indicator    = $input->param('indicator');
         #Rebuilding ALL the data for items into a hash
         # parting them on $itemid.
 
@@ -301,16 +299,13 @@ if ( $orderinfo->{quantity} ne '0' ) {
             push @{$itemhash{$itemid[$i]}->{'tags'}},$tags[$i];
             push @{$itemhash{$itemid[$i]}->{'subfields'}},$subfields[$i];
             push @{$itemhash{$itemid[$i]}->{'field_values'}},$field_values[$i];
-            push @{$itemhash{$itemid[$i]}->{'ind_tag'}},$ind_tag[$i];
-            push @{$itemhash{$itemid[$i]}->{'indicator'}},$indicator[$i];
         }
         foreach my $item (keys %itemhash){
 
+            use Data::Dumper; die Dumper($itemhash{$item});
             my $xml = TransformHtmlToXml( $itemhash{$item}->{'tags'},
                                     $itemhash{$item}->{'subfields'},
                                     $itemhash{$item}->{'field_values'},
-                                    $itemhash{$item}->{'ind_tag'},
-                                    $itemhash{$item}->{'indicator'},
                                     'ITEM');
             my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
             my ($biblionumber,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$$orderinfo{biblionumber});
diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl
index abfb870..e615c4f 100755
--- a/acqui/addorderiso2709.pl
+++ b/acqui/addorderiso2709.pl
@@ -244,15 +244,11 @@ if ($op eq ""){
             my @subfields    = $input->param('subfield');
             my @field_values = $input->param('field_value');
             my @serials      = $input->param('serial');
-            my @ind_tag   = $input->param('ind_tag');
-            my @indicator = $input->param('indicator');
             my $item;
             push @{ $item->{tags} },         $tags[0];
             push @{ $item->{subfields} },    $subfields[0];
             push @{ $item->{field_values} }, $field_values[0];
-            push @{ $item->{ind_tag} },      $ind_tag[0];
-            push @{ $item->{indicator} },    $indicator[0];
-            my $xml = TransformHtmlToXml( \@tags, \@subfields, \@field_values, \@ind_tag, \@indicator );
+            my $xml = TransformHtmlToXml( \@tags, \@subfields, \@field_values );
             my $record = MARC::Record::new_from_xml( $xml, 'UTF-8' );
             for (my $qtyloop=1;$qtyloop <=$quantity;$qtyloop++) {
                 my ( $biblionumber, $bibitemnum, $itemnumber ) = AddItemFromMarc( $record, $biblionumber );
diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl
index 900733d..7c28afd 100755
--- a/acqui/finishreceive.pl
+++ b/acqui/finishreceive.pl
@@ -123,8 +123,6 @@ if ($quantityrec > $origquantityrec ) {
         my @field_values = $input->param('field_value');
         my @serials      = $input->param('serial');
         my @itemid       = $input->param('itemid');
-        my @ind_tag      = $input->param('ind_tag');
-        my @indicator    = $input->param('indicator');
         #Rebuilding ALL the data for items into a hash
         # parting them on $itemid.
         my %itemhash;
@@ -137,15 +135,12 @@ if ($quantityrec > $origquantityrec ) {
             push @{$itemhash{$itemid[$i]}->{'tags'}},$tags[$i];
             push @{$itemhash{$itemid[$i]}->{'subfields'}},$subfields[$i];
             push @{$itemhash{$itemid[$i]}->{'field_values'}},$field_values[$i];
-            push @{$itemhash{$itemid[$i]}->{'ind_tag'}},$ind_tag[$i];
-            push @{$itemhash{$itemid[$i]}->{'indicator'}},$indicator[$i];
         }
         foreach my $item (keys %itemhash){
             my $xml = TransformHtmlToXml( $itemhash{$item}->{'tags'},
                                           $itemhash{$item}->{'subfields'},
                                           $itemhash{$item}->{'field_values'},
-                                          $itemhash{$item}->{'ind_tag'},
-                                          $itemhash{$item}->{'indicator'},'ITEM');
+                                          'ITEM');
             my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
             my (undef,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
             NewOrderItem($itemnumber, $new_ordernumber);
diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl
index a819019..ed1ea9b 100755
--- a/cataloguing/additem.pl
+++ b/cataloguing/additem.pl
@@ -43,22 +43,6 @@ use URI::Escape;
 
 our $dbh = C4::Context->dbh;
 
-sub find_value {
-    my ($tagfield,$insubfield,$record) = @_;
-    my $result;
-    my $indicator;
-    foreach my $field ($record->field($tagfield)) {
-        my @subfields = $field->subfields();
-        foreach my $subfield (@subfields) {
-            if (@$subfield[0] eq $insubfield) {
-                $result .= @$subfield[1];
-                $indicator = $field->indicator(1).$field->indicator(2);
-            }
-        }
-    }
-    return($indicator,$result);
-}
-
 sub get_item_from_barcode {
     my ($barcode)=@_;
     my $dbh=C4::Context->dbh;
@@ -377,10 +361,7 @@ if ($op eq "additem") {
     my @tags      = $input->param('tag');
     my @subfields = $input->param('subfield');
     my @values    = $input->param('field_value');
-    # build indicator hash.
-    my @ind_tag   = $input->param('ind_tag');
-    my @indicator = $input->param('indicator');
-    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag, 'ITEM');
+    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values, 'ITEM');
     my $record = MARC::Record::new_from_xml($xml, 'UTF-8');
 
     # type of add
@@ -585,11 +566,8 @@ if ($op eq "additem") {
     my @tags      = $input->param('tag');
     my @subfields = $input->param('subfield');
     my @values    = $input->param('field_value');
-    # build indicator hash.
-    my @ind_tag   = $input->param('ind_tag');
-    my @indicator = $input->param('indicator');
     # my $itemnumber = $input->param('itemnumber');
-    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag,'ITEM');
+    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,'ITEM');
     my $itemtosave=MARC::Record::new_from_xml($xml, 'UTF-8');
     # MARC::Record builded => now, record in DB
     # warn "R: ".$record->as_formatted;
diff --git a/serials/serials-edit.pl b/serials/serials-edit.pl
index 8fb2e60..a3adef7 100755
--- a/serials/serials-edit.pl
+++ b/serials/serials-edit.pl
@@ -251,8 +251,6 @@ if ( $op and $op eq 'serialchangestatus' ) {
         my @serials      = $query->param('serial');
         my @bibnums      = $query->param('bibnum');
         my @itemid       = $query->param('itemid');
-        my @ind_tag      = $query->param('ind_tag');
-        my @indicator    = $query->param('indicator');
 
         #Rebuilding ALL the data for items into a hash
         # parting them on $itemid.
@@ -277,8 +275,6 @@ if ( $op and $op eq 'serialchangestatus' ) {
             push @{ $itemhash{ $itemid[$i] }->{'subfields'} }, $subfields[$i];
             push @{ $itemhash{ $itemid[$i] }->{'field_values'} },
               $field_values[$i];
-            push @{ $itemhash{ $itemid[$i] }->{'ind_tag'} },   $ind_tag[$i];
-            push @{ $itemhash{ $itemid[$i] }->{'indicator'} }, $indicator[$i];
         }
         foreach my $item ( keys %itemhash ) {
 
@@ -298,8 +294,6 @@ if ( $op and $op eq 'serialchangestatus' ) {
                     $itemhash{$item}->{'tags'},
                     $itemhash{$item}->{'subfields'},
                     $itemhash{$item}->{'field_values'},
-                    $itemhash{$item}->{'indicator'},
-                    $itemhash{$item}->{'ind_tag'}
                 );
 
                 #           warn $xml;
diff --git a/tools/batchMod.pl b/tools/batchMod.pl
index 69762b1..349730c 100755
--- a/tools/batchMod.pl
+++ b/tools/batchMod.pl
@@ -98,9 +98,6 @@ if ($op eq "action") {
     my @subfields = $input->param('subfield');
     my @values    = $input->param('field_value');
     my @disabled  = $input->param('disable_input');
-    # build indicator hash.
-    my @ind_tag   = $input->param('ind_tag');
-    my @indicator = $input->param('indicator');
 
     # Is there something to modify ?
     # TODO : We shall use this var to warn the user in case no modification was done to the items
@@ -140,7 +137,7 @@ if ($op eq "action") {
 	#initializing values for updates
 	my (  $itemtagfield,   $itemtagsubfield) = &GetMarcFromKohaField("items.itemnumber", "");
 	if ($values_to_modify){
-	    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag, 'ITEM');
+	    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values, 'ITEM');
         utf8::encode($xml);
 	    $marcitem = MARC::Record::new_from_xml($xml, 'UTF-8');
         }
@@ -595,22 +592,6 @@ sub UpdateMarcWith {
     return $modified;
 }
 
-sub find_value {
-    my ($tagfield,$insubfield,$record) = @_;
-    my $result;
-    my $indicator;
-    foreach my $field ($record->field($tagfield)) {
-        my @subfields = $field->subfields();
-        foreach my $subfield (@subfields) {
-            if (@$subfield[0] eq $insubfield) {
-                $result .= @$subfield[1];
-                $indicator = $field->indicator(1).$field->indicator(2);
-            }
-        }
-    }
-    return($indicator,$result);
-}
-
 # ----------------------------
 # Background functions
 
-- 
1.8.1.2


More information about the Koha-patches mailing list