Bugzilla – Attachment 41130 Details for
Bug 10961
Error in GetMarcBiblio can cause severe data loss
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10961 - (Followup) Error in GetMarcBiblio can cause severe data loss
Bug-10961---Followup-Error-in-GetMarcBiblio-can-ca.patch (text/plain), 3.32 KB, created by
Stéphane Delaune
on 2015-07-23 14:49:52 UTC
(
hide
)
Description:
Bug 10961 - (Followup) Error in GetMarcBiblio can cause severe data loss
Filename:
MIME Type:
Creator:
Stéphane Delaune
Created:
2015-07-23 14:49:52 UTC
Size:
3.32 KB
patch
obsolete
>From 570d32765d37ad48504c9b17acd0a8e71dcc57be Mon Sep 17 00:00:00 2001 >From: Koha <koha@localhost> >Date: Thu, 23 Jul 2015 16:28:57 +0200 >Subject: [PATCH] Bug 10961 - (Followup) Error in GetMarcBiblio can cause > severe data loss > >add correct frameworkcode to _koha_marc_update_bib_ids parameters > >add test, prove with : prove t/db_dependent/Biblio.t >--- > C4/Biblio.pm | 6 ++++-- > t/db_dependent/Biblio.t | 19 ++++++++++++++++--- > 2 files changed, 20 insertions(+), 5 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index 533932b..d90094e 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -1268,10 +1268,12 @@ sub GetMarcBiblio { > } > > my $dbh = C4::Context->dbh; >- my $sth = $dbh->prepare("SELECT * FROM biblioitems WHERE biblionumber=? "); >+ my $sth = $dbh->prepare("SELECT biblioitemnumber, marcxml FROM biblioitems WHERE biblionumber=? "); > $sth->execute($biblionumber); > my $row = $sth->fetchrow_hashref; >+ my $biblioitemnumber = $row->{'biblioitemnumber'}; > my $marcxml = StripNonXmlChars( $row->{'marcxml'} ); >+ my $frameworkcode = GetFrameworkCode($biblionumber); > MARC::File::XML->default_record_format( C4::Context->preference('marcflavour') ); > my $record = MARC::Record->new(); > >@@ -1280,7 +1282,7 @@ sub GetMarcBiblio { > if ($@) { warn " problem with :$biblionumber : $@ \n$marcxml"; } > return unless $record; > >- C4::Biblio::_koha_marc_update_bib_ids($record, '', $biblionumber, $row->{biblioitemnumber}); >+ C4::Biblio::_koha_marc_update_bib_ids($record, $frameworkcode, $biblionumber, $biblioitemnumber); > C4::Biblio::EmbedItemsInMarcBiblio($record, $biblionumber) if ($embeditems); > > return $record; >diff --git a/t/db_dependent/Biblio.t b/t/db_dependent/Biblio.t >index f53b6a5..0413b90 100755 >--- a/t/db_dependent/Biblio.t >+++ b/t/db_dependent/Biblio.t >@@ -194,6 +194,19 @@ sub run_tests { > > is( GetMarcPrice( $record_for_isbn, $marcflavour ), 100, > "GetMarcPrice returns the correct value"); >+ my $newincbiblioitemnumber=$biblioitemnumber+1; >+ $dbh->do("UPDATE biblioitems SET biblioitemnumber = ? WHERE biblionumber = ?;", undef, $newincbiblioitemnumber, $biblionumber ); >+ my $updatedrecord = GetMarcBiblio($biblionumber, 0); >+ my $frameworkcode = GetFrameworkCode($biblionumber); >+ my ( $biblioitem_tag, $biblioitem_subfield ) = GetMarcFromKohaField( "biblioitems.biblioitemnumber", $frameworkcode ); >+ die qq{No biblioitemnumber tag for framework "$frameworkcode"} unless $biblioitem_tag; >+ my $biblioitemnumbertotest; >+ if ( $biblioitem_tag < 10 ) { >+ $biblioitemnumbertotest = $updatedrecord->field($biblioitem_tag)->data(); >+ } else { >+ $biblioitemnumbertotest = $updatedrecord->field($biblioitem_tag)->subfield($biblioitem_subfield); >+ } >+ is ($newincbiblioitemnumber, $biblioitemnumbertotest); > } > > sub mock_marcfromkohafield { >@@ -260,19 +273,19 @@ sub create_issn_field { > } > > subtest 'MARC21' => sub { >- plan tests => 27; >+ plan tests => 28; > run_tests('MARC21'); > $dbh->rollback; > }; > > subtest 'UNIMARC' => sub { >- plan tests => 27; >+ plan tests => 28; > run_tests('UNIMARC'); > $dbh->rollback; > }; > > subtest 'NORMARC' => sub { >- plan tests => 27; >+ plan tests => 28; > run_tests('NORMARC'); > $dbh->rollback; > }; >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10961
:
21520
|
41130
|
41182
|
41183
|
41214
|
41215