View | Details | Raw Unified | Return to bug 21800
Collapse All | Expand All

(-)a/C4/Biblio.pm (-5 / +17 lines)
Lines 1992-2002 sub TransformKohaToMarc { Link Here
1992
            my $tagsubfield = $fld->{tagsubfield};
1992
            my $tagsubfield = $fld->{tagsubfield};
1993
            next if !$tagfield;
1993
            next if !$tagfield;
1994
1994
1995
            # BZ 21800: split value if field is repeatable; NOTE that this also
1995
            # BZ 21800: split value if field is repeatable.
1996
            # depends on the Default framework.
1996
            my @values = _check_split($params, $fld, $value)
1997
            my @values = $params->{no_split} || !$fld->{repeatable}
1997
                ? split(/\s?\|\s?/, $value, -1)
1998
                ? ( $value )
1998
                : ( $value );
1999
                : split(/\s?\|\s?/, $value, -1);
2000
            foreach my $value ( @values ) {
1999
            foreach my $value ( @values ) {
2001
                next if $value eq '';
2000
                next if $value eq '';
2002
                $tag_hr->{$tagfield} //= [];
2001
                $tag_hr->{$tagfield} //= [];
Lines 2017-2022 sub TransformKohaToMarc { Link Here
2017
    return $record;
2016
    return $record;
2018
}
2017
}
2019
2018
2019
sub _check_split {
2020
    my ($params, $fld, $value) = @_;
2021
    return if index($value,'|') == -1; # nothing to worry about
2022
    return if $params->{no_split};
2023
2024
    # if we did not get a specific framework, check default in $mss
2025
    return $fld->{repeatable} if !$params->{framework};
2026
2027
    # here we need to check the specific framework
2028
    my $mss = Koha::MarcSubfieldStructures->find( $params->{framework}, $fld->{tagfield}, $fld->{tagsubfield} );
2029
    return 1 if $mss && $mss->repeatable;
2030
}
2031
2020
=head2 PrepHostMarcField
2032
=head2 PrepHostMarcField
2021
2033
2022
    $hostfield = PrepHostMarcField ( $hostbiblionumber,$hostitemnumber,$marcflavour )
2034
    $hostfield = PrepHostMarcField ( $hostbiblionumber,$hostitemnumber,$marcflavour )
(-)a/C4/Items.pm (-2 / +1 lines)
Lines 1299-1305 sub Item2Marc { Link Here
1299
        } keys %{ $itemrecord } 
1299
        } keys %{ $itemrecord } 
1300
    };
1300
    };
1301
    my $framework = C4::Biblio::GetFrameworkCode( $biblionumber );
1301
    my $framework = C4::Biblio::GetFrameworkCode( $biblionumber );
1302
    my $itemmarc = C4::Biblio::TransformKohaToMarc( $mungeditem ); # Bug 21774: no_split parameter removed to allow cloned subfields
1302
    my $itemmarc = C4::Biblio::TransformKohaToMarc( $mungeditem, { framework => $framework } );
1303
    my ( $itemtag, $itemsubfield ) = C4::Biblio::GetMarcFromKohaField(
1303
    my ( $itemtag, $itemsubfield ) = C4::Biblio::GetMarcFromKohaField(
1304
        "items.itemnumber", $framework,
1304
        "items.itemnumber", $framework,
1305
    );
1305
    );
1306
- 

Return to bug 21800