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

(-)a/C4/Breeding.pm (-28 / +22 lines)
Lines 422-457 sub _handle_one_result { Link Here
422
}
422
}
423
423
424
sub _add_rowdata {
424
sub _add_rowdata {
425
    my ($rowref, $marcrecord)=@_;
425
    my ($row, $record)=@_;
426
    if(C4::Context->preference("marcflavour") ne 'UNIMARC') { #MARC21, NORMARC
426
    my %fetch= (
427
        $rowref->{isbn}= _isbn_show($marcrecord, '020');
427
        title => 'biblio.title',
428
        $rowref->{title}= $marcrecord->subfield('245','a')||'';
428
        author => 'biblio.author',
429
        $rowref->{author}= $marcrecord->subfield('100','a')||'';
429
        isbn =>'biblioitems.isbn',
430
        $rowref->{date}= $marcrecord->subfield('260','c')||'';
430
        lccn =>'biblioitems.lccn', #LC control number (not call number)
431
        $rowref->{edition}= $marcrecord->subfield('250','a')||'';
431
        edition =>'biblioitems.editionstatement',
432
        $rowref->{lccn}= $marcrecord->subfield('050','a')||'';
432
        date => 'biblio.copyrightdate', #MARC21
433
    }
433
        date2 => 'biblioitems.publicationyear', #UNIMARC
434
    else { #UNIMARC
434
    );
435
        $rowref->{isbn}= _isbn_show($marcrecord, '010');
435
    foreach my $k (keys %fetch) {
436
        $rowref->{title}= $marcrecord->subfield('200','a')||'';
436
        my ($t, $f)= split '\.', $fetch{$k};
437
        $rowref->{author}= $marcrecord->subfield('200','f')||'';
437
        $row= C4::Biblio::TransformMarcToKohaOneField($t, $f, $record, $row);
438
        $rowref->{date}= $marcrecord->subfield('210','d')||'';
438
        $row->{$k}= $row->{$f} if $k ne $f;
439
        $rowref->{edition}= $marcrecord->subfield('205','a')||'';
440
        $rowref->{lccn}= '';
441
    }
439
    }
442
    return $rowref;
440
    $row->{date}//= $row->{date2};
441
    $row->{isbn}=_isbn_replace($row->{isbn});
442
    return $row;
443
}
443
}
444
444
445
sub _isbn_show {
445
sub _isbn_replace {
446
    my ($record, $fieldno)= @_; #both marc21 and unimarc possible
446
    my ($isbn)= @_;
447
    my $isbn= '';
447
    $isbn =~ s/ |-|\.//g;
448
    foreach my $f ( $record->field($fieldno) ) {
448
    $isbn =~ s/\|/ \| /g;
449
        my $a= $f->subfield('a');
449
    $isbn =~ s/\(/ \(/g;
450
        $a =~ s/ |-|\.//g;
451
        $a =~ s/\|/ \| /g;
452
        $a =~ s/\(/ \(/g;
453
        $isbn= $isbn? ($isbn.' | '. $a): $a;
454
    }
455
    return $isbn;
450
    return $isbn;
456
}
451
}
457
452
458
- 

Return to bug 10462