Bug 32437: Honor overlay setting in staged batch when adding to a basket
This patch uses the replace method added in last patch to ensure records are overlayed when added to a basket To test: 1 - Stage the sample file on this report using the options below (If not using sample database simply save a record as marc from the details page, then change the title in the interface and import the saved version) 2 - Make sure to match using KohaBiblio (999c) 3 - Set option "Replace existing record" if match found 4 - Once record is staged go to Acquisitions 5 - Find a vendor and select/create an open basket 6 - Add to basket from the staged file 7 - Add order info and save 8 - Check the record, title is unchanged - Sample file should add 'New and improved!' 9 - Check the staged records batch - note the diff shows that new record should have overwritten 10 - Apply patch 11 - Stage file, match on KohaBiblio, set action if matching record found to 'Ignore incoming record' 12 - Add to basket from the staged file and save 13 - Confirm record not overlayed when not reuqested 14 - Stage file, match on KohaBiblio, set action if mathc record found to 'Replace existing...' 15 - Add to basket from staged file and save 16 - Confirm the record is updated to 'New and improved!' Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
ecc92f92ca
commit
3bc8259e4f
1 changed files with 7 additions and 0 deletions
|
@ -51,6 +51,7 @@ use Koha::Acquisition::Baskets;
|
||||||
use Koha::Acquisition::Currencies;
|
use Koha::Acquisition::Currencies;
|
||||||
use Koha::Acquisition::Orders;
|
use Koha::Acquisition::Orders;
|
||||||
use Koha::Acquisition::Booksellers;
|
use Koha::Acquisition::Booksellers;
|
||||||
|
use Koha::ImportBatches;
|
||||||
use Koha::Import::Records;
|
use Koha::Import::Records;
|
||||||
use Koha::Patrons;
|
use Koha::Patrons;
|
||||||
|
|
||||||
|
@ -135,6 +136,8 @@ if ($op eq ""){
|
||||||
|
|
||||||
# retrieve the file you want to import
|
# retrieve the file you want to import
|
||||||
my $import_batch_id = $cgiparams->{'import_batch_id'};
|
my $import_batch_id = $cgiparams->{'import_batch_id'};
|
||||||
|
my $import_batch = Koha::ImportBatches->find( $import_batch_id );
|
||||||
|
my $overlay_action = $import_batch->overlay_action;
|
||||||
my $import_records = Koha::Import::Records->search({
|
my $import_records = Koha::Import::Records->search({
|
||||||
import_batch_id => $import_batch_id,
|
import_batch_id => $import_batch_id,
|
||||||
});
|
});
|
||||||
|
@ -171,6 +174,10 @@ if ($op eq ""){
|
||||||
# Insert the biblio, or find it through matcher
|
# Insert the biblio, or find it through matcher
|
||||||
if ( $biblionumber ) { # If matched during staging we can continue
|
if ( $biblionumber ) { # If matched during staging we can continue
|
||||||
$import_record->status('imported')->store;
|
$import_record->status('imported')->store;
|
||||||
|
if( $overlay_action eq 'replace' ){
|
||||||
|
my $biblio = Koha::Biblios->find( $biblionumber );
|
||||||
|
$import_record->replace({ biblio => $biblio });
|
||||||
|
}
|
||||||
} else { # Otherwise we check for duplicates, and skip if they exist
|
} else { # Otherwise we check for duplicates, and skip if they exist
|
||||||
if ($matcher_id) {
|
if ($matcher_id) {
|
||||||
if ( $matcher_id eq '_TITLE_AUTHOR_' ) {
|
if ( $matcher_id eq '_TITLE_AUTHOR_' ) {
|
||||||
|
|
Loading…
Reference in a new issue