Bug 34943: Implement before_biblio_metadata_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
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Tomás Cohen Arazi 2023-12-08 17:24:35 -03:00 committed by Katrin Fischer
parent ddb2ab7a9f
commit e78b7bdbe5
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834

View file

@ -2885,6 +2885,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;