From d90358731fa7fc6adac939c912d00ec39272841c Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 7 Aug 2017 15:02:10 +0200 Subject: [PATCH] Bug 19096: Do not allow changes to kohafield within MARC frameworks Content-Type: text/plain; charset=utf-8 This patch makes two changes in the script for managing the MARC frameworks in order to support making the Default authoritative as for Koha to MARC mappings: [1] Disable the kohafield select combo. Add a hidden input to save value. [2] When a new subfield is added, the kohafield is still empty and should be overwritten with its Default counterpart. Note: Although we could leave the field empty, since Koha looks at the Default framework only, it does not cost much to keep these fields in sync with Default and perhaps catch a bug when someone somewhere looks in the wrong framework. Note: The description of Koha to MARC mapping on admin-home has been adjusted accordingly (removing last two lines). Test plan: [1] Add a new tag and subfield in Default. [2] Map it to a kohafield in koha2marclinks.pl [3] Add the same tag and subfield in another framework. Verify that the kohafield is updated after you saved the subfield. Signed-off-by: Josef Moravec --- admin/marc_subfields_structure.pl | 5 +++++ koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt | 2 +- .../intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt | 5 ++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/admin/marc_subfields_structure.pl b/admin/marc_subfields_structure.pl index ebec042..9b478fa 100755 --- a/admin/marc_subfields_structure.pl +++ b/admin/marc_subfields_structure.pl @@ -310,6 +310,11 @@ elsif ( $op eq 'add_validate' ) { ), ); } else { + if( $frameworkcode ne q{} ) { + # BZ 19096: Overwrite kohafield from Default when adding a new record + my $rec = Koha::MarcSubfieldStructures->find( q{}, $tagfield, $tagsubfield ); + $kohafield = $rec->kohafield if $rec; + } $sth_insert->execute( $tagfield, $tagsubfield, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt index 0d43e6f..71341c1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt @@ -70,7 +70,7 @@
MARC bibliographic framework
Create and manage Bibliographic frameworks that define the characteristics of your MARC Records (field and subfield definitions) as well as templates for the MARC editor.
Koha to MARC mapping
-
Define the mapping between the Koha transactional database (SQL) and the MARC Bibliographic records. Note that the mapping can be defined through MARC Bibliographic Framework. This tool is just a shortcut to speed up linkage.
+
Define the mapping between the Koha transactional database (SQL) and the MARC Bibliographic records.
Keywords to MARC mapping
Define the mapping between keywords and MARC fields. The keywords are used to find some data independently of the framework.
MARC Bibliographic framework test
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt index efdac8d..65d8624 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt @@ -143,7 +143,8 @@
  • (e.g., Title or Local-Number) NOTE: If you change this value you must ask your administrator to run misc/batchRebuildBiblioTables.pl.
  • - [% FOREACH value IN loo.kohafields %] [% IF ( value == loo.kohafield ) %] @@ -152,6 +153,8 @@ [% END %] [% END %] + +
  • -- 2.1.4