From a660b57ff267dac37cb7d4ee1880690c250ff26e Mon Sep 17 00:00:00 2001 From: David Gustafsson Date: Fri, 23 Jul 2021 16:37:22 +0200 Subject: [PATCH] Bug 18138: (follow-up) Adjust the system preference editor to allow choosing a modification template Rather than expecting the librarian to add an ID or a name we should provide a dropdown To test: 1 - Apply all patches 2 - Search for sytem preference 'SaveBiblioMarcModificationTemplate' 3 - Note it list all defined Marc modification templates 4 - Select one 5 - confirm value in DB is the template id Works fine for me Signed-off-by: Frank Hansen --- admin/preferences.pl | 4 ++++ ...18138-edit-biblio-marc-modification-template-syspref.sql | 2 +- installer/data/mysql/mandatory/sysprefs.sql | 2 +- .../prog/en/modules/admin/preferences/cataloguing.pref | 2 +- .../www/EditBiblioMarcModificationTemplatePreference.t | 6 +++--- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/admin/preferences.pl b/admin/preferences.pl index bbb41d7507..650b3f02cb 100755 --- a/admin/preferences.pl +++ b/admin/preferences.pl @@ -28,6 +28,7 @@ use C4::ClassSource qw( GetClassSources GetClassSource ); use C4::Output qw( output_html_with_http_headers ); use C4::Templates; use Koha::Acquisition::Currencies; +use Koha::MarcModificationTemplates; use IO::File; use YAML::XS; use Encode; @@ -100,6 +101,9 @@ sub _get_chunk { } elsif ( $options{choices} eq 'patron-categories' ) { $options{choices} = { map { $_->categorycode => $_->description } Koha::Patron::Categories->search }; $add_blank = 1; + } elsif ( $options{choices} eq 'modification-templates' ) { + $options{choices} = { map { $_->template_id => $_->name } Koha::MarcModificationTemplates->search }; + $add_blank = 1; } else { die 'Unrecognized source of preference values: ' . $options{'choices'}; } diff --git a/installer/data/mysql/atomicupdate/bug_18138-edit-biblio-marc-modification-template-syspref.sql b/installer/data/mysql/atomicupdate/bug_18138-edit-biblio-marc-modification-template-syspref.sql index 07bf6fce9a..e9b564a55a 100644 --- a/installer/data/mysql/atomicupdate/bug_18138-edit-biblio-marc-modification-template-syspref.sql +++ b/installer/data/mysql/atomicupdate/bug_18138-edit-biblio-marc-modification-template-syspref.sql @@ -1 +1 @@ -INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type`) VALUES ('SaveBiblioMarcModificationTemplate', '', NULL, 'MARC modification template applied when saving bibliographic record in staff client or HTTP API', 'Free'); +INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type`) VALUES ('SaveBiblioMarcModificationTemplate', '', NULL, 'MARC modification template applied when saving bibliographic record in staff client or HTTP API', 'modification-templates'); diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 5f7abdc0c2..d3f6372a54 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -586,7 +586,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('RoutingListAddReserves','0','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'), ('RoutingListNote','To change this note edit RoutingListNote system preference.','70|10','Define a note to be shown on all routing lists','Textarea'), ('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'), -('SaveBiblioMarcModificationTemplate', '', NULL, 'MARC modification template applied when saving bibliographic record in staff client or HTTP API', 'Free'), +('SaveBiblioMarcModificationTemplate', '', NULL, 'MARC modification template applied when saving bibliographic record in staff client or HTTP API', 'modification-templates'), ('SCOAllowCheckin','0','','If enabled, patrons may return items through the Web-based Self Checkout','YesNo'), ('SCOMainUserBlock','','70|10','Add a block of HTML that will display on the self checkout screen','Textarea'), ('SCOUserCSS','',NULL,'Add CSS to be included in the SCO module in an embedded