From a3569d321705afe0e8f75ce2af7db2f0b29ced15 Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Tue, 14 Apr 2020 10:45:01 +0000 Subject: [PATCH] Bug 17232: Make sure all fields are copies when creating a new framework from another Some digging revealed that when you create a new framework and use an old framework as the base, some information would not be copied to the new framework as they were missing from the SQL command used here. - Tag: Important - Subfield: - Important - Default value - Max length - Is a URL - Link To test: - Pick one of the existing frameworks and change the fields listed above. Take note of what you changed. - Create a new framework - Go to "Marc structure" of the new framework - You are offered the option to copy an existing framework - Use your prepared framework - Verify the fields weren't copied - your config was lost - Apply patch - Create another new framework - Repeat the duplication and tests - Verify that now all fields have been copied correctly Signed-off-by: Bernardo Gonzalez Kriegel Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize Signed-off-by: Joy Nelson (cherry picked from commit 9cd83a9c4ea6d5499e516270e2b5e70477bb13f8) Signed-off-by: Lucas Gass --- admin/marctagstructure.pl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/admin/marctagstructure.pl b/admin/marctagstructure.pl index e34edd557c..4d9b82e9fe 100755 --- a/admin/marctagstructure.pl +++ b/admin/marctagstructure.pl @@ -327,13 +327,13 @@ sub StringSearch { # the sub used to duplicate a framework from an existing one in MARC parameters tables. # sub duplicate_framework { - my ($newframeworkcode,$oldframeworkcode) = @_; - my $dbh = C4::Context->dbh; - $dbh->do(q|INSERT INTO marc_tag_structure (tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, ind1_defaultvalue, ind2_defaultvalue, frameworkcode) - SELECT tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value, ind1_defaultvalue, ind2_defaultvalue, ? from marc_tag_structure where frameworkcode=?|, undef, $newframeworkcode, $oldframeworkcode ); + my ($newframeworkcode,$oldframeworkcode) = @_; + my $dbh = C4::Context->dbh; + $dbh->do(q|INSERT INTO marc_tag_structure (tagfield, liblibrarian, libopac, repeatable, mandatory, important, authorised_value, ind1_defaultvalue, ind2_defaultvalue, frameworkcode) + SELECT tagfield,liblibrarian,libopac,repeatable,mandatory,important,authorised_value, ind1_defaultvalue, ind2_defaultvalue, ? from marc_tag_structure where frameworkcode=?|, undef, $newframeworkcode, $oldframeworkcode ); - $dbh->do(q|INSERT INTO marc_subfield_structure (frameworkcode,tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,seealso,hidden) - SELECT ?,tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,seealso,hidden from marc_subfield_structure where frameworkcode=? + $dbh->do(q|INSERT INTO marc_subfield_structure (frameworkcode,tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,important,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,seealso,hidden,link,defaultvalue,maxlength) + SELECT ?,tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,important,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,seealso,hidden,link,defaultvalue,maxlength from marc_subfield_structure where frameworkcode=? |, undef, $newframeworkcode, $oldframeworkcode ); } -- 2.39.5