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

(-)a/Koha/Biblio.pm (-21 / +14 lines)
Lines 427-435 sub host_items { Link Here
427
        $analyticfield = '461';
427
        $analyticfield = '461';
428
    }
428
    }
429
429
430
    my $record;
430
    my $record = eval { $self->metadata->record };
431
    $record = eval { $self->metadata->record; };
431
    unless ( $record ) { warn $@ ; return }
432
    return if !$record;
433
432
434
    my @itemnumbers;
433
    my @itemnumbers;
435
    foreach my $field ( $record->field($analyticfield) ) {
434
    foreach my $field ( $record->field($analyticfield) ) {
Lines 568-576 sub get_components_query { Link Here
568
    my $builder = Koha::SearchEngine::QueryBuilder->new(
567
    my $builder = Koha::SearchEngine::QueryBuilder->new(
569
        { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
568
        { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
570
569
571
    my $record;
570
    my $record = eval { $self->metadata->record };
572
    eval { $record = $self->metadata->record };
571
    unless ( $record ) { warn $@ ; return }
573
    return if !$record;
574
572
575
    my $searchstr;
573
    my $searchstr;
576
    if ( C4::Context->preference('UseControlNumber') ) {
574
    if ( C4::Context->preference('UseControlNumber') ) {
Lines 657-665 Returns the COinS (a span) which can be included in a biblio record Link Here
657
sub get_coins {
655
sub get_coins {
658
    my ( $self ) = @_;
656
    my ( $self ) = @_;
659
657
660
    my $record;
658
    my $record = eval { $self->metadata->record };
661
    eval { $record = $self->metadata->record };
659
    unless ( $record ) { warn $@ ; return }
662
    return if !$record;
663
660
664
    my $pos7 = substr $record->leader(), 7, 1;
661
    my $pos7 = substr $record->leader(), 7, 1;
665
    my $pos6 = substr $record->leader(), 6, 1;
662
    my $pos6 = substr $record->leader(), 6, 1;
Lines 852-860 sub is_serial { Link Here
852
849
853
    return 1 if $self->serial;
850
    return 1 if $self->serial;
854
851
855
    my $record;
852
    my $record = eval { $self->metadata->record };
856
    eval { $record = $self->metadata->record };
853
    unless ( $record ) { warn $@ ; return 0 }
857
    return 0 if !$record;
858
854
859
    return 1 if substr($record->leader, 7, 1) eq 's';
855
    return 1 if substr($record->leader, 7, 1) eq 's';
860
856
Lines 894-902 sub custom_cover_image_url { Link Here
894
        my $field = $+{field};
890
        my $field = $+{field};
895
        my $subfield = $+{subfield};
891
        my $subfield = $+{subfield};
896
892
897
        my $record;
893
        my $record = eval { $self->metadata->record };
898
        eval { $record = $self->metadata->record };
894
        unless ( $record ) { warn $@ ; return q{} }
899
        return "" if !$record;
900
895
901
        my $value;
896
        my $value;
902
        if ( $subfield ) {
897
        if ( $subfield ) {
Lines 957-965 sub get_marc_notes { Link Here
957
    my %hiddenlist = map { $_ => 1 }
952
    my %hiddenlist = map { $_ => 1 }
958
        split( /,/, C4::Context->preference('NotesToHide'));
953
        split( /,/, C4::Context->preference('NotesToHide'));
959
954
960
    my $record;
955
    my $record = eval { $self->metadata->record };
961
    eval { $record = $self->metadata->record };
956
    unless ( $record ) { warn $@ ; return [] }
962
    return [] if !$record;
963
957
964
    $record = transformMARCXML4XSLT( $self->biblionumber, $record, $opac );
958
    $record = transformMARCXML4XSLT( $self->biblionumber, $record, $opac );
965
959
Lines 1044-1052 sub get_marc_host { Link Here
1044
    return if C4::Context->preference('marcflavour') eq 'UNIMARC'; # TODO
1038
    return if C4::Context->preference('marcflavour') eq 'UNIMARC'; # TODO
1045
    return if $params->{no_items} && $self->items->count > 0;
1039
    return if $params->{no_items} && $self->items->count > 0;
1046
1040
1047
    my $record;
1041
    my $record = eval { $self->metadata->record };
1048
    eval { $record = $self->metadata->record };
1042
    unless ( $record ) { warn $@ ; return }
1049
    return if !$record;
1050
1043
1051
    # We pick the first $w with your MARCOrgCode or the first $w that has no
1044
    # We pick the first $w with your MARCOrgCode or the first $w that has no
1052
    # code (between parentheses) at all.
1045
    # code (between parentheses) at all.
(-)a/t/db_dependent/Koha/Biblio.t (-3 / +5 lines)
Lines 565-571 subtest 'get_marc_components() tests' => sub { Link Here
565
};
565
};
566
566
567
subtest 'get_components_query' => sub {
567
subtest 'get_components_query' => sub {
568
    plan tests => 4;
568
    plan tests => 5;
569
569
570
    my $biblio = $builder->build_sample_biblio();
570
    my $biblio = $builder->build_sample_biblio();
571
    my $biblionumber = $biblio->biblionumber;
571
    my $biblionumber = $biblio->biblionumber;
Lines 592-598 subtest 'get_components_query' => sub { Link Here
592
    $biblio->metadata->metadata('This is invalid for a MARC record')->store();
592
    $biblio->metadata->metadata('This is invalid for a MARC record')->store();
593
    $biblio = Koha::Biblios->find( $biblio->biblionumber);
593
    $biblio = Koha::Biblios->find( $biblio->biblionumber);
594
594
595
    is($biblio->get_components_query, undef, "Invalid MARC record returns undefined and does not die");
595
    my $components_query;
596
    warning_like { $biblio->get_components_query }
597
        qr{^Invalid data, cannot decode metadata object};
598
    is( $components_query, undef, "Invalid MARC record returns undefined and does not die");
596
};
599
};
597
600
598
subtest 'orders() and active_orders() tests' => sub {
601
subtest 'orders() and active_orders() tests' => sub {
599
- 

Return to bug 29690