From 22b6705b4f5d932e14aff910faba4229c72897ca Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Mon, 9 Apr 2012 11:44:06 +0200 Subject: [PATCH] Bug 3413: Checkboxes for new subfields not saving correctly The bug was in the numbering of the fields and subfields in the form. The form elements for the 'new subfield' got the same numbered names and ids as the form elements for the second subfield. (example: repeatable1) The patch fixes the numbering to continue to the new subfield. To test: - Create some new subfields and check all checkbox fields save correctly (mandatory, repeatable, is url) - Check that other subfields' checkboxes are not changed - Check existing subfields and newly created subfields can be edited Signed-off-by: mveron Signed-off-by: Paul Poulain --- admin/marc_subfields_structure.pl | 27 +++++++++---------- .../modules/admin/marc_subfields_structure.tt | 6 ++--- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/admin/marc_subfields_structure.pl b/admin/marc_subfields_structure.pl index f8376441bf..bc6636a288 100755 --- a/admin/marc_subfields_structure.pl +++ b/admin/marc_subfields_structure.pl @@ -274,14 +274,13 @@ if ( $op eq 'add_form' ) { } # add more_subfields empty lines for add if needed - for ( my $j = 1 ; $j <= 1 ; $j++ ) { my %row_data; # get a fresh hash for the row data $row_data{'new_subfield'} = 1; $row_data{'subfieldcode'} = ''; $row_data{tab} = CGI::scrolling_list( -name => 'tab', - -id => "tab$j", + -id => "tab$i", -values => [ '-1', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ], -labels => { @@ -311,7 +310,7 @@ if ( $op eq 'add_form' ) { $row_data{seealso} = ""; $row_data{kohafield} = CGI::scrolling_list( -name => 'kohafield', - -id => "kohafield$j", + -id => "kohafield$i", -values => \@kohafields, -default => "", -size => 1, @@ -319,29 +318,29 @@ if ( $op eq 'add_form' ) { ); $row_data{hidden} = ""; $row_data{repeatable} = CGI::checkbox( - -name => "repeatable$j", - -id => "repeatable$j", + -name => "repeatable$i", + -id => "repeatable$i", -checked => '', -value => 1, -label => '' ); $row_data{mandatory} = CGI::checkbox( - -name => "mandatory$j", - -id => "mandatory$j", + -name => "mandatory$i", + -id => "mandatory$i", -checked => '', -value => 1, -label => '' ); $row_data{isurl} = CGI::checkbox( - -name => "isurl$j", - -id => "isurl$j", + -name => "isurl$i", + -id => "isurl$i", -checked => '', -value => 1, -label => '' ); $row_data{value_builder} = CGI::scrolling_list( -name => "value_builder", - -id => "value_builder$j", + -id => "value_builder$i", -values => \@value_builder, -default => $data->{'value_builder'}, -size => 1, @@ -349,22 +348,22 @@ if ( $op eq 'add_form' ) { ); $row_data{authorised_value} = CGI::scrolling_list( -name => "authorised_value", - -id => "authorised_value$j", + -id => "authorised_value$i", -values => \@authorised_values, -size => 1, -multiple => 0, ); $row_data{authtypes} = CGI::scrolling_list( -name => "authtypecode", - -id => "authtypecode$j", + -id => "authtypecode$i", -values => \@authtypes, -size => 1, -multiple => 0, ); $row_data{link} = CGI::escapeHTML( $data->{'link'} ); - $row_data{row} = $j; + $row_data{row} = $i; push( @loop_data, \%row_data ); - } + $template->param( 'use_heading_flags_p' => 1 ); $template->param( 'heading_edit_subfields_p' => 1 ); $template->param( 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 d4c78cd596..fc01b87533 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 @@ -112,8 +112,8 @@ $(document).ready(function() {
  • (see online help)
  • (see online help)
  • -
  • [% loo.isurl %] (if checked, it means that the subfield is a url and can be clicked)
  • -
  • (e.g., title or local-number) NOTE: If you change this value you must ask your administrator to run misc/batchRebuildBiblioTables.pl.
  • +
  • [% loo.isurl %] (if checked, it means that the subfield is a URL and can be clicked)
  • +
  • (e.g., Title or Local-Number) NOTE: If you change this value you must ask your administrator to run misc/batchRebuildBiblioTables.pl.
  • [% loo.kohafield %]
  • @@ -202,7 +202,7 @@ $(document).ready(function() { [% IF ( loo.mandatory ) %]Mandatory, [% ELSE %]Not mandatory,[% END %] [% IF ( loo.seealso ) %] | See Also: [% loo.seealso %],[% END %] [% IF ( loo.hidden ) %]hidden,[% END %] - [% IF ( loo.isurl ) %]is a url,[% END %] + [% IF ( loo.isurl ) %]is a URL,[% END %] [% IF ( loo.authorised_value ) %] | Auth value:[% loo.authorised_value %],[% END %] [% IF ( loo.authtypecode ) %] | Authority:[% loo.authtypecode %],[% END %] [% IF ( loo.value_builder ) %] | Plugin:[% loo.value_builder %],[% END %] -- 2.20.1