Bug 17201: (bug 16431 follow-up) Remove occurrence of marcfromkohafield
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 26 Aug 2016 12:32:00 +0000 (13:32 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 2 Sep 2016 14:00:11 +0000 (14:00 +0000)
I am not sure this code is called so I don't know how to test it.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Koha/MetadataRecord.pm

index 1b2f4aa..9899e16 100644 (file)
@@ -35,6 +35,7 @@ and authority) records in Koha.
 use Modern::Perl;
 
 use Carp;
+use C4::Biblio;
 use Koha::Util::MARC;
 
 use base qw(Class::Accessor);
@@ -112,12 +113,13 @@ sub getKohaField {
     my ($self, $kohafield) = @_;
 
     if ($self->schema =~ m/marc/) {
-        my $relations = C4::Context->marcfromkohafield->{''};
-        my $tagfield = $relations->{$kohafield};
+        my $frameworkcode = ""; # FIXME Why do we use the default framework?
+        my $mss = C4::Biblio::GetMarcSubfieldStructure( $frameworkcode );
+        my $tagfield = $mss->{$kohafield};
 
-        return '' if ref($tagfield) ne 'ARRAY';
+        return '' if ref($tagfield) ne 'HASH';
 
-        my ($tag, $subfield) = @$tagfield;
+        my ($tag, $subfield) = ( $tagfield->{tagfield}, $tagfield->{tagsubfield} );
         my @kohafield;
         foreach my $field ( $self->record->field($tag) ) {
             if ( $field->tag() < 10 ) {