From fdc58abc8c573f7fdd61889842bf4c115c906162 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 8 Dec 2023 17:24:35 -0300 Subject: [PATCH] Bug 34943: Implement `before_biblio_metadata_store` plugin hook MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This patch implements a hook allowing record modification right before they are written on the DB. The idea is that a plugin could be used to add machine-generated fields/subfields. To test: 1. Apply the unit tests patch 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Plugins/Biblio_and_Items_plugin_hooks.t => FAIL: Tests fail! The hook is not implemented so the desired results don't appear (added fields/subfields). 3. Apply this patch 4. Repeat 2 => SUCCESS: It works! 5. Run: k$ qa -c 2 => SUCCESS: All green! 6. Sign off :-D Sponsored-by: Theke Solutions Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit e78b7bdbe5c10e3d4a568a4560b28e46ab71a02f) Signed-off-by: Frédéric Demians --- C4/Biblio.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 491f77e951..5d9cced1a6 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -2846,6 +2846,8 @@ sub ModBiblioMarc { Koha::Util::MARC::set_marc_field($record, C4::Context->preference('MarcFieldForModifierName'), $borrowername); } + Koha::Plugins->call( 'before_biblio_metadata_store', $record ); + $m_rs->metadata( $record->as_xml_record($encoding) ); $m_rs->store; -- 2.20.1