From 64b9b75a2e60d2022495d666437db78bd9d06328 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Thu, 22 Feb 2024 15:00:09 +0000 Subject: [PATCH] Bug 26869: Add items from MARC in BatchUpdateBiblio Test plan, clean k-t-d: Before test, pick a record and confirm it has no items, for this test we're using biblio 79: /cgi-bin/koha/catalogue/detail.pl?biblionumber=79 1) Add a new MARC modification template, visit: /cgi-bin/koha/tools/marc_modification_templates.pl 2) Click 'New template', enter a name and click 'Submit' 3) Click 'New action' 4) Pick 'Add new' and enter '952' as field and 'a' as subfield, enter 'CPL' as value 5) Click 'Add action' 6) Do a batch record modification, visit: /cgi-bin/koha/tools/batch_record_modification.pl 7) Select the tab 'Enter a list of record numbers' and enter '76' 8) On the template, select the template previously created. Click 'continue' 9) Click 'Modify selected records'. Click 'View detail of the enqueued job'. Notice success message is shown with no errors 10) Check the biblio, visit: /cgi-bin/koha/catalogue/detail.pl?biblionumber=79 11) Notice it now has an item with homebranch 'CPL' test with 952 but with other subfields, without subfield 'a' -> confirm 'FK constraint' error is shown, no modification made test with more than one occurrence of 952$a -> confirm 'FK constraint' error is shown, no modification made test with 952$a too long e.g. 'aaaaaaaa' -> confirm 'too long' error is shown test with no 952 mapping -> confirm things work as intended test with 952 mapping plus other tags -> confirm things work as intended prove koha/t/db_dependent/Koha/BackgroundJobs/BatchUpdateBiblio.t prove koha/t/db_dependent/Koha/BackgroundJob/BatchUpdateBiblio.t --- Koha/BackgroundJob/BatchUpdateBiblio.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Koha/BackgroundJob/BatchUpdateBiblio.pm b/Koha/BackgroundJob/BatchUpdateBiblio.pm index 64e429d0b7f..85a7a5792f1 100644 --- a/Koha/BackgroundJob/BatchUpdateBiblio.pm +++ b/Koha/BackgroundJob/BatchUpdateBiblio.pm @@ -24,6 +24,7 @@ use Koha::SearchEngine::Indexer; use C4::Context; use C4::Biblio; +use C4::Items; use C4::MarcModificationTemplates; use base 'Koha::BackgroundJob'; @@ -86,6 +87,9 @@ sub process { my $record = $biblio->metadata->record; C4::MarcModificationTemplates::ModifyRecordWithTemplate( $mmtid, $record ); my $frameworkcode = C4::Biblio::GetFrameworkCode( $biblionumber ); + my $biblioitemnumber = Koha::Biblios->find($biblionumber)->biblioitem->biblioitemnumber; + C4::Items::AddItemFromMarc( $record, $biblionumber, { biblioitemnumber => $biblioitemnumber } ); + C4::Biblio::ModBiblio( $record, $biblionumber, $frameworkcode, { overlay_context => $args->{overlay_context}, skip_record_index => 1, -- 2.30.2