From 913f2da294f6d00982266f8363ed0be02279c5a5 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_record_store() plugin hook 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 --- C4/Biblio.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index ab895b25753..7ff74f31d6a 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -2867,6 +2867,8 @@ sub ModBiblioMarc { Koha::Util::MARC::set_marc_field($record, C4::Context->preference('MarcFieldForModifierName'), $borrowername); } + Koha::Plugins->call( 'before_record_store', $record ); + $m_rs->metadata( $record->as_xml_record($encoding) ); $m_rs->store; -- 2.43.0