From 7030945d6c81934fb333486da6951e320df4e782 Mon Sep 17 00:00:00 2001 From: Jesse Weaver Date: Mon, 25 Jan 2016 07:01:28 -0700 Subject: [PATCH] Revert "Bug 15572: Follow-up to fix error on authority creation" This reverts commit 2ca9bd5dc247ae26225cbc299c1bc0883bc444e0. --- C4/Biblio.pm | 16 +++++----------- authorities/authorities.pl | 2 +- authorities/merge.pl | 2 +- cataloguing/addbiblio.pl | 4 ++-- cataloguing/merge.pl | 2 +- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index ef263e44c7..5ecae00259 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -2496,7 +2496,7 @@ sub _default_ind_to_space { =cut sub TransformHtmlToMarc { - my ($cgi, $isbiblio) = @_; + my $cgi = shift; my @params = $cgi->param(); @@ -2516,9 +2516,7 @@ sub TransformHtmlToMarc { # creating a new record my $record = MARC::Record->new(); my @fields; - my ($biblionumbertagfield, $biblionumbertagsubfield) = (-1, -1); - ($biblionumbertagfield, $biblionumbertagsubfield) = - &GetMarcFromKohaField( "biblio.biblionumber", '' ) if $isbiblio; + my ( $biblionumbertagfield, $biblionumbertagsubfield ) = &GetMarcFromKohaField( "biblio.biblionumber", '' ); #FIXME This code assumes that the CGI params will be in the same order as the fields in the template; this is no absolute guarantee! for (my $i = 0; $params[$i]; $i++ ) { # browse all CGI params my $param = $params[$i]; @@ -2542,10 +2540,8 @@ sub TransformHtmlToMarc { if ( $tag < 10 ) { # no code for theses fields # in MARC editor, 000 contains the leader. - if ( $tag == $biblionumbertagfield ) { - # We do nothing and let $i be incremented - } - elsif ( $tag eq '000' ) { + next if $tag == $biblionumbertagfield; + if ( $tag eq '000' ) { # Force a fake leader even if not provided to avoid crashing # during decoding MARC record containing UTF-8 characters $record->leader( @@ -2564,9 +2560,7 @@ sub TransformHtmlToMarc { # browse subfields for this tag (reason for _code_ match) while(defined $params[$j] && $params[$j] =~ /_code_/) { last unless defined $params[$j+1]; - $j += 2 and next - if $tag == $biblionumbertagfield and - $cgi->param($params[$j]) eq $biblionumbertagsubfield; + $j += 2 and next if $tag == $biblionumbertagfield and $cgi->param($params[$j]) eq $biblionumbertagsubfield; #if next param ne subfield, then it was probably empty #try next param by incrementing j if($params[$j+1]!~/_subfield_/) {$j++; next; } diff --git a/authorities/authorities.pl b/authorities/authorities.pl index ca3b0d37d7..2eba66ebdd 100755 --- a/authorities/authorities.pl +++ b/authorities/authorities.pl @@ -612,7 +612,7 @@ if ($op eq "add") { # build indicator hash. my @ind_tag = $input->param('ind_tag'); my @indicator = $input->param('indicator'); - my $record = TransformHtmlToMarc($input, 0); + my $record = TransformHtmlToMarc($input); my ($duplicateauthid,$duplicateauthvalue); ($duplicateauthid,$duplicateauthvalue) = FindDuplicateAuthority($record,$authtypecode) if ($op eq "add") && (!$is_a_modif); diff --git a/authorities/merge.pl b/authorities/merge.pl index cfc1ca5d69..f34e55cb1d 100755 --- a/authorities/merge.pl +++ b/authorities/merge.pl @@ -49,7 +49,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( if ($merge) { # Creating a new record from the html code - my $record = TransformHtmlToMarc($input, 0); + my $record = TransformHtmlToMarc($input); my $recordid1 = $input->param('recordid1'); my $recordid2 = $input->param('recordid2'); my $typecode = $input->param('frameworkcode'); diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl index e34557c4ae..b6805c94fe 100755 --- a/cataloguing/addbiblio.pl +++ b/cataloguing/addbiblio.pl @@ -834,7 +834,7 @@ if ( $op eq "addbiblio" ) { ); # getting html input my @params = $input->param(); - $record = TransformHtmlToMarc( $input, 1 ); + $record = TransformHtmlToMarc( $input ); # check for a duplicate my ( $duplicatebiblionumber, $duplicatetitle ); if ( !$is_a_modif ) { @@ -948,7 +948,7 @@ elsif ( $op eq "delete" ) { } if($changed_framework eq "changed"){ - $record = TransformHtmlToMarc( $input, 1 ); + $record = TransformHtmlToMarc( $input ); } elsif( $record ne -1 ) { #FIXME: it's kind of silly to go from MARC::Record to MARC::File::XML and then back again just to fix the encoding diff --git a/cataloguing/merge.pl b/cataloguing/merge.pl index a882daa05c..490eaa109c 100755 --- a/cataloguing/merge.pl +++ b/cataloguing/merge.pl @@ -55,7 +55,7 @@ if ($merge) { my $dbh = C4::Context->dbh; # Creating a new record from the html code - my $record = TransformHtmlToMarc( $input, 1 ); + my $record = TransformHtmlToMarc( $input ); my $ref_biblionumber = $input->param('ref_biblionumber'); @biblionumbers = grep { $_ != $ref_biblionumber } @biblionumbers; -- 2.20.1