From 84a2ad874ed005ea913ff82173088fe1553179b4 Mon Sep 17 00:00:00 2001 From: Bernardo Gonzalez Kriegel Date: Mon, 1 Jun 2015 09:28:40 -0300 Subject: [PATCH] Bug 14308: Remove CGI::checkbox from subfield editors This patch removes use of CGI::checkbox from frameworks subfield editors. Also removes use of CGI::escapeHTML To test: 1) Apply the patch 2) Go to bibliographic frameworks, edit a field with subfields 3) Check for regressions on Edit/Save/Add subfields i.e. a. Edit subfield with known values on repeatable, mandatory, isurl checkbox b. Change values, save, edit again and verify values. 4) Go to authority frameworks, edit a field with subfields 5) Check for regressions on Edit/Save/Add subfields --- admin/auth_subfields_structure.pl | 69 +++++++++--------- admin/marc_subfields_structure.pl | 84 ++++++++++------------ .../en/modules/admin/auth_subfields_structure.tt | 43 ++++++++--- .../en/modules/admin/marc_subfields_structure.tt | 52 ++++++++++---- 4 files changed, 143 insertions(+), 105 deletions(-) diff --git a/admin/auth_subfields_structure.pl b/admin/auth_subfields_structure.pl index 3833b48..b30a46e 100755 --- a/admin/auth_subfields_structure.pl +++ b/admin/auth_subfields_structure.pl @@ -141,9 +141,9 @@ if ($op eq 'add_form') { }; $row_data{tagsubfieldinput} = "{'tagsubfield'}."\" id=\"tagsubfield\" />"; $row_data{tagsubfield} = $data->{'tagsubfield'}; - $row_data{liblibrarian} = CGI::escapeHTML($data->{'liblibrarian'}); - $row_data{libopac} = CGI::escapeHTML($data->{'libopac'}); - $row_data{seealso} = CGI::escapeHTML($data->{'seealso'}); + $row_data{liblibrarian} = $data->{'liblibrarian'}; + $row_data{libopac} = $data->{'libopac'}; + $row_data{seealso} = $data->{'seealso'}; # FIXME: this parameter is not used on template $row_data{kohafield} = { id => "kohafield$i", values => \@kohafields, @@ -164,23 +164,22 @@ if ($op eq 'add_form') { values => \@value_builder, default => $data->{'value_builder'}, }; - - $row_data{repeatable} = CGI::checkbox(-name=>"repeatable$i", - -checked => $data->{'repeatable'}?'checked':'', - -value => 1, - -label => '', - -id => "repeatable$i"); - $row_data{mandatory} = CGI::checkbox(-name => "mandatory$i", - -checked => $data->{'mandatory'}?'checked':'', - -value => 1, - -label => '', - -id => "mandatory$i"); - $row_data{hidden} = CGI::escapeHTML($data->{hidden}) ; - $row_data{isurl} = CGI::checkbox( -name => "isurl$i", - -id => "isurl$i", - -checked => $data->{'isurl'}?'checked':'', - -value => 1, - -label => ''); + $row_data{repeatable} = { + name => "repeatable$i", + id => "repeatable$i", + checked => $data->{'repeatable'}?'checked':'', + }; + $row_data{mandatory} = { + name => "mandatory$i", + id => "mandatory$i", + checked => $data->{'mandatory'}?'checked':'', + }; + $row_data{hidden} = $data->{hidden}; # FIXME: this parameter is not used on template + $row_data{isurl} = { + name => "isurl$i", + id => "isurl$i", + checked => $data->{'isurl'}?'checked':'', + }; $row_data{row} = $i; push(@loop_data, \%row_data); $i++; @@ -208,21 +207,21 @@ if ($op eq 'add_form') { $row_data{libopac} = ""; $row_data{seealso} = ""; $row_data{hidden} = "000"; - $row_data{repeatable} = CGI::checkbox( -name=> 'repeatable', - -id => "repeatable$i", - -checked => '', - -value => 1, - -label => ''); - $row_data{mandatory} = CGI::checkbox( -name=> 'mandatory', - -id => "mandatory$i", - -checked => '', - -value => 1, - -label => ''); - $row_data{isurl} = CGI::checkbox(-name => 'isurl', - -id => "isurl$i", - -checked => '', - -value => 1, - -label => ''); + $row_data{repeatable} = { + name => "repeatable$i", + id => "repeatable$i", + checked => '', + }; + $row_data{mandatory} = { + name => "mandatory$i", + id => "mandatory$i", + checked => '', + }; + $row_data{isurl} = { + name => "isurl$i", + id => "isurl$i", + checked => '', + }; $row_data{kohafield} = { id => "kohafield$i", values => \@kohafields, diff --git a/admin/marc_subfields_structure.pl b/admin/marc_subfields_structure.pl index c8b7815..8b83ceb 100755 --- a/admin/marc_subfields_structure.pl +++ b/admin/marc_subfields_structure.pl @@ -193,9 +193,9 @@ if ( $op eq 'add_form' ) { . "\" id=\"tagsubfield\" />"; $row_data{subfieldcode} = $data->{'tagsubfield'} eq '@'?'_':$data->{'tagsubfield'}; $row_data{urisubfieldcode} = $row_data{subfieldcode} eq '%' ? 'pct' : $row_data{subfieldcode}; - $row_data{liblibrarian} = CGI::escapeHTML( $data->{'liblibrarian'} ); - $row_data{libopac} = CGI::escapeHTML( $data->{'libopac'} ); - $row_data{seealso} = CGI::escapeHTML( $data->{'seealso'} ); + $row_data{liblibrarian} = $data->{'liblibrarian'}; + $row_data{libopac} = $data->{'libopac'}; + $row_data{seealso} = $data->{'seealso'}; $row_data{kohafield} = { id => "kohafield$i", values => \@kohafields, @@ -216,30 +216,24 @@ if ( $op eq 'add_form' ) { values => \@authtypes, default => $data->{'authtypecode'}, }; - $row_data{repeatable} = CGI::checkbox( - -name => "repeatable$i", - -checked => $data->{'repeatable'} ? 'checked' : '', - -value => 1, - -label => '', - -id => "repeatable$i" - ); - $row_data{mandatory} = CGI::checkbox( - -name => "mandatory$i", - -checked => $data->{'mandatory'} ? 'checked' : '', - -value => 1, - -label => '', - -id => "mandatory$i" - ); - $row_data{hidden} = CGI::escapeHTML( $data->{hidden} ); - $row_data{isurl} = CGI::checkbox( - -name => "isurl$i", - -id => "isurl$i", - -checked => $data->{'isurl'} ? 'checked' : '', - -value => 1, - -label => '' - ); + $row_data{repeatable} = { + name => "repeatable$i", + id => "repeatable$i", + checked => $data->{'repeatable'} ? 'checked' : '', + }; + $row_data{mandatory} = { + name => "mandatory$i", + id => "mandatory$i", + checked => $data->{'mandatory'} ? 'checked' : '', + }; + $row_data{hidden} = $data->{hidden}; + $row_data{isurl} = { + name => "isurl$i", + id => "isurl$i", + checked => $data->{'isurl'} ? 'checked' : '', + }; $row_data{row} = $i; - $row_data{link} = CGI::escapeHTML( $data->{'link'} ); + $row_data{link} = $data->{'link'}; push( @loop_data, \%row_data ); $i++; } @@ -267,27 +261,21 @@ if ( $op eq 'add_form' ) { default => "$data->{'kohafield'}", }; $row_data{hidden} = ""; - $row_data{repeatable} = CGI::checkbox( - -name => "repeatable$i", - -id => "repeatable$i", - -checked => '', - -value => 1, - -label => '' - ); - $row_data{mandatory} = CGI::checkbox( - -name => "mandatory$i", - -id => "mandatory$i", - -checked => '', - -value => 1, - -label => '' - ); - $row_data{isurl} = CGI::checkbox( - -name => "isurl$i", - -id => "isurl$i", - -checked => '', - -value => 1, - -label => '' - ); + $row_data{repeatable} = { + name => "repeatable$i", + id => "repeatable$i", + checked => '', + }; + $row_data{mandatory} = { + name => "mandatory$i", + id => "mandatory$i", + checked => '', + }; + $row_data{isurl} = { + name => "isurl$i", + id => "isurl$i", + checked => '', + }; $row_data{value_builder} = { id => "value_builder$i", values => \@value_builder, @@ -303,7 +291,7 @@ if ( $op eq 'add_form' ) { values => \@authtypes, default => $data->{'authtypecode'}, }; - $row_data{link} = CGI::escapeHTML( $data->{'link'} ); + $row_data{link} = $data->{'link'}; $row_data{row} = $i; push( @loop_data, \%row_data ); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt index 87b468b..2ec86f1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt @@ -62,9 +62,9 @@ function displayMoreConstraint(numlayer){