Bug 20811: (QA follow-up) Prevent calling AddItemBatchFromMarc and ModBiblioMarc without biblionumber
If you use -update but do not find matches (or did not want to match), you should not call those routines. We should warn and skip this record. Adding a warn at the start that the choice of options may not be smart. Note that this needs further attention somewhere else. You could mix -update with -insert for instance and still see some problems. (May depend on items with unique barcode etc.) Test plan: Run -update without match or isbn. Or run -update -isbn with a non-matching ISBN. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
parent
a49a7f08d6
commit
15b865c6ee
1 changed files with 5 additions and 0 deletions
|
@ -100,6 +100,9 @@ if ($version || ($input_marc_file eq '')) {
|
|||
pod2usage( -verbose => 2 );
|
||||
exit;
|
||||
}
|
||||
if( $update && ( !$match || $isbn_check ) ) {
|
||||
warn "Using -update without -match or -isbn seems to be useless.\n";
|
||||
}
|
||||
|
||||
if(defined $localcust) { #local customize module
|
||||
if(!-e $localcust) {
|
||||
|
@ -473,7 +476,9 @@ RECORD: while ( ) {
|
|||
printlog( { id => $id || $originalid || $biblionumber, op => "insert", status => "ok" } ) if ($logfile);
|
||||
}
|
||||
} else {
|
||||
warn "WARNING: Updating record ".($id||$originalid)." failed";
|
||||
printlog( { id => $id || $originalid || $biblionumber, op => "update", status => "warning : not in database" } ) if ($logfile);
|
||||
next RECORD;
|
||||
}
|
||||
}
|
||||
eval { ( $itemnumbers_ref, $errors_ref ) = AddItemBatchFromMarc( $record, $biblionumber, $biblioitemnumber, '' ); };
|
||||
|
|
Loading…
Reference in a new issue