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

(-)a/C4/Biblio.pm (-3 / +15 lines)
Lines 1191-1197 sub GetMarcBiblio { Link Here
1191
1191
1192
        C4::Biblio::_koha_marc_update_bib_ids( $record, $frameworkcode, $biblionumber,
1192
        C4::Biblio::_koha_marc_update_bib_ids( $record, $frameworkcode, $biblionumber,
1193
            $biblioitemnumber );
1193
            $biblioitemnumber );
1194
        C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, $opac )
1194
        C4::Biblio::EmbedItemsInMarcBiblio({
1195
            marc_record  => $record,
1196
            biblionumber => $biblionumber,
1197
            opac => $opac })
1195
          if ($embeditems);
1198
          if ($embeditems);
1196
1199
1197
        return $record;
1200
        return $record;
Lines 2868-2874 sub ModZebra { Link Here
2868
2871
2869
=head2 EmbedItemsInMarcBiblio
2872
=head2 EmbedItemsInMarcBiblio
2870
2873
2871
    EmbedItemsInMarcBiblio($marc, $biblionumber, $itemnumbers, $opac);
2874
    EmbedItemsInMarcBiblio({
2875
        marc_record  => $marc,
2876
        biblionumber => $biblionumber,
2877
        item_numbers => $itemnumbers,
2878
        opac         => $opac });
2872
2879
2873
Given a MARC::Record object containing a bib record,
2880
Given a MARC::Record object containing a bib record,
2874
modify it to include the items attached to it as 9XX
2881
modify it to include the items attached to it as 9XX
Lines 2880-2890 If $opac is true, then opac-relevant suppressions are included. Link Here
2880
=cut
2887
=cut
2881
2888
2882
sub EmbedItemsInMarcBiblio {
2889
sub EmbedItemsInMarcBiblio {
2883
    my ($marc, $biblionumber, $itemnumbers, $opac) = @_;
2890
    my ($params) = @_;
2891
    my ($marc, $biblionumber, $itemnumbers, $opac);
2892
    $marc = $params->{marc_record};
2884
    if ( !$marc ) {
2893
    if ( !$marc ) {
2885
        carp 'EmbedItemsInMarcBiblio: No MARC record passed';
2894
        carp 'EmbedItemsInMarcBiblio: No MARC record passed';
2886
        return;
2895
        return;
2887
    }
2896
    }
2897
    $biblionumber = $params->{biblionumber};
2898
    $itemnumbers = $params->{item_numbers};
2899
    $opac = $params->{opac};
2888
2900
2889
    $itemnumbers = [] unless defined $itemnumbers;
2901
    $itemnumbers = [] unless defined $itemnumbers;
2890
2902
(-)a/C4/Record.pm (-1 / +4 lines)
Lines 473-479 sub marcrecord2csv { Link Here
473
    # Getting the record
473
    # Getting the record
474
    my $record = GetMarcBiblio($biblio);
474
    my $record = GetMarcBiblio($biblio);
475
    return unless $record;
475
    return unless $record;
476
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblio, $itemnumbers );
476
    C4::Biblio::EmbedItemsInMarcBiblio({
477
        marc_record  => $record,
478
        biblionumber => $biblio,
479
        item_numbers => $itemnumbers });
477
    # Getting the framework
480
    # Getting the framework
478
    my $frameworkcode = GetFrameworkCode($biblio);
481
    my $frameworkcode = GetFrameworkCode($biblio);
479
482
(-)a/Koha/BiblioUtils/Iterator.pm (-1 / +3 lines)
Lines 108-114 sub next { Link Here
108
          if ( !defined($bibnum) );
108
          if ( !defined($bibnum) );
109
109
110
        # TODO this should really be in Koha::BiblioUtils or something similar.
110
        # TODO this should really be in Koha::BiblioUtils or something similar.
111
        C4::Biblio::EmbedItemsInMarcBiblio( $marc, $bibnum );
111
        C4::Biblio::EmbedItemsInMarcBiblio({
112
            marc_record  => $marc,
113
            biblionumber => $bibnum });
112
    }
114
    }
113
115
114
    if (wantarray) {
116
    if (wantarray) {
(-)a/Koha/Exporter/Record.pm (-1 / +4 lines)
Lines 70-76 sub _get_biblio_for_export { Link Here
70
    return if $@ or not defined $record;
70
    return if $@ or not defined $record;
71
71
72
    if ($export_items) {
72
    if ($export_items) {
73
        C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, $itemnumbers );
73
        C4::Biblio::EmbedItemsInMarcBiblio({
74
            marc_record  => $record,
75
            biblionumber => $biblionumber,
76
            item_numbers => $itemnumbers });
74
        if ($only_export_items_for_branch) {
77
        if ($only_export_items_for_branch) {
75
            my ( $homebranchfield, $homebranchsubfield ) = GetMarcFromKohaField( 'items.homebranch', '' );    # Should be GetFrameworkCode( $biblionumber )?
78
            my ( $homebranchfield, $homebranchsubfield ) = GetMarcFromKohaField( 'items.homebranch', '' );    # Should be GetFrameworkCode( $biblionumber )?
76
79
(-)a/cataloguing/additem.pl (-1 / +3 lines)
Lines 733-739 my @big_array; Link Here
733
#---- finds where items.itemnumber is stored
733
#---- finds where items.itemnumber is stored
734
my (  $itemtagfield,   $itemtagsubfield) = &GetMarcFromKohaField("items.itemnumber", $frameworkcode);
734
my (  $itemtagfield,   $itemtagsubfield) = &GetMarcFromKohaField("items.itemnumber", $frameworkcode);
735
my ($branchtagfield, $branchtagsubfield) = &GetMarcFromKohaField("items.homebranch", $frameworkcode);
735
my ($branchtagfield, $branchtagsubfield) = &GetMarcFromKohaField("items.homebranch", $frameworkcode);
736
C4::Biblio::EmbedItemsInMarcBiblio($temp, $biblionumber);
736
C4::Biblio::EmbedItemsInMarcBiblio({
737
    marc_record  => $temp,
738
    biblionumber => $biblionumber });
737
my @fields = $temp->fields();
739
my @fields = $temp->fields();
738
740
739
741
(-)a/misc/migration_tools/build_oai_sets.pl (-1 / +3 lines)
Lines 127-133 foreach my $res (@$results) { Link Here
127
        next;
127
        next;
128
    }
128
    }
129
    if($embed_items) {
129
    if($embed_items) {
130
        C4::Biblio::EmbedItemsInMarcBiblio($record, $biblionumber);
130
        C4::Biblio::EmbedItemsInMarcBiblio({
131
            marc_record  => $record,
132
            biblionumber => $biblionumber });
131
    }
133
    }
132
134
133
    my @biblio_sets = CalcOAISetsBiblio($record, $mappings);
135
    my @biblio_sets = CalcOAISetsBiblio($record, $mappings);
(-)a/t/db_dependent/Items.t (-8 / +22 lines)
Lines 569-584 subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { Link Here
569
    { carped => 'EmbedItemsInMarcBiblio: No MARC record passed' },
569
    { carped => 'EmbedItemsInMarcBiblio: No MARC record passed' },
570
      'Should crap is no record passed.';
570
      'Should crap is no record passed.';
571
571
572
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber );
572
    C4::Biblio::EmbedItemsInMarcBiblio({
573
        marc_record  => $record,
574
        biblionumber => $biblionumber });
573
    my @items = $record->field($itemfield);
575
    my @items = $record->field($itemfield);
574
    is( scalar @items, $number_of_items, 'Should return all items' );
576
    is( scalar @items, $number_of_items, 'Should return all items' );
575
577
576
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber,
578
    C4::Biblio::EmbedItemsInMarcBiblio({
577
        [ $itemnumbers[1], $itemnumbers[3] ] );
579
        marc_record  => $record,
580
        biblionumber => $biblionumber,
581
        item_numbers => [ $itemnumbers[1], $itemnumbers[3] ] });
578
    @items = $record->field($itemfield);
582
    @items = $record->field($itemfield);
579
    is( scalar @items, 2, 'Should return all items present in the list' );
583
    is( scalar @items, 2, 'Should return all items present in the list' );
580
584
581
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 );
585
    C4::Biblio::EmbedItemsInMarcBiblio({
586
        marc_record  => $record,
587
        biblionumber => $biblionumber,
588
        opac         => 1 });
582
    @items = $record->field($itemfield);
589
    @items = $record->field($itemfield);
583
    is( scalar @items, $number_of_items, 'Should return all items for opac' );
590
    is( scalar @items, $number_of_items, 'Should return all items for opac' );
584
591
Lines 586-598 subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { Link Here
586
        homebranch: ['$library1->{branchcode}']";
593
        homebranch: ['$library1->{branchcode}']";
587
    t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems );
594
    t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems );
588
595
589
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber );
596
    C4::Biblio::EmbedItemsInMarcBiblio({
597
        marc_record  => $record,
598
        biblionumber => $biblionumber });
590
    @items = $record->field($itemfield);
599
    @items = $record->field($itemfield);
591
    is( scalar @items,
600
    is( scalar @items,
592
        $number_of_items,
601
        $number_of_items,
593
        'Even with OpacHiddenItems set, all items should have been embedded' );
602
        'Even with OpacHiddenItems set, all items should have been embedded' );
594
603
595
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 );
604
    C4::Biblio::EmbedItemsInMarcBiblio({
605
        marc_record  => $record,
606
        biblionumber => $biblionumber,
607
        opac         => 1 });
596
    @items = $record->field($itemfield);
608
    @items = $record->field($itemfield);
597
    is(
609
    is(
598
        scalar @items,
610
        scalar @items,
Lines 603-609 subtest 'C4::Biblio::EmbedItemsInMarcBiblio' => sub { Link Here
603
    $opachiddenitems = "
615
    $opachiddenitems = "
604
        homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']";
616
        homebranch: ['$library1->{branchcode}', '$library2->{branchcode}']";
605
    t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems );
617
    t::lib::Mocks::mock_preference( 'OpacHiddenItems', $opachiddenitems );
606
    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, undef, 1 );
618
    C4::Biblio::EmbedItemsInMarcBiblio({
619
        marc_record  => $record,
620
        biblionumber => $biblionumber,
621
        opac         => 1 });
607
    @items = $record->field($itemfield);
622
    @items = $record->field($itemfield);
608
    is(
623
    is(
609
        scalar @items,
624
        scalar @items,
610
- 

Return to bug 14385