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

(-)a/C4/Acquisition.pm (-23 / +18 lines)
Lines 312-331 sub GetBasketAsCSV { Link Here
312
        }
312
        }
313
        for my $order (@orders) {
313
        for my $order (@orders) {
314
            my @row;
314
            my @row;
315
            my $bd = GetBiblioData( $order->{'biblionumber'} );
315
            my $biblio = Koha::Biblios->find( $order->{biblionumber} );
316
            my @biblioitems = GetBiblioItemByBiblioNumber( $order->{'biblionumber'});
316
            my $biblioitem = $biblio->biblioitem;
317
            for my $biblioitem (@biblioitems) {
317
            $order = { %$order, %{ $biblioitem->unblessed } };
318
                if (    $biblioitem->{isbn}
319
                    and $order->{isbn}
320
                    and $biblioitem->{isbn} eq $order->{isbn} )
321
                {
322
                    $order = { %$order, %$biblioitem };
323
                }
324
            }
325
            if ($contract) {
318
            if ($contract) {
326
                $order = {%$order, %$contract};
319
                $order = {%$order, %$contract};
327
            }
320
            }
328
            $order = {%$order, %$basket, %$bd};
321
            $order = {%$order, %$basket, %{ $biblio->unblessed }};
329
            for my $field (@fields) {
322
            for my $field (@fields) {
330
                push @row, $order->{$field};
323
                push @row, $order->{$field};
331
            }
324
            }
Lines 341-357 sub GetBasketAsCSV { Link Here
341
    }
334
    }
342
    else {
335
    else {
343
        foreach my $order (@orders) {
336
        foreach my $order (@orders) {
344
            my $bd = GetBiblioData( $order->{'biblionumber'} );
337
            my $biblio = Koha::Biblios->find( $order->{biblionumber} );
338
            my $biblioitem = $biblio->biblioitem;
345
            my $row = {
339
            my $row = {
346
                contractname => $contract->{'contractname'},
340
                contractname => $contract->{'contractname'},
347
                ordernumber => $order->{'ordernumber'},
341
                ordernumber => $order->{'ordernumber'},
348
                entrydate => $order->{'entrydate'},
342
                entrydate => $order->{'entrydate'},
349
                isbn => $order->{'isbn'},
343
                isbn => $order->{'isbn'},
350
                author => $bd->{'author'},
344
                author => $biblio->author,
351
                title => $bd->{'title'},
345
                title => $biblio->title,
352
                publicationyear => $bd->{'publicationyear'},
346
                publicationyear => $biblioitem->publicationyear,
353
                publishercode => $bd->{'publishercode'},
347
                publishercode => $biblioitem->publishercode,
354
                collectiontitle => $bd->{'collectiontitle'},
348
                collectiontitle => $biblioitem->collectiontitle,
355
                notes => $order->{'order_vendornote'},
349
                notes => $order->{'order_vendornote'},
356
                quantity => $order->{'quantity'},
350
                quantity => $order->{'quantity'},
357
                rrp => $order->{'rrp'},
351
                rrp => $order->{'rrp'},
Lines 410-425 sub GetBasketGroupAsCSV { Link Here
410
        my $basketgroup = GetBasketgroup( $$basket{basketgroupid} );
404
        my $basketgroup = GetBasketgroup( $$basket{basketgroupid} );
411
405
412
        foreach my $order (@orders) {
406
        foreach my $order (@orders) {
413
            my $bd = GetBiblioData( $order->{'biblionumber'} );
407
            my $biblio = Koha::Biblios->find( $order->{biblionumber} );
408
            my $biblioitem = $biblio->biblioitem;
414
            my $row = {
409
            my $row = {
415
                clientnumber => $bookseller->accountnumber,
410
                clientnumber => $bookseller->accountnumber,
416
                basketname => $basket->{basketname},
411
                basketname => $basket->{basketname},
417
                ordernumber => $order->{ordernumber},
412
                ordernumber => $order->{ordernumber},
418
                author => $bd->{author},
413
                author => $biblio->author,
419
                title => $bd->{title},
414
                title => $biblio->title,
420
                publishercode => $bd->{publishercode},
415
                publishercode => $biblioitem->publishercode,
421
                publicationyear => $bd->{publicationyear},
416
                publicationyear => $biblioitem->publicationyear,
422
                collectiontitle => $bd->{collectiontitle},
417
                collectiontitle => $biblioitem->collectiontitle,
423
                isbn => $order->{isbn},
418
                isbn => $order->{isbn},
424
                quantity => $order->{quantity},
419
                quantity => $order->{quantity},
425
                rrp_tax_included => $order->{rrp_tax_included},
420
                rrp_tax_included => $order->{rrp_tax_included},
(-)a/C4/Biblio.pm (-5 / +6 lines)
Lines 3680-3691 sub UpdateTotalIssues { Link Here
3680
        carp "UpdateTotalIssues could not get biblio record";
3680
        carp "UpdateTotalIssues could not get biblio record";
3681
        return;
3681
        return;
3682
    }
3682
    }
3683
    my $data = GetBiblioData($biblionumber);
3683
    my $biblio = Koha::Biblios->find( $biblionumber );
3684
    unless ($data) {
3684
    unless ($biblio) {
3685
        carp "UpdateTotalIssues could not get datas of biblio";
3685
        carp "UpdateTotalIssues could not get datas of biblio";
3686
        return;
3686
        return;
3687
    }
3687
    }
3688
    my ($totalissuestag, $totalissuessubfield) = GetMarcFromKohaField('biblioitems.totalissues', $data->{'frameworkcode'});
3688
    my $biblioitem = $biblio->biblioitem;
3689
    my ($totalissuestag, $totalissuessubfield) = GetMarcFromKohaField('biblioitems.totalissues', $biblio->frameworkcode);
3689
    unless ($totalissuestag) {
3690
    unless ($totalissuestag) {
3690
        return 1; # There is nothing to do
3691
        return 1; # There is nothing to do
3691
    }
3692
    }
Lines 3693-3699 sub UpdateTotalIssues { Link Here
3693
    if (defined $value) {
3694
    if (defined $value) {
3694
        $totalissues = $value;
3695
        $totalissues = $value;
3695
    } else {
3696
    } else {
3696
        $totalissues = $data->{'totalissues'} + $increase;
3697
        $totalissues = $biblioitem->totalissues + $increase;
3697
    }
3698
    }
3698
3699
3699
     my $field = $record->field($totalissuestag);
3700
     my $field = $record->field($totalissuestag);
Lines 3705-3711 sub UpdateTotalIssues { Link Here
3705
         $record->insert_grouped_field($field);
3706
         $record->insert_grouped_field($field);
3706
     }
3707
     }
3707
3708
3708
     return ModBiblio($record, $biblionumber, $data->{'frameworkcode'});
3709
     return ModBiblio($record, $biblionumber, $biblio->frameworkcode);
3709
}
3710
}
3710
3711
3711
=head2 RemoveAllNsb
3712
=head2 RemoveAllNsb
(-)a/C4/Circulation.pm (-2 / +2 lines)
Lines 1832-1839 sub AddReturn { Link Here
1832
    my $itemnumber = $item->{ itemnumber };
1832
    my $itemnumber = $item->{ itemnumber };
1833
1833
1834
    my $item_level_itypes = C4::Context->preference("item-level_itypes");
1834
    my $item_level_itypes = C4::Context->preference("item-level_itypes");
1835
    my $biblio   = $item_level_itypes ? undef : GetBiblioData( $item->{ biblionumber } ); # don't get bib data unless we need it
1835
    my $biblio   = $item_level_itypes ? undef : Koha::Biblios->find( $item->{ biblionumber } ); # don't get bib data unless we need it
1836
    my $itemtype = $item_level_itypes ? $item->{itype} : $biblio->{itemtype};
1836
    my $itemtype = $item_level_itypes ? $item->{itype} : $biblio->biblioitem->itemtype;
1837
1837
1838
    my $issue  = GetItemIssue($itemnumber);
1838
    my $issue  = GetItemIssue($itemnumber);
1839
    if ($issue and $issue->{borrowernumber}) {
1839
    if ($issue and $issue->{borrowernumber}) {
(-)a/C4/HoldsQueue.pm (-2 / +2 lines)
Lines 683-690 sub CreatePicklistFromItemMap { Link Here
683
        my $firstname = $borrower->{'firstname'};
683
        my $firstname = $borrower->{'firstname'};
684
        my $phone = $borrower->{'phone'};
684
        my $phone = $borrower->{'phone'};
685
685
686
        my $bib = GetBiblioData($biblionumber);
686
        my $biblio = Koha::Biblios->find( $biblionumber );
687
        my $title = $bib->{title};
687
        my $title = $biblio->title;
688
688
689
        $sth_load->execute($biblionumber, $itemnumber, $barcode, $surname, $firstname, $phone, $borrowernumber,
689
        $sth_load->execute($biblionumber, $itemnumber, $barcode, $surname, $firstname, $phone, $borrowernumber,
690
                           $cardnumber, $reservedate, $title, $itemcallnumber,
690
                           $cardnumber, $reservedate, $title, $itemcallnumber,
(-)a/C4/Reserves.pm (-2 / +3 lines)
Lines 36-41 use C4::Members qw(); Link Here
36
use C4::Letters;
36
use C4::Letters;
37
use C4::Log;
37
use C4::Log;
38
38
39
use Koha::Biblios;
39
use Koha::DateUtils;
40
use Koha::DateUtils;
40
use Koha::Calendar;
41
use Koha::Calendar;
41
use Koha::Database;
42
use Koha::Database;
Lines 365-371 sub CanItemBeReserved { Link Here
365
    # we retrieve borrowers and items informations #
366
    # we retrieve borrowers and items informations #
366
    # item->{itype} will come for biblioitems if necessery
367
    # item->{itype} will come for biblioitems if necessery
367
    my $item       = GetItem($itemnumber);
368
    my $item       = GetItem($itemnumber);
368
    my $biblioData = C4::Biblio::GetBiblioData( $item->{biblionumber} );
369
    my $biblio     = Koha::Biblios->find( $item->{biblionumber} );
369
    my $borrower   = C4::Members::GetMember( 'borrowernumber' => $borrowernumber );
370
    my $borrower   = C4::Members::GetMember( 'borrowernumber' => $borrowernumber );
370
371
371
    # If an item is damaged and we don't allow holds on damaged items, we can stop right here
372
    # If an item is damaged and we don't allow holds on damaged items, we can stop right here
Lines 375-381 sub CanItemBeReserved { Link Here
375
376
376
    # Check for the age restriction
377
    # Check for the age restriction
377
    my ( $ageRestriction, $daysToAgeRestriction ) =
378
    my ( $ageRestriction, $daysToAgeRestriction ) =
378
      C4::Circulation::GetAgeRestriction( $biblioData->{agerestriction}, $borrower );
379
      C4::Circulation::GetAgeRestriction( $biblio->biblioitem->agerestriction, $borrower );
379
    return 'ageRestricted' if $daysToAgeRestriction && $daysToAgeRestriction > 0;
380
    return 'ageRestricted' if $daysToAgeRestriction && $daysToAgeRestriction > 0;
380
381
381
    # Check that the patron doesn't have an item level hold on this item already
382
    # Check that the patron doesn't have an item level hold on this item already
(-)a/C4/XISBN.pm (-4 / +5 lines)
Lines 26-31 use C4::External::Syndetics qw(get_syndetics_editions); Link Here
26
use LWP::UserAgent;
26
use LWP::UserAgent;
27
use HTTP::Request::Common;
27
use HTTP::Request::Common;
28
28
29
use Koha::Biblios;
29
use Koha::SearchEngine;
30
use Koha::SearchEngine;
30
use Koha::SearchEngine::Search;
31
use Koha::SearchEngine::Search;
31
32
Lines 74-83 sub _get_biblio_from_xisbn { Link Here
74
    my $biblionumber = C4::Biblio::get_koha_field_from_marc('biblio', 'biblionumber', $record, '');
75
    my $biblionumber = C4::Biblio::get_koha_field_from_marc('biblio', 'biblionumber', $record, '');
75
    return unless $biblionumber;
76
    return unless $biblionumber;
76
77
77
    my $xbiblio = GetBiblioData($biblionumber);
78
    my $biblio = Koha::Biblios->find( $biblionumber );
78
    return unless $xbiblio;
79
    return unless $biblio;
79
    $xbiblio->{normalized_isbn} = GetNormalizedISBN($xbiblio->{isbn});
80
    $biblio->{normalized_isbn} = GetNormalizedISBN($biblio->biblioitem->isbn);
80
    return $xbiblio;
81
    return $biblio;
81
}
82
}
82
83
83
=head1 get_xisbns($isbn);
84
=head1 get_xisbns($isbn);
(-)a/acqui/basketgroup.pl (-2 / +3 lines)
Lines 55-60 use C4::Acquisition qw/CloseBasketgroup ReOpenBasketgroup GetOrders GetBasketsBy Link Here
55
use C4::Members qw/GetMember/;
55
use C4::Members qw/GetMember/;
56
use Koha::EDI qw/create_edi_order get_edifact_ean/;
56
use Koha::EDI qw/create_edi_order get_edifact_ean/;
57
57
58
use Koha::Biblioitems;
58
use Koha::Acquisition::Booksellers;
59
use Koha::Acquisition::Booksellers;
59
use Koha::ItemTypes;
60
use Koha::ItemTypes;
60
61
Lines 174-180 sub printbasketgrouppdf{ Link Here
174
            $ord->{total_tax_included} = $ord->{ecost_tax_included} * $ord->{quantity};
175
            $ord->{total_tax_included} = $ord->{ecost_tax_included} * $ord->{quantity};
175
            $ord->{total_tax_excluded} = $ord->{ecost_tax_excluded} * $ord->{quantity};
176
            $ord->{total_tax_excluded} = $ord->{ecost_tax_excluded} * $ord->{quantity};
176
177
177
            my $bib = GetBiblioData($ord->{biblionumber});
178
            my $biblioitem = Koha::Biblioitems->search({ biblionumber => $ord->{biblionumber} })->next;
178
179
179
            #FIXME DELETE ME
180
            #FIXME DELETE ME
180
            # 0      1        2        3         4            5         6       7      8        9
181
            # 0      1        2        3         4            5         6       7      8        9
Lines 195-201 sub printbasketgrouppdf{ Link Here
195
                }
196
                }
196
            }
197
            }
197
198
198
            $ord->{itemtype} = ( $ord->{itemtype} and $bib->{itemtype} ) ? Koha::ItemTypes->find( $bib->{itemtype} )->description : undef;
199
            $ord->{itemtype} = ( $ord->{itemtype} and $biblioitem->itemtype ) ? Koha::ItemTypes->find( $biblioitem->itemtype )->description : undef;
199
            $ord->{en} = $en ? $en : undef;
200
            $ord->{en} = $en ? $en : undef;
200
            $ord->{edition} = $edition ? $edition : undef;
201
            $ord->{edition} = $edition ? $edition : undef;
201
202
(-)a/cataloguing/moveitem.pl (-2 / +4 lines)
Lines 31-36 use C4::Koha; Link Here
31
use C4::ClassSource;
31
use C4::ClassSource;
32
use C4::Acquisition qw/GetOrderFromItemnumber ModOrder GetOrder/;
32
use C4::Acquisition qw/GetOrderFromItemnumber ModOrder GetOrder/;
33
33
34
use Koha::Biblios;
35
34
use Date::Calc qw(Today);
36
use Date::Calc qw(Today);
35
37
36
use MARC::File::XML;
38
use MARC::File::XML;
Lines 55-62 my ($template, $loggedinuser, $cookie) = get_template_and_user( Link Here
55
57
56
58
57
59
58
my $biblio = GetBiblioData($biblionumber);
60
my $biblio = Koha::Biblios->find( $biblionumber );
59
$template->param(bibliotitle => $biblio->{'title'});
61
$template->param(bibliotitle => $biblio->title);
60
$template->param(biblionumber => $biblionumber);
62
$template->param(biblionumber => $biblionumber);
61
63
62
# If we already have the barcode of the item to move and the biblionumber to move the item to
64
# If we already have the barcode of the item to move and the biblionumber to move the item to
(-)a/labels/label-item-search.pl (-1 lines)
Lines 128-134 if ($show_results) { Link Here
128
    my @items =();
128
    my @items =();
129
    # This code needs to be refactored using these subs...
129
    # This code needs to be refactored using these subs...
130
    #my @items = &GetItemsInfo( $biblio->{biblionumber}, 'intra' );
130
    #my @items = &GetItemsInfo( $biblio->{biblionumber}, 'intra' );
131
    #my $dat = &GetBiblioData( $biblio->{biblionumber} );
132
    for ( my $i = 0 ; $i < $hits ; $i++ ) {
131
    for ( my $i = 0 ; $i < $hits ; $i++ ) {
133
        my @row_data= ();
132
        my @row_data= ();
134
        #DEBUG Notes: Decode the MARC record from each resulting MARC record...
133
        #DEBUG Notes: Decode the MARC record from each resulting MARC record...
(-)a/misc/migration_tools/bulkmarcimport.pl (-1 / +4 lines)
Lines 31-36 use Getopt::Long; Link Here
31
use IO::File;
31
use IO::File;
32
use Pod::Usage;
32
use Pod::Usage;
33
33
34
use Koha::Biblios;
34
use Koha::SearchEngine;
35
use Koha::SearchEngine;
35
use Koha::SearchEngine::Search;
36
use Koha::SearchEngine::Search;
36
37
Lines 417-423 RECORD: while ( ) { Link Here
417
			}
418
			}
418
					# create biblio, unless we already have it ( either match or isbn )
419
					# create biblio, unless we already have it ( either match or isbn )
419
            if ($biblionumber) {
420
            if ($biblionumber) {
420
                eval{$biblioitemnumber=GetBiblioData($biblionumber)->{biblioitemnumber};};
421
                eval{
422
                    $biblioitemnumber = Koha::Biblios->find( $biblionumber )->biblioitem->biblioitemnumber;
423
                };
421
                if ($update) {
424
                if ($update) {
422
                    eval { ( $biblionumber, $biblioitemnumber ) = ModBiblio( $record, $biblionumber, GetFrameworkCode($biblionumber) ) };
425
                    eval { ( $biblionumber, $biblioitemnumber ) = ModBiblio( $record, $biblionumber, GetFrameworkCode($biblionumber) ) };
423
                    if ($@) {
426
                    if ($@) {
(-)a/misc/migration_tools/import_lexile.pl (-7 / +9 lines)
Lines 34-39 use Text::CSV; Link Here
34
use C4::Context;
34
use C4::Context;
35
use C4::Biblio;
35
use C4::Biblio;
36
use C4::Koha qw( GetVariationsOfISBN );
36
use C4::Koha qw( GetVariationsOfISBN );
37
38
use Koha::Biblios;
37
use Koha::Database;
39
use Koha::Database;
38
40
39
binmode STDOUT, ':encoding(UTF-8)';
41
binmode STDOUT, ':encoding(UTF-8)';
Lines 156-168 while ( my $row = $csv->getline_hr($fh) ) { Link Here
156
            say "Found matching record! Biblionumber: $biblionumber";
158
            say "Found matching record! Biblionumber: $biblionumber";
157
159
158
            if ( $verbose > 2 ) {
160
            if ( $verbose > 2 ) {
159
                my $biblio = GetBiblioData($biblionumber);
161
                my $biblio = Koha::Biblios->find( $biblionumber );
160
                say "Title from record: " . $biblio->{title}
162
                say "Title from record: " . $biblio->title
161
                  if ( $biblio->{title} );
163
                  if $biblio->title;
162
                say "Author from record: " . $biblio->{author}
164
                say "Author from record: " . $biblio->author
163
                  if ( $biblio->{author} );
165
                  if $biblio->author;
164
                say "ISBN from record: " . $biblio->{isbn}
166
                say "ISBN from record: " . $biblio->biblioitem->isbn
165
                  if ( $biblio->{isbn} );
167
                  if $biblio->biblioitem->isbn;
166
            }
168
            }
167
            say "Title: " . $row->{Title};
169
            say "Title: " . $row->{Title};
168
            say "Author: " . $row->{Author};
170
            say "Author: " . $row->{Author};
(-)a/opac/opac-MARCdetail.pl (-2 / +4 lines)
Lines 57-62 use C4::Members; Link Here
57
use C4::Acquisition;
57
use C4::Acquisition;
58
use C4::Koha;
58
use C4::Koha;
59
use List::MoreUtils qw( any uniq );
59
use List::MoreUtils qw( any uniq );
60
61
use Koha::Biblios;
60
use Koha::RecordProcessor;
62
use Koha::RecordProcessor;
61
63
62
my $query = new CGI;
64
my $query = new CGI;
Lines 89-95 if (scalar @all_items >= 1) { Link Here
89
my $framework = &GetFrameworkCode( $biblionumber );
91
my $framework = &GetFrameworkCode( $biblionumber );
90
my $tagslib = &GetMarcStructure( 0, $framework );
92
my $tagslib = &GetMarcStructure( 0, $framework );
91
my ($tag_itemnumber,$subtag_itemnumber) = &GetMarcFromKohaField('items.itemnumber',$framework);
93
my ($tag_itemnumber,$subtag_itemnumber) = &GetMarcFromKohaField('items.itemnumber',$framework);
92
my $biblio = GetBiblioData($biblionumber);
94
my $biblio = Koha::Biblios->find( $biblionumber );
93
95
94
my $record_processor = Koha::RecordProcessor->new({
96
my $record_processor = Koha::RecordProcessor->new({
95
    filters => 'ViewPolicy',
97
    filters => 'ViewPolicy',
Lines 113-119 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
113
115
114
my ($bt_tag,$bt_subtag) = GetMarcFromKohaField('biblio.title',$framework);
116
my ($bt_tag,$bt_subtag) = GetMarcFromKohaField('biblio.title',$framework);
115
$template->param(
117
$template->param(
116
    bibliotitle => $biblio->{title},
118
    bibliotitle => $biblio->title,
117
) if $tagslib->{$bt_tag}->{$bt_subtag}->{hidden} <= 0 && # <=0 OPAC visible.
119
) if $tagslib->{$bt_tag}->{$bt_subtag}->{hidden} <= 0 && # <=0 OPAC visible.
118
     $tagslib->{$bt_tag}->{$bt_subtag}->{hidden} > -8;   # except -8;
120
     $tagslib->{$bt_tag}->{$bt_subtag}->{hidden} > -8;   # except -8;
119
121
(-)a/opac/opac-addbybiblionumber.pl (-3 / +4 lines)
Lines 25-30 use C4::Biblio; Link Here
25
use C4::Output;
25
use C4::Output;
26
use C4::Auth;
26
use C4::Auth;
27
27
28
use Koha::Biblios;
28
use Koha::Virtualshelves;
29
use Koha::Virtualshelves;
29
30
30
my $query           = new CGI;
31
my $query           = new CGI;
Lines 141-152 if ($newvirtualshelf) { Link Here
141
142
142
if ($authorized) {
143
if ($authorized) {
143
    for my $biblionumber (@biblionumbers) {
144
    for my $biblionumber (@biblionumbers) {
144
        my $data = GetBiblioData($biblionumber);
145
        my $biblio = Koha::Biblios->find( $biblionumber );
145
        push(
146
        push(
146
            @biblios,
147
            @biblios,
147
            {   biblionumber => $biblionumber,
148
            {   biblionumber => $biblionumber,
148
                title        => $data->{'title'},
149
                title        => $biblio->title,
149
                author       => $data->{'author'},
150
                author       => $biblio->author,
150
            }
151
            }
151
        );
152
        );
152
    }
153
    }
(-)a/opac/opac-detail.pl (-6 / +8 lines)
Lines 48-53 use C4::Images; Link Here
48
use Koha::DateUtils;
48
use Koha::DateUtils;
49
use C4::HTML5Media;
49
use C4::HTML5Media;
50
use C4::CourseReserves qw(GetItemCourseReservesInfo);
50
use C4::CourseReserves qw(GetItemCourseReservesInfo);
51
52
use Koha::Biblios;
51
use Koha::RecordProcessor;
53
use Koha::RecordProcessor;
52
use Koha::AuthorisedValues;
54
use Koha::AuthorisedValues;
53
use Koha::Biblios;
55
use Koha::Biblios;
Lines 433-454 if ($session->param('busc')) { Link Here
433
    $numberBiblioPaging = $paging{'previous'}->{biblionumber};
435
    $numberBiblioPaging = $paging{'previous'}->{biblionumber};
434
    if ($numberBiblioPaging) {
436
    if ($numberBiblioPaging) {
435
        $template->param( 'previousBiblionumber' => $numberBiblioPaging );
437
        $template->param( 'previousBiblionumber' => $numberBiblioPaging );
436
        $dataBiblioPaging = GetBiblioData($numberBiblioPaging);
438
        $dataBiblioPaging = Koha::Biblios->find( $numberBiblioPaging );
437
        $template->param('previousTitle' => $dataBiblioPaging->{'title'}) if ($dataBiblioPaging);
439
        $template->param('previousTitle' => $dataBiblioPaging->title) if $dataBiblioPaging;
438
    }
440
    }
439
    # Next biblio
441
    # Next biblio
440
    $numberBiblioPaging = $paging{'next'}->{biblionumber};
442
    $numberBiblioPaging = $paging{'next'}->{biblionumber};
441
    if ($numberBiblioPaging) {
443
    if ($numberBiblioPaging) {
442
        $template->param( 'nextBiblionumber' => $numberBiblioPaging );
444
        $template->param( 'nextBiblionumber' => $numberBiblioPaging );
443
        $dataBiblioPaging = GetBiblioData($numberBiblioPaging);
445
        $dataBiblioPaging = Koha::Biblios->find( $numberBiblioPaging );
444
        $template->param('nextTitle' => $dataBiblioPaging->{'title'}) if ($dataBiblioPaging);
446
        $template->param('nextTitle' => $dataBiblioPaging->title) if $dataBiblioPaging;
445
    }
447
    }
446
    # Partial list of biblio results
448
    # Partial list of biblio results
447
    my @listResults;
449
    my @listResults;
448
    for (my $j = 0; $j < @arrBiblios; $j++) {
450
    for (my $j = 0; $j < @arrBiblios; $j++) {
449
        next unless ($arrBiblios[$j]);
451
        next unless ($arrBiblios[$j]);
450
        $dataBiblioPaging = GetBiblioData($arrBiblios[$j]) if ($arrBiblios[$j] != $biblionumber);
452
        $dataBiblioPaging = Koha::Biblios->find( $arrBiblios[$j] ) if ($arrBiblios[$j] != $biblionumber);
451
        push @listResults, {index => $j + 1 + $offset, biblionumber => $arrBiblios[$j], title => ($arrBiblios[$j] == $biblionumber)?'':$dataBiblioPaging->{title}, author => ($arrBiblios[$j] != $biblionumber && $dataBiblioPaging->{author})?$dataBiblioPaging->{author}:'', url => ($arrBiblios[$j] == $biblionumber)?'':'opac-detail.pl?biblionumber=' . $arrBiblios[$j]};
453
        push @listResults, {index => $j + 1 + $offset, biblionumber => $arrBiblios[$j], title => ($arrBiblios[$j] == $biblionumber)?'':$dataBiblioPaging->title, author => ($arrBiblios[$j] != $biblionumber && $dataBiblioPaging->author)?$dataBiblioPaging->author:'', url => ($arrBiblios[$j] == $biblionumber)?'':'opac-detail.pl?biblionumber=' . $arrBiblios[$j]};
452
    }
454
    }
453
    $template->param('listResults' => \@listResults) if (@listResults);
455
    $template->param('listResults' => \@listResults) if (@listResults);
454
    $template->param('indexPag' => 1 + $offset, 'totalPag' => $arrParamsBusc{'total'}, 'indexPagEnd' => scalar(@arrBiblios) + $offset);
456
    $template->param('indexPag' => 1 + $offset, 'totalPag' => $arrParamsBusc{'total'}, 'indexPagEnd' => scalar(@arrBiblios) + $offset);
(-)a/opac/opac-reserve.pl (-1 / +3 lines)
Lines 32-38 use C4::Context; Link Here
32
use C4::Members;
32
use C4::Members;
33
use C4::Overdues;
33
use C4::Overdues;
34
use C4::Debug;
34
use C4::Debug;
35
35
use Koha::AuthorisedValues;
36
use Koha::AuthorisedValues;
37
use Koha::Biblios;
36
use Koha::DateUtils;
38
use Koha::DateUtils;
37
use Koha::Items;
39
use Koha::Items;
38
use Koha::ItemTypes;
40
use Koha::ItemTypes;
Lines 521-527 foreach my $biblioNum (@biblionumbers) { Link Here
521
        if ( $itemInfo->{biblionumber} ne $biblioNum ) {
523
        if ( $itemInfo->{biblionumber} ne $biblioNum ) {
522
            $biblioLoopIter{hostitemsflag}    = 1;
524
            $biblioLoopIter{hostitemsflag}    = 1;
523
            $itemLoopIter->{hostbiblionumber} = $itemInfo->{biblionumber};
525
            $itemLoopIter->{hostbiblionumber} = $itemInfo->{biblionumber};
524
            $itemLoopIter->{hosttitle}        = GetBiblioData( $itemInfo->{biblionumber} )->{title};
526
            $itemLoopIter->{hosttitle}        = Koha::Biblios->find( $itemInfo->{biblionumber} )->title;
525
        }
527
        }
526
528
527
        # If there is no loan, return and transfer, we show a checkbox.
529
        # If there is no loan, return and transfer, we show a checkbox.
(-)a/opac/opac-review.pl (-2 / +4 lines)
Lines 25-30 use C4::Output; Link Here
25
use C4::Biblio;
25
use C4::Biblio;
26
use C4::Scrubber;
26
use C4::Scrubber;
27
use C4::Debug;
27
use C4::Debug;
28
29
use Koha::Biblios;
28
use Koha::DateUtils;
30
use Koha::DateUtils;
29
use Koha::Review;
31
use Koha::Review;
30
use Koha::Reviews;
32
use Koha::Reviews;
Lines 45-51 my ( $template, $borrowernumber, $cookie ) = get_template_and_user( Link Here
45
# FIXME: need to allow user to delete their own comment(s)
47
# FIXME: need to allow user to delete their own comment(s)
46
48
47
my ( $clean, @errors, $savedreview );
49
my ( $clean, @errors, $savedreview );
48
my $biblio = GetBiblioData($biblionumber);
50
my $biblio = Koha::Biblios->find( $biblionumber );
49
51
50
if( !$biblio ) {
52
if( !$biblio ) {
51
    push @errors, { nobiblio => 1 };
53
    push @errors, { nobiblio => 1 };
Lines 101-107 $template->param( Link Here
101
    'borrowernumber' => $borrowernumber,
103
    'borrowernumber' => $borrowernumber,
102
    'review'         => $review,
104
    'review'         => $review,
103
    'reviewid'       => $reviewid || 0,
105
    'reviewid'       => $reviewid || 0,
104
    'title'          => $biblio->{'title'},
106
    'title'          => $biblio->title,
105
);
107
);
106
108
107
output_html_with_http_headers $query, $cookie, $template->output;
109
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/opac/opac-search.pl (-1 / +1 lines)
Lines 46-52 use C4::Auth qw(:DEFAULT get_session); Link Here
46
use C4::Languages qw(getLanguages);
46
use C4::Languages qw(getLanguages);
47
use C4::Search;
47
use C4::Search;
48
use C4::Search::History;
48
use C4::Search::History;
49
use C4::Biblio;  # GetBiblioData
49
use C4::Biblio; # Unused here?
50
use C4::Koha;
50
use C4::Koha;
51
use C4::Tags qw(get_tags);
51
use C4::Tags qw(get_tags);
52
use C4::SocialData;
52
use C4::SocialData;
(-)a/opac/opac-showreviews.pl (-10 / +11 lines)
Lines 89-95 my $i = 0; Link Here
89
my $latest_comment_date;
89
my $latest_comment_date;
90
for my $result (@$reviews){
90
for my $result (@$reviews){
91
    my $biblionumber = $result->{biblionumber};
91
    my $biblionumber = $result->{biblionumber};
92
	my $bib = &GetBiblioData($biblionumber);
92
    my $biblio = Koha::Biblios->find( $biblionumber );
93
    my $biblioitem = $biblio->biblioitem;
93
    my $record = GetMarcBiblio($biblionumber);
94
    my $record = GetMarcBiblio($biblionumber);
94
    my $frameworkcode = GetFrameworkCode($biblionumber);
95
    my $frameworkcode = GetFrameworkCode($biblionumber);
95
    my ( $borr ) = GetMember( borrowernumber => $result->{borrowernumber} );
96
    my ( $borr ) = GetMember( borrowernumber => $result->{borrowernumber} );
Lines 97-112 for my $result (@$reviews){ Link Here
97
	$result->{normalized_ean} = GetNormalizedEAN($record,$marcflavour);
98
	$result->{normalized_ean} = GetNormalizedEAN($record,$marcflavour);
98
	$result->{normalized_oclc} = GetNormalizedOCLCNumber($record,$marcflavour);
99
	$result->{normalized_oclc} = GetNormalizedOCLCNumber($record,$marcflavour);
99
	$result->{normalized_isbn} = GetNormalizedISBN(undef,$record,$marcflavour);
100
	$result->{normalized_isbn} = GetNormalizedISBN(undef,$record,$marcflavour);
100
	$result->{title} = $bib->{'title'};
101
	$result->{title} = $biblio->title;
101
	$result->{subtitle} = GetRecordValue('subtitle', $record, $frameworkcode);
102
	$result->{subtitle} = GetRecordValue('subtitle', $record, $frameworkcode);
102
	$result->{author} = $bib->{'author'};
103
	$result->{author} = $biblio->author;
103
	$result->{place} = $bib->{'place'};
104
	$result->{place} = $biblioitem->place;
104
	$result->{publishercode} = $bib->{'publishercode'};
105
	$result->{publishercode} = $biblioitem->publishercode;
105
	$result->{copyrightdate} = $bib->{'copyrightdate'};
106
	$result->{copyrightdate} = $biblio->copyrightdate;
106
	$result->{pages} = $bib->{'pages'};
107
	$result->{pages} = $biblioitem->pages;
107
	$result->{size} = $bib->{'size'};
108
	$result->{size} = $biblioitem->size;
108
	$result->{notes} = $bib->{'notes'};
109
	$result->{notes} = $biblioitem->notes;
109
	$result->{timestamp} = $bib->{'timestamp'};
110
	$result->{timestamp} = $biblioitem->timestamp;
110
    $result->{borrtitle} = $borr->{'title'};
111
    $result->{borrtitle} = $borr->{'title'};
111
	$result->{firstname} = $borr->{'firstname'};
112
	$result->{firstname} = $borr->{'firstname'};
112
	$result->{surname} = $borr->{'surname'};
113
	$result->{surname} = $borr->{'surname'};
(-)a/opac/opac-tags.pl (-3 / +5 lines)
Lines 46-51 use C4::XSLT; Link Here
46
46
47
use Data::Dumper;
47
use Data::Dumper;
48
48
49
use Koha::Biblios;
50
49
my %newtags = ();
51
my %newtags = ();
50
my @deltags = ();
52
my @deltags = ();
51
my %counts  = ();
53
my %counts  = ();
Lines 229-239 if ($loggedinuser) { Link Here
229
    $my_tags = get_tag_rows({borrowernumber=>$loggedinuser});
231
    $my_tags = get_tag_rows({borrowernumber=>$loggedinuser});
230
    my $my_approved_tags = get_approval_rows({ approved => 1 });
232
    my $my_approved_tags = get_approval_rows({ approved => 1 });
231
    foreach my $tag (@$my_tags) {
233
    foreach my $tag (@$my_tags) {
232
        my $biblio = GetBiblioData($tag->{biblionumber});
234
        my $biblio = Koha::Biblios->find( $tag->{biblionumber} );
233
        my $record = &GetMarcBiblio( $tag->{biblionumber} );
235
        my $record = &GetMarcBiblio( $tag->{biblionumber} );
234
        $tag->{subtitle} = GetRecordValue( 'subtitle', $record, GetFrameworkCode( $tag->{biblionumber} ) );
236
        $tag->{subtitle} = GetRecordValue( 'subtitle', $record, GetFrameworkCode( $tag->{biblionumber} ) );
235
        $tag->{title} = $biblio->{title};
237
        $tag->{title} = $biblio->title;
236
        $tag->{author} = $biblio->{author};
238
        $tag->{author} = $biblio->author;
237
239
238
        my $xslfile = C4::Context->preference('OPACXSLTResultsDisplay');
240
        my $xslfile = C4::Context->preference('OPACXSLTResultsDisplay');
239
        my $lang   = $xslfile ? C4::Languages::getlanguage()  : undef;
241
        my $lang   = $xslfile ? C4::Languages::getlanguage()  : undef;
(-)a/reserve/request.pl (-9 / +11 lines)
Lines 42-47 use Koha::DateUtils; Link Here
42
use C4::Utils::DataTables::Members;
42
use C4::Utils::DataTables::Members;
43
use C4::Members;
43
use C4::Members;
44
use C4::Search;		# enabled_staff_search_views
44
use C4::Search;		# enabled_staff_search_views
45
46
use Koha::Biblios;
45
use Koha::DateUtils;
47
use Koha::DateUtils;
46
use Koha::Holds;
48
use Koha::Holds;
47
use Koha::Items;
49
use Koha::Items;
Lines 213-219 foreach my $biblionumber (@biblionumbers) { Link Here
213
215
214
    my %biblioloopiter = ();
216
    my %biblioloopiter = ();
215
217
216
    my $dat = GetBiblioData($biblionumber);
218
    my $biblio = Koha::Biblios->find( $biblionumber );
217
219
218
    my $canReserve = CanBookBeReserved( $borrowerinfo->{borrowernumber}, $biblionumber );
220
    my $canReserve = CanBookBeReserved( $borrowerinfo->{borrowernumber}, $biblionumber );
219
    $canReserve //= '';
221
    $canReserve //= '';
Lines 376-386 foreach my $biblionumber (@biblionumbers) { Link Here
376
                $item->{holdingbranch} = $item->{holdingbranch};
378
                $item->{holdingbranch} = $item->{holdingbranch};
377
            }
379
            }
378
380
379
		if($item->{biblionumber} ne $biblionumber){
381
            if($item->{biblionumber} ne $biblionumber){
380
			$item->{hostitemsflag}=1;
382
                $item->{hostitemsflag} = 1;
381
		        $item->{hosttitle} = GetBiblioData($item->{biblionumber})->{title};
383
                $item->{hosttitle} = Koha::Biblios->find( $item->{biblionumber} )->title;
382
		}
384
            }
383
		
385
384
            # if the item is currently on loan, we display its return date and
386
            # if the item is currently on loan, we display its return date and
385
            # change the background color
387
            # change the background color
386
            my $issues= GetItemIssue($itemnumber);
388
            my $issues= GetItemIssue($itemnumber);
Lines 605-612 foreach my $biblionumber (@biblionumbers) { Link Here
605
                     date              => $date,
607
                     date              => $date,
606
                     biblionumber      => $biblionumber,
608
                     biblionumber      => $biblionumber,
607
                     findborrower      => $findborrower,
609
                     findborrower      => $findborrower,
608
                     title             => $dat->{title},
610
                     title             => $biblio->title,
609
                     author            => $dat->{author},
611
                     author            => $biblio->author,
610
                     holdsview => 1,
612
                     holdsview => 1,
611
                     C4::Search::enabled_staff_search_views,
613
                     C4::Search::enabled_staff_search_views,
612
                    );
614
                    );
Lines 615-621 foreach my $biblionumber (@biblionumbers) { Link Here
615
    }
617
    }
616
618
617
    $biblioloopiter{biblionumber} = $biblionumber;
619
    $biblioloopiter{biblionumber} = $biblionumber;
618
    $biblioloopiter{title} = $dat->{title};
620
    $biblioloopiter{title} = $biblio->title;
619
    $biblioloopiter{rank} = $fixedRank;
621
    $biblioloopiter{rank} = $fixedRank;
620
    $biblioloopiter{reserveloop} = \@reserveloop;
622
    $biblioloopiter{reserveloop} = \@reserveloop;
621
623
(-)a/reviews/reviewswaiting.pl (-2 / +4 lines)
Lines 23-28 use C4::Output; Link Here
23
use C4::Context;
23
use C4::Context;
24
use C4::Members;
24
use C4::Members;
25
use C4::Biblio;
25
use C4::Biblio;
26
27
use Koha::Biblios;
26
use Koha::Reviews;
28
use Koha::Reviews;
27
29
28
my $query = new CGI;
30
my $query = new CGI;
Lines 69-77 my $reviews = Koha::Reviews->search( Link Here
69
foreach ( @$reviews ) {
71
foreach ( @$reviews ) {
70
    my $borrowernumber = $_->{borrowernumber};
72
    my $borrowernumber = $_->{borrowernumber};
71
    my $borrowerData   = GetMember('borrowernumber' => $borrowernumber);
73
    my $borrowerData   = GetMember('borrowernumber' => $borrowernumber);
72
    my $biblioData     = GetBiblioData($_->{biblionumber});
74
    my $biblio         = Koha::Biblios->find( $_->{biblionumber} );
73
    # setting some borrower info into this hash
75
    # setting some borrower info into this hash
74
    $_->{bibliotitle} = $biblioData->{'title'};
76
    $_->{bibliotitle} = $biblio->title;
75
    $_->{surname}     = $borrowerData->{'surname'};
77
    $_->{surname}     = $borrowerData->{'surname'};
76
    $_->{firstname}   = $borrowerData->{'firstname'};
78
    $_->{firstname}   = $borrowerData->{'firstname'};
77
}
79
}
(-)a/serials/serials-edit.pl (-2 / +2 lines)
Lines 164-170 foreach my $serialid (@serialids) { Link Here
164
        $processedserialid{$serialid} = 1;
164
        $processedserialid{$serialid} = 1;
165
    }
165
    }
166
}
166
}
167
my $biblio = GetBiblioData( $serialdatalist[0]->{'biblionumber'} );
167
my $biblio = Koha::Biblios->find( $serialdatalist[0]->{biblionumber} );
168
168
169
my @newserialloop;
169
my @newserialloop;
170
my @subscriptionloop;
170
my @subscriptionloop;
Lines 425-431 $template->param( Link Here
425
    serialsadditems => $serialdatalist[0]->{'serialsadditems'},
425
    serialsadditems => $serialdatalist[0]->{'serialsadditems'},
426
    callnumber	     => $serialdatalist[0]->{'callnumber'},
426
    callnumber	     => $serialdatalist[0]->{'callnumber'},
427
    internalnotes   => $serialdatalist[0]->{'internalnotes'},
427
    internalnotes   => $serialdatalist[0]->{'internalnotes'},
428
    bibliotitle     => $biblio->{'title'},
428
    bibliotitle     => $biblio->title,
429
    biblionumber    => $serialdatalist[0]->{'biblionumber'},
429
    biblionumber    => $serialdatalist[0]->{'biblionumber'},
430
    serialslist     => \@serialdatalist,
430
    serialslist     => \@serialdatalist,
431
    default_bib_view => $default_bib_view,
431
    default_bib_view => $default_bib_view,
(-)a/serials/subscription-add.pl (-3 / +4 lines)
Lines 31-36 use C4::Serials::Frequency; Link Here
31
use C4::Serials::Numberpattern;
31
use C4::Serials::Numberpattern;
32
use C4::Letters;
32
use C4::Letters;
33
use Koha::AdditionalField;
33
use Koha::AdditionalField;
34
use Koha::Biblios;
34
use Koha::DateUtils;
35
use Koha::DateUtils;
35
use Koha::ItemTypes;
36
use Koha::ItemTypes;
36
use Carp;
37
use Carp;
Lines 182-191 if ($op eq 'addsubscription') { Link Here
182
183
183
    my $new_biblionumber = $query->param('biblionumber_for_new_subscription');
184
    my $new_biblionumber = $query->param('biblionumber_for_new_subscription');
184
    if (defined $new_biblionumber) {
185
    if (defined $new_biblionumber) {
185
        my $bib = GetBiblioData($new_biblionumber);
186
        my $biblio = Koha::Biblios->find( $new_biblionumber );
186
        if (defined $bib) {
187
        if (defined $biblio) {
187
            $template->param(bibnum      => $new_biblionumber);
188
            $template->param(bibnum      => $new_biblionumber);
188
            $template->param(bibliotitle => $bib->{title});
189
            $template->param(bibliotitle => $biblio->title);
189
        }
190
        }
190
    }
191
    }
191
192
(-)a/tools/batchMod.pl (-5 / +5 lines)
Lines 566-576 sub BuildItemsData{ Link Here
566
566
567
            # grab title, author, and ISBN to identify bib that the item
567
            # grab title, author, and ISBN to identify bib that the item
568
            # belongs to in the display
568
            # belongs to in the display
569
			 my $biblio=GetBiblioData($$itemdata{biblionumber});
569
            my $biblio = Koha::Biblios->find( $itemdata->{biblionumber} );
570
            $this_row{title} = $biblio->{title};
570
            $this_row{title}        = $biblio->title;
571
            $this_row{author} = $biblio->{author};
571
            $this_row{author}       = $biblio->author;
572
            $this_row{isbn} = $biblio->{isbn};
572
            $this_row{isbn}         = $biblio->biblioitem->isbn;
573
            $this_row{biblionumber} = $biblio->{biblionumber};
573
            $this_row{biblionumber} = $biblio->biblionumber;
574
574
575
			if (%this_row) {
575
			if (%this_row) {
576
				push(@big_array, \%this_row);
576
				push(@big_array, \%this_row);
(-)a/tools/inventory.pl (-3 / +5 lines)
Lines 34-39 use C4::Koha; Link Here
34
use C4::Circulation;
34
use C4::Circulation;
35
use C4::Reports::Guided;    #_get_column_defs
35
use C4::Reports::Guided;    #_get_column_defs
36
use C4::Charset;
36
use C4::Charset;
37
38
use Koha::Biblios;
37
use Koha::DateUtils;
39
use Koha::DateUtils;
38
use Koha::AuthorisedValues;
40
use Koha::AuthorisedValues;
39
use Koha::BiblioFrameworks;
41
use Koha::BiblioFrameworks;
Lines 311-319 my $loop = $uploadbarcodes Link Here
311
    ? [ map { $results->{$_} } keys %$results ]
313
    ? [ map { $results->{$_} } keys %$results ]
312
    : $inventorylist // [];
314
    : $inventorylist // [];
313
for my $item ( @$loop ) {
315
for my $item ( @$loop ) {
314
    my $biblio = C4::Biblio::GetBiblioData($item->{biblionumber});
316
    my $biblio = Koha::Biblios->find( $item->{biblionumber} );
315
    $item->{title} = $biblio->{title};
317
    $item->{title} = $biblio->title;
316
    $item->{author} = $biblio->{author};
318
    $item->{author} = $biblio->author;
317
}
319
}
318
320
319
$template->param(
321
$template->param(
(-)a/tools/showdiffmarc.pl (-2 / +4 lines)
Lines 31-36 use C4::Auth; Link Here
31
use C4::Biblio;
31
use C4::Biblio;
32
use C4::ImportBatch;
32
use C4::ImportBatch;
33
33
34
use Koha::Biblios;
35
34
# Input params
36
# Input params
35
my $input        = new CGI;
37
my $input        = new CGI;
36
my $biblionumber = $input->param('id');
38
my $biblionumber = $input->param('id');
Lines 60-67 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
60
$recordBiblionumber = GetMarcBiblio($biblionumber, 'embed_items');
62
$recordBiblionumber = GetMarcBiblio($biblionumber, 'embed_items');
61
if( $recordBiblionumber ) {
63
if( $recordBiblionumber ) {
62
    $formatted1 = $recordBiblionumber->as_formatted;
64
    $formatted1 = $recordBiblionumber->as_formatted;
63
    my $data = GetBiblioData($biblionumber);
65
    my $biblio = Koha::Biblios->find( $biblionumber );
64
    $biblioTitle = $data->{title};
66
    $biblioTitle = $biblio->title;
65
} else {
67
} else {
66
    $errorFormatted1 = 1;
68
    $errorFormatted1 = 1;
67
}
69
}
(-)a/virtualshelves/addbybiblionumber.pl (-4 / +4 lines)
Lines 63-68 use C4::Biblio; Link Here
63
use C4::Output;
63
use C4::Output;
64
use C4::Auth;
64
use C4::Auth;
65
65
66
use Koha::Biblios;
66
use Koha::Virtualshelves;
67
use Koha::Virtualshelves;
67
68
68
my $query           = new CGI;
69
my $query           = new CGI;
Lines 184-195 if ($newvirtualshelf) { Link Here
184
185
185
my @biblios;
186
my @biblios;
186
for my $biblionumber (@biblionumbers) {
187
for my $biblionumber (@biblionumbers) {
187
    my $data = GetBiblioData($biblionumber);
188
    my $biblio = Koha::Biblios->find( $biblionumber );
188
    push(
189
    push(
189
        @biblios,
190
        @biblios,
190
        {   biblionumber => $biblionumber,
191
        {   biblionumber => $biblionumber,
191
            title        => $data->{'title'},
192
            title        => $biblio->title,
192
            author       => $data->{'author'},
193
            author       => $biblio->author,
193
        }
194
        }
194
    );
195
    );
195
}
196
}
196
- 

Return to bug 18262