From: Bernardo Gonzalez Kriegel <bgkrie...@gmail.com> This patch removes HTML code from authorities.pl
To test: 1. Check no regressions on authority editor, new/edit/save 2. Check new line on translation files, update a language, look for 'Tag editor' Signed-off-by: Srdjan <srd...@catalyst.net.nz> --- authorities/authorities.pl | 136 +++++++++------------ .../prog/en/modules/authorities/authorities.tt | 28 ++++- 2 files changed, 86 insertions(+), 78 deletions(-) diff --git a/authorities/authorities.pl b/authorities/authorities.pl index 60a9343..89049fe 100755 --- a/authorities/authorities.pl +++ b/authorities/authorities.pl @@ -118,18 +118,14 @@ sub build_authorized_values_list { $authorised_lib{$value} = $lib; } } - return CGI::scrolling_list( - -name => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield, - -values => \@authorised_values, - -default => $value, - -labels => \%authorised_lib, - -override => 1, - -size => 1, - -multiple => 0, - -tabindex => 1, - -id => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield, - -class => "input_marceditor", - ); + return { + type => 'select', + id => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield, + name => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield, + values => \@authorised_values, + labels => \%authorised_lib, + default => $value, + }; } @@ -209,16 +205,13 @@ sub create_input { # it's a thesaurus / authority field } elsif ( $tagslib->{$tag}->{$subfield}->{authtypecode} ) { - $subfield_data{marc_value} = - "<input type=\"text\" - id=\"".$subfield_data{id}."\" - name=\"".$subfield_data{id}."\" - value=\"$value\" - class=\"input_marceditor\" - tabindex=\"1\" \/> - <a href=\"#\" class=\"buttonDot\" - onclick=\"openAuth(this.parentNode.getElementsByTagName('input')[1].id,'".$tagslib->{$tag}->{$subfield}->{authtypecode}."','auth'); return false;\" tabindex=\"1\" title=\"Tag Editor\">...</a> - "; + $subfield_data{marc_value} = { + type => 'text1', + id => $subfield_data{id}, + name => $subfield_data{id}, + value => $value, + authtypecode => $tagslib->{$tag}->{$subfield}->{authtypecode}, + }; # it's a plugin field } elsif ( $tagslib->{$tag}->{$subfield}->{'value_builder'} ) { @@ -238,43 +231,35 @@ sub create_input { my ( $function_name, $javascript ) = plugin_javascript( $dbh, $rec, $tagslib, $subfield_data{id}, $tabloop ); # my ( $function_name, $javascript,$extended_param ); - $subfield_data{marc_value} = - "<input tabindex=\"1\" - type=\"text\" - id=\"".$subfield_data{id}."\" - size=\"67\" - maxlength=\"$max_length\" - name=\"".$subfield_data{id}."\" - value=\"$value\" - class=\"input_marceditor\" - onfocus=\"Focus$function_name($index_tag)\" - onblur=\"Blur$function_name($index_tag); \" \/> - <a href=\"#\" class=\"buttonDot\" onclick=\"Clic$function_name('$subfield_data{id}'); return false;\" title=\"Tag Editor\">...</a> - $javascript"; + $subfield_data{marc_value} = { + type => 'text2', + id => $subfield_data{id}, + name => $subfield_data{id}, + value => $value, + maxlength => $max_length, + function => $function_name, + index_tag => $index_tag, + javascript => $javascript, + }; # it's an hidden field } elsif ( $tag eq '' ) { - $subfield_data{marc_value} = - "<input tabindex=\"1\" - type=\"hidden\" - id=\"".$subfield_data{id}."\" - name=\"".$subfield_data{id}."\" - size=\"67\" - maxlength=\"$max_length\" - value=\"$value\" \/> - "; + $subfield_data{marc_value} = { + type => 'hidden', + id => $subfield_data{id}, + name => $subfield_data{id}, + value => $value, + maxlength => $max_length, + } } elsif ( $tagslib->{$tag}->{$subfield}->{'hidden'} ) { - $subfield_data{marc_value} = - "<input type=\"text\" - id=\"".$subfield_data{id}."\" - name=\"".$subfield_data{id}."\" - class=\"input_marceditor\" - tabindex=\"1\" - size=\"67\" - maxlength=\"$max_length\" - value=\"$value\" - \/>"; + $subfield_data{marc_value} = { + type => 'text', + id => $subfield_data{id}, + name => $subfield_data{id}, + value => $value, + maxlength => $max_length, + }; # it's a standard field } @@ -289,30 +274,24 @@ sub create_input { && C4::Context->preference("marcflavour") eq "MARC21" ) ) { - $subfield_data{marc_value} = - "<textarea cols=\"70\" - rows=\"4\" - id=\"".$subfield_data{id}."\" - name=\"".$subfield_data{id}."\" - class=\"input_marceditor\" - tabindex=\"1\" - size=\"67\" - maxlength=\"$max_length\" - >$value</textarea> - "; + $subfield_data{marc_value} = { + type => 'textarea', + id => $subfield_data{id}, + name => $subfield_data{id}, + value => $value, + maxlength => $max_length, + }; + } else { - $subfield_data{marc_value} = - "<input type=\"text\" - id=\"".$subfield_data{id}."\" - name=\"".$subfield_data{id}."\" - value=\"$value\" - tabindex=\"1\" - size=\"67\" - maxlength=\"$max_length\" - class=\"input_marceditor\" - \/> - "; + $subfield_data{marc_value} = { + type => 'text', + id => $subfield_data{id}, + name => $subfield_data{id}, + value => $value, + maxlength => $max_length, + }; + } } $subfield_data{'index_subfield'} = $index_subfield; @@ -538,7 +517,10 @@ sub build_hidden_data { $subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib}; $subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory}; $subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable}; - $subfield_data{marc_value}="<input type=\"hidden\" name=\"field_value[]\">"; + $subfield_data{marc_value} = { + type => 'hidden_simple', + name => 'field_value[]', + }; push(@loop_data, \%subfield_data); $i++ } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt index b7dcbf7..a3329cd 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt @@ -311,7 +311,33 @@ function confirmnotdup(redirect){ </label> [% END %] - [% subfield_loo.marc_value %] + [% SET mv = subfield_loo.marc_value %] + [% IF ( mv.type == 'select' ) %] + <select name="[%- mv.name -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id -%]"> + [% FOREACH aval IN mv.values %] + [% IF aval == mv.default %] + <option value="[%- aval -%]" selected="selected">[%- mv.labels.$aval -%]</option> + [% ELSE %] + <option value="[%- aval -%]">[%- mv.labels.$aval -%]</option> + [% END %] + [% END %] + </select> + [% ELSIF ( mv.type == 'text1' ) %] + <input type="text" id="[%- mv.id -%]" name="[%- mv.id -%]" value="[%- mv.value -%]" class="input_marceditor" tabindex="1" /> + <a href="#" class="buttonDot" onclick="openAuth(this.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtypecode -%]','auth'); return false;" tabindex="1" title="Tag editor">...</a> + [% ELSIF ( mv.type == 'text2' ) %] + <input tabindex="1" type="text" id="[%- mv.id -%]" size="67" maxlength="[%- mv.maxlength -%]" name="[%- mv.id -%]" value="[%- mv.value -%]" class="input_marceditor" onfocus="Focus[%- mv.function -%]([%- mv.index_tag -%])" onblur="Blur[%- mv.function -%]([%- mv.index_tag -%]);" /> + <a href="#" class="buttonDot" onclick="Clic[%- mv.function -%]('[%- mv.id -%]'); return false;" title="Tag editor">...</a> + [% mv.javascript %] + [% ELSIF ( mv.type == 'text' ) %] + <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor" tabindex="1" size="67" maxlength="[%- mv.maxlength -%]" /> + [% ELSIF ( mv.type == 'textarea' ) %] + <textarea cols="70" rows="4" id="[%- mv.id -%]" name="[%- mv.name -%]" class="input_marceditor" tabindex="1" size="67" maxlength="[%- mv.maxlength -%]">[%- mv.value -%]</textarea> + [% ELSIF ( mv.type == 'hidden' ) %] + <input tabindex="1" type="hidden" id="[%- mv.id -%]" name="[%- mv.name -%]" size="67" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" /> + [% ELSIF ( mv.type == 'hidden_simple' ) %] + <input type="hidden" name="[%- mv.name -%]" /> + [% END %] <span class="subfield_controls"> [% IF ( subfield_loo.repeatable ) %] -- 1.9.1 _______________________________________________ Koha-patches mailing list Koha-patches@lists.koha-community.org http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/