Bug 14795: Prevent modifying a record without using the original framework
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 13 Nov 2015 16:30:32 +0000 (16:30 +0000)
committerTomas Cohen Arazi <tomascohen@theke.io>
Mon, 16 Nov 2015 15:35:08 +0000 (12:35 -0300)
The origin framework is not passed on modifying the records and so the
default one is used.
This can caused data lost.

Test plan:
- Create a bibliographic record and specify a framework (not the default
one).
- Use the Batch records modification tools to modify it.
=> Without this patch, the default framework (framework code "") is used
and can deteriorate the record
=> With this patch, the record is saved using the original framework

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Tested framework is lost using tool without patch
Problem gone with patch
No qa errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
tools/batch_record_modification.pl

index 60775a9..3aec4f7 100755 (executable)
@@ -192,7 +192,8 @@ if ( $op eq 'form' ) {
             my $error = eval {
                 my $record = GetMarcBiblio( $biblionumber );
                 ModifyRecordWithTemplate( $mmtid, $record );
-                ModBiblio( $record, $biblionumber );
+                my $frameworkcode = C4::Biblio::GetFrameworkCode( $biblionumber );
+                ModBiblio( $record, $biblionumber, $frameworkcode );
             };
             if ( $error and $error != 1 or $@ ) { # ModBiblio returns 1 if everything as gone well
                 push @messages, {