From 5a4cfadf7db091da074b6645410a8a066b870249 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..36cc8258d1a 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 = $biblio->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