From: Jesse Weaver <[email protected]> This allows the user to edit system preferences from the main system preferences screen, rather than having to dig down into each preference.
[This patch includes some modifications by Galen Charlton to fix XHTML validation errors and a couple errors that would crop up under warnings.] Signed-off-by: Galen Charlton <[email protected]> --- admin/systempreferences.pl | 280 +++++++++++--------- .../intranet-tmpl/prog/en/css/staff-global.css | 4 + .../prog/en/modules/admin/systempreferences.tmpl | 124 ++++++++-- 3 files changed, 257 insertions(+), 151 deletions(-) diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl index f95aea5..95f73e3 100755 --- a/admin/systempreferences.pl +++ b/admin/systempreferences.pl @@ -318,31 +318,17 @@ sub StringSearch { my $cou...@data; my @results; my $cnt=0; + my $sth; # used for doing a plain-old sys-pref search - if ($type eq 'all' ){ - my $sth=$dbh->prepare("SELECT * FROM systempreferences - WHERE variable LIKE ? OR explanation LIKE ? - ORDER BY VARIABLE"); - $sth->execute("%$searchstring%", "%$searchstring%"); - while (my $data=$sth->fetchrow_hashref){ - $data->{value} =~ s/</</g; - $data->{value} =~ s/>/>/g; - $data->{value}=substr($data->{value},0,60)."..." if length($data->{value}) >60; - push(@results,$data); - $cnt++; - } - $sth->finish; - - } elsif ($type){ + if ($type && $type ne 'all') { foreach my $syspref (sort { lc $a cmp lc $b } keys %tabsysprefs){ if ($tabsysprefs{$syspref} eq $type){ my $sth=$dbh->prepare("Select variable,value,explanation,type,options from systempreferences where (variable like ?) order by variable"); $sth->execute($syspref); while (my $data=$sth->fetchrow_hashref){ - $data->{value} =~ s/</</g; - $data->{value} =~ s/>/>/g; - $data->{value}=substr($data->{value},0,60)."..." if length($data->{value}) >60; + $data->{shortvalue} = $data->{value}; + $data->{shortvalue} = substr($data->{value},0,60)."..." if length($data->{value}) >60; push(@results,$data); $cnt++; } @@ -350,28 +336,145 @@ sub StringSearch { } } } else { - my $strsth ="Select variable,value,explanation,type,options from systempreferences where variable not in ("; - foreach my $syspref (keys %tabsysprefs){ - $strsth .= $dbh->quote($syspref).","; + my $sth; + + if ($type eq 'all' ){ + $sth=$dbh->prepare(" + SELECT * + FROM systempreferences + WHERE variable LIKE ? OR explanation LIKE ? + ORDER BY VARIABLE"); + $sth->execute("%$searchstring%", "%$searchstring%"); + } else { + my $strsth ="Select variable,value,explanation,type,options from systempreferences where variable not in ("; + foreach my $syspref (keys %tabsysprefs){ + $strsth .= $dbh->quote($syspref).","; + } + $strsth =~ s/,$/) /; + $strsth .= " order by variable"; + $sth=$dbh->prepare($strsth); + $sth->execute(); } - $strsth =~ s/,$/) /; - $strsth .= " order by variable"; - my $sth=$dbh->prepare($strsth); - $sth->execute(); - while (my $data=$sth->fetchrow_hashref){ - $data->{value}=substr($data->{value},0,60); - push(@results,$data); - $cnt++; + + while (my $data=$sth->fetchrow_hashref){ + $data->{shortvalue} = $data->{value}; + $data->{shortvalue} = substr($data->{value},0,60)."..." if length($data->{value}) >60; + push(@results,$data); + $cnt++; + } + + $sth->finish; + } + return ($cnt,\...@results); +} + +sub GetPrefParams { + my $data = shift; + my $params = $data; + my @options; + + if (defined $data->{'options'}) { + foreach my $option (split(/\|/, $data->{'options'})) { + my $selected='0'; + $option eq $data->{'value'} and $selected=1; + push @options, { option => $option, selected => $selected }; } - $sth->finish; } - return ($cnt,\...@results); + + $params->{'prefoptions'} = $data->{'options'}; + + if ($data->{'type'} eq 'Choice') { + $params->{'type-choice'} = 1; + } elsif ($data->{'type'} eq 'YesNo') { + $params->{'type-yesno'} = 1; + $data->{'value'}=C4::Context->boolean_preference($data->{'variable'}); + if ($data->{'value'} eq '1') { + $params->{'value-yes'} = 1; + } else { + $params->{'value-no'} = 1; + } + } elsif ($data->{'type'} eq 'Integer' || $data->{'type'} eq 'Float') { + $params->{'type-free'} = 1; + $params->{'fieldlength'} = $data->{'options'}>0 ? $data->{'options'} : 10; + } elsif ($data->{'type'} eq 'Textarea') { + $params->{'type-textarea'} = 1; + $data->{options} =~ /(.*)\|(.*)/; + $params->{'cols'} = $1; + $params->{'rows'} = $2; + } elsif ($data->{'type'} eq 'Themes') { + $params->{'type-choice'} = 1; + my $type=''; + ($data->{'variable'}=~m#opac#i) ? ($type='opac') : ($type='intranet'); + @options=(); + my $currently_selected_themes; + my $counter=0; + foreach my $theme (split /\s+/, $data->{'value'}) { + push @options, { option => $theme, counter => $counter }; + $currently_selected_themes->{$theme}=1; + $counter++; + } + foreach my $theme (getallthemes($type)) { + my $selected='0'; + next if $currently_selected_themes->{$theme}; + push @options, { option => $theme, counter => $counter }; + $counter++; + } + } elsif ($data->{'type'} eq 'ClassSources') { + $params->{'type-choice'} = 1; + my $type=''; + @options=(); + my $sources = GetClassSources(); + my $counter=0; + foreach my $cn_source (sort keys %$sources) { + if ($cn_source eq $data->{'value'}) { + push @options, { option => $cn_source, counter => $counter, selected => 1 }; + } else { + push @options, { option => $cn_source, counter => $counter }; + } + $counter++; + } + } elsif ($data->{'type'} eq 'Languages') { + my $currently_selected_languages; + foreach my $language (split /\s+/, $data->{'value'}) { + $currently_selected_languages->{$language}=1; + } + # current language + my $lang = $params->{'lang'}; + my $theme; + my $interface; + if ($data->{'variable'} =~ /opac/) { + # this is the OPAC + $interface = 'opac'; + $theme = C4::Context->preference('opacthemes'); + } + else { + # this is the staff client + $interface = 'intranet'; + $theme = C4::Context->preference('template'); + } + my $languages_loop = getTranslatedLanguages($interface,$theme,$lang,$currently_selected_languages); + + $params->{'languages_loop'} = $languages_loop; + $params->{'type-langselector'} = 1; + } else { + $params->{'type-free'} = 1; + $params->{'fieldlength'} = $data->{'options'}>0 ? $data->{'options'} : 30; + } + + if ( $params->{'type-choice'} || $params->{'type-free'} || $params->{'type-yesno'} ) { + $params->{'oneline'} = 1; + } + + $params->{'preftype'} = $data->{'type'}; + $params->{'options'} = \...@options; + + return $params; } my $input = new CGI; my $searchfield = $input->param('searchfield'); my $Tvalue = $input->param('Tvalue'); -my $offset = $input->param('offset'); +my $offset = $input->param('offset') || 0; my $script_name="/cgi-bin/koha/admin/systempreferences.pl"; my ($template, $borrowernumber, $cookie) @@ -437,7 +540,6 @@ if ($op eq 'update_and_reedit') { my $sth=$dbh->prepare("update systempreferences set value=?,explanation=?,type=?,options=? where variable=?"); $sth->execute($value, $input->param('explanation'), $input->param('variable'), $input->param('preftype'), $input->param('prefoptions')); $sth->finish; - warn "logaction !! mod "; logaction('SYSTEMPREFERENCE','MODIFY',undef, $input->param('variable') . " | " . $value ); } } else { @@ -445,7 +547,6 @@ if ($op eq 'update_and_reedit') { my $sth=$dbh->prepare("insert into systempreferences (variable,value,explanation) values (?,?,?,?,?)"); $sth->execute($input->param('variable'), $input->param('value'), $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions')); $sth->finish; - warn "logaction !! add "; logaction('SYSTEMPREFERENCE','ADD',undef, $input->param('variable') . " | " . $input->param('value') ); } } @@ -470,94 +571,11 @@ if ($op eq 'add_form') { $template->param(return_tab => $tabsysprefs{$searchfield}); } - my @options; - foreach my $option (split(/\|/, $data->{'options'})) { - my $selected='0'; - $option eq $data->{'value'} and $selected=1; - push @options, { option => $option, selected => $selected }; - } - if ($data->{'type'} eq 'Choice') { - $template->param('type-choice' => 1); - } elsif ($data->{'type'} eq 'YesNo') { - $template->param('type-yesno' => 1); - $data->{'value'}=C4::Context->boolean_preference($data->{'variable'}); - ($data->{'value'} eq '1') ? ($template->param('value-yes'=>1)) : ($template->param('value-no'=>1)); - } elsif ($data->{'type'} eq 'Integer') { - $template->param('type-free' => 1); - $template->param('fieldlength' => $data->{'options'}); - } elsif ($data->{'type'} eq 'Textarea') { - $template->param('type-textarea' => 1); - $data->{options} =~ /(.*)\|(.*)/; - $template->param('cols' => $1, 'rows' => $2);; - } elsif ($data->{'type'} eq 'Float') { - $template->param('type-free' => 1); - $template->param('fieldlength' => $data->{'options'}); - } elsif ($data->{'type'} eq 'Themes') { - $template->param('type-choice' => 1); - my $type=''; - ($data->{'variable'}=~m#opac#i) ? ($type='opac') : ($type='intranet'); - @options=(); - my $currently_selected_themes; - my $counter=0; - foreach my $theme (split /\s+/, $data->{'value'}) { - push @options, { option => $theme, counter => $counter }; - $currently_selected_themes->{$theme}=1; - $counter++; - } - foreach my $theme (getallthemes($type)) { - my $selected='0'; - next if $currently_selected_themes->{$theme}; - push @options, { option => $theme, counter => $counter }; - $counter++; - } - } elsif ($data->{'type'} eq 'ClassSources') { - $template->param('type-choice' => 1); - my $type=''; - @options=(); - my $sources = GetClassSources(); - my $counter=0; - foreach my $cn_source (sort keys %$sources) { - if ($cn_source eq $data->{'value'}) { - push @options, { option => $cn_source, counter => $counter, selected => 1 }; - } else { - push @options, { option => $cn_source, counter => $counter }; - } - $counter++; - } - } elsif ($data->{'type'} eq 'Languages') { - my $currently_selected_languages; - foreach my $language (split /\s+/, $data->{'value'}) { - $currently_selected_languages->{$language}=1; - } - # current language - my $lang = $template->param('lang'); - my $theme; - my $interface; - if ($data->{'variable'} =~ /opac/) { - # this is the OPAC - $interface = 'opac'; - $theme = C4::Context->preference('opacthemes'); - } - else { - # this is the staff client - $interface = 'intranet'; - $theme = C4::Context->preference('template'); - } - my $languages_loop = getTranslatedLanguages($interface,$theme,$lang,$currently_selected_languages); + $data->{'lang'} = $template->param('lang'); - $template->param('languages_loop' => $languages_loop); - $template->param('type-langselector' => 1); - } else { - $template->param('type-free' => 1); - $template->param('fieldlength' => $data->{'options'}>0?$data->{'options'}:60); - } - $template->param(explanation => $data->{'explanation'}, - value => $data->{'value'}, - type => $data->{'type'}, - options => \...@options, - preftype => $data->{'type'}, - prefoptions => $data->{'options'}, - searchfield => $searchfield); + $template->param( GetPrefParams( $data ) ); + + $template->param( searchfield => $searchfield ); ################## ADD_VALIDATE ################################## # called by add_form, used to insert/modify data in DB @@ -569,7 +587,8 @@ if ($op eq 'add_form') { my $value; # handle multiple value strings (separated by ',') my $params = $input->Vars; - my @values = split("\0",$params->{'value'}) if $params->{'value'}; + my @values = (); + @values = split("\0",$params->{'value'}) if $params->{'value'}; for my $vl (@values) { $value .= "$vl,"; } @@ -630,16 +649,13 @@ if ($op eq 'add_form') { } else { $toggle=0; } - my %row_data; # get a fresh hash for the row data - $row_data{variable} = $results->[$i]{'variable'}; - $row_data{value} = $results->[$i]{'value'}; - $row_data{yes} = 1 if ($results->[$i]{'value'} == 1); - $row_data{yesno} = 1 if ($results->[$i]{'type'} eq 'YesNo'); - $row_data{explanation} = $results->[$i]{'explanation'}; - $row_data{toggle} = $toggle; - $row_data{edit} = "$script_name?op=add_form&searchfield=".$results->[$i]{'variable'}; - $row_data{delete} = "$script_name?op=delete_confirm&searchfield=".$results->[$i]{'variable'}; - push(@loop_data, \%row_data); + my $row_data = $results->[$i]; + $row_data->{'lang'} = $template->param('lang'); + $row_data = GetPrefParams( $row_data ); # get a fresh hash for the row data + $row_data->{toggle} = $toggle; + $row_data->{edit} = "$script_name?op=add_form&searchfield=".$results->[$i]{'variable'}; + $row_data->{delete} = "$script_name?op=delete_confirm&searchfield=".$results->[$i]{'variable'}; + push(@loop_data, $row_data); } $tab=($tab?$tab:"Local Use"); $template->param(loop => \...@loop_data, $tab => 1); diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css index a4661a5..d51db24 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css +++ b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css @@ -362,6 +362,10 @@ div#reserves,div#checkouts { color : Gray; } +.single-line { + white-space: nowrap; +} + .ex { font-family : "Courier New", Courier, fixed-width; font-weight : bold; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/systempreferences.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/systempreferences.tmpl index 76e0134..a72a023 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/systempreferences.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/systempreferences.tmpl @@ -63,6 +63,13 @@ alert(alertString2); } } + $( function() { + $( '#sysprefst .expand-textarea' ).show().click( function () { + $( this ).hide().nextAll( 'textarea, input[type=submit]' ).show( 'slow' ); + + return false; + } ).nextAll( 'textarea, input[type=submit]' ).hide(); + } ); //]]> </script> </head> @@ -111,9 +118,9 @@ <!-- /TMPL_IF --> <!-- TMPL_IF NAME="type-langselector" --> <!-- TMPL_IF NAME="languages_loop" --> - <table> + <table> <!-- TMPL_LOOP NAME="languages_loop" --> - <tr><td> + <tr><td> <!-- TMPL_IF NAME="plural" --> <!-- TMPL_IF NAME="native_description" --><!-- TMPL_VAR NAME="native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="rfc4646_subtag" --><!-- /TMPL_IF --> <!-- TMPL_LOOP NAME="sublanguages_loop" --><table><tr><td> @@ -136,18 +143,23 @@ <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="group_enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label> <!-- /TMPL_IF --> <!-- /TMPL_IF --> - </td></tr> + </td></tr> <!-- /TMPL_LOOP --> - </table> + </table> <!-- /TMPL_IF --> <!-- /TMPL_IF --> <!-- TMPL_IF NAME="type-yesno" --> <!-- TMPL_IF NAME="value-yes" --> - <input type="radio" name="value" id="value" value="1" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value" value="1" /><!-- /TMPL_IF --> <label for="value" class="yesno">ON</label> - <!-- TMPL_IF NAME="value-no" --> - <input type="radio" name="value" id="value-no" value="0" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value-no" value="0" /><!-- /TMPL_IF --> <label for="value-no" class="yesno">OFF</label><!-- /TMPL_IF --> + <input type="radio" name="value" id="value" value="1" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value" value="1" /> + <!-- /TMPL_IF --> + <label for="value" class="yesno">ON</label> + <!-- TMPL_IF NAME="value-no" --> + <input type="radio" name="value" id="value-no" value="0" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" id="value-no" value="0" /> + <!-- /TMPL_IF --> + <label for="value-no" class="yesno">OFF</label> + <!-- /TMPL_IF --> </li> </ol></fieldset> <fieldset class="action"><input type="submit" value="Save" /> @@ -195,11 +207,11 @@ <!-- TMPL_VAR NAME="Tvalue" --> </td></tr></table> <form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"> - <input type="hidden" name="op" value="delete_confirmed" /> - <input type="hidden" name="searchfield" value="<!-- TMPL_VAR NAME="searchfield" -->" /> - <input type="hidden" name="Tvalue" value="<!-- TMPL_VAR NAME="Tvalue" -->" /> + <input type="hidden" name="op" value="delete_confirmed" /> + <input type="hidden" name="searchfield" value="<!-- TMPL_VAR NAME="searchfield" -->" /> + <input type="hidden" name="Tvalue" value="<!-- TMPL_VAR NAME="Tvalue" -->" /> <input type="submit" value="Yes, Delete" /></form> - <form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="submit" value="No, Do not Delete" /></form> + <form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="submit" value="No, Do not Delete" /></form> <!-- /TMPL_IF --> @@ -215,16 +227,16 @@ <!-- TMPL_IF NAME="else" --> <div id="toolbar"> - <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script> + <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.tablesorter.min.js"></script> <script type="text/javascript"> //<![CDATA[ // prepare DOM for YUI Toolbar $(document).ready(function() { yuiToolbar(); - <!-- TMPL_IF NAME="loop" -->$("#sysprefst").tablesorter({ - sortList: [[0,0]], - headers: { 1: {sorter:false},2: { sorter: false },3: { sorter: false },4: { sorter: false }} - });<!-- /TMPL_IF --> + <!-- TMPL_IF NAME="loop" -->$("#sysprefst").tablesorter({ + sortList: [[0,0]], + headers: { 1: {sorter:false},2: { sorter: false },3: { sorter: false },4: { sorter: false }} + });<!-- /TMPL_IF --> }); // YUI Toolbar Functions function yuiToolbar() { @@ -250,9 +262,83 @@ <!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF --> <td><strong><a href="<!-- TMPL_VAR NAME="edit" -->"><!-- TMPL_VAR NAME="variable" --></a></strong></td><td> <!-- TMPL_VAR NAME="explanation" ESCAPE="HTML" --></td> - <td><!-- TMPL_IF NAME="yesno" --> - <!-- TMPL_IF NAME="yes" -->ON<!-- TMPL_ELSE -->OFF<!-- /TMPL_IF --> - <!-- TMPL_ELSE --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF --></td> + <!-- TMPL_IF NAME="oneline" --> + <td class="single-line"> + <!-- TMPL_ELSE --> + <td> + <!-- /TMPL_IF --> + <form action="/cgi-bin/koha/admin/systempreferences.pl" method="post"> + + <!-- TMPL_IF NAME="type-free" --> + <input type="text" name="value" size="<!-- TMPL_VAR NAME="fieldlength" -->" value="<!-- TMPL_VAR NAME="value" escape="HTML" -->" /> + <!-- /TMPL_IF --> + <!-- TMPL_IF NAME="type-textarea" --> + <a class="expand-textarea" style="display: none" href="#">Click to Edit</a> + <textarea name="value" rows="<!--TMPL_VAR NAME="rows" -->" cols="<!-- TMPL_VAR NAME="cols" -->"><!-- TMPL_VAR NAME="value" escape="HTML" --></textarea> + <!-- /TMPL_IF --> + <!-- TMPL_IF NAME="type-choice" --> + <select name="value"> + <!-- TMPL_LOOP NAME="options" --> + <!-- TMPL_IF NAME="selected" --> + <option value="<!-- TMPL_VAR NAME="option" -->" selected="selected"> + <!-- TMPL_ELSE --> + <option value="<!-- TMPL_VAR NAME="option" -->"> + <!-- /TMPL_IF --><!-- TMPL_VAR NAME="option" --></option> + <!-- /TMPL_LOOP --> + </select> + <!-- /TMPL_IF --> + <!-- TMPL_IF NAME="type-langselector" --> + <!-- TMPL_IF NAME="languages_loop" --> + <table> + <!-- TMPL_LOOP NAME="languages_loop" --> + <tr><td> + <!-- TMPL_IF NAME="plural" --> + <!-- TMPL_IF NAME="native_description" --><!-- TMPL_VAR NAME="native_description" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="rfc4646_subtag" --><!-- /TMPL_IF --> + <!-- TMPL_LOOP NAME="sublanguages_loop" --><table><tr><td> + <!-- TMPL_IF NAME="sublanguage_current" --> + <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" --> <!-- TMPL_VAR NAME="script_description" --> <!-- TMPL_VAR NAME="region_description" --> <!-- TMPL_VAR NAME="variant_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->) + <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label> + + <!-- TMPL_ELSE --> + <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" --> <!-- TMPL_VAR NAME="script_description" --> <!-- TMPL_VAR NAME="region_description" --> <!-- TMPL_VAR NAME="variant_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->) + <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label> + <!-- /TMPL_IF --></td></tr></table> + <!-- /TMPL_LOOP --> + + <!-- TMPL_ELSE --> + <!-- TMPL_IF NAME="current" --> + <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->) + <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="group_enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label> + <!-- TMPL_ELSE --> + <label for="<!-- TMPL_VAR NAME="rfc4646_subtag" -->"><!-- TMPL_VAR NAME="native_description" -->(<!-- TMPL_VAR NAME="rfc4646_subtag" -->) + <input value="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" name="value" id="<!-- TMPL_VAR NAME="rfc4646_subtag" -->" type="checkbox" <!-- TMPL_IF NAME="group_enabled" -->checked="checked"<!-- /TMPL_IF --> /> </label> + <!-- /TMPL_IF --> + <!-- /TMPL_IF --> + </td></tr> + <!-- /TMPL_LOOP --> + </table> + <!-- /TMPL_IF --> + + <!-- /TMPL_IF --> + + <!-- TMPL_IF NAME="type-yesno" --> + <!-- TMPL_IF NAME="value-yes" --> + <input type="radio" name="value" value="1" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" value="1" /> + <!-- /TMPL_IF --> + <label for="value" class="yesno">ON</label> + <!-- TMPL_IF NAME="value-no" --> + <input type="radio" name="value" value="0" checked="checked" /><!-- TMPL_ELSE --><input type="radio" name="value" value="0" /> + <!-- /TMPL_IF --> + <label for="value-no" class="yesno">OFF</label> + <!-- /TMPL_IF --> + <input type="hidden" name="op" value="add_validate" /> + <input type="hidden" name="variable" value="<!-- TMPL_VAR NAME="variable" -->" /> + <input type="hidden" name="prefoptions" value="<!-- TMPL_VAR NAME="prefoptions" escape="HTML" -->" /> + <input type="hidden" name="preftype" value="<!-- TMPL_VAR NAME="type" -->" /> + <input type="hidden" name="explanation" value="<!-- TMPL_VAR NAME="explanation" escape="HTML" -->" /> + <input type="submit" value="Save" /> + </form> + </td> <td><a href="<!-- TMPL_VAR NAME="edit" -->">Edit </a></td> <td><a href="<!-- TMPL_VAR NAME="delete" -->">Delete</a></td> -- 1.5.5.GIT _______________________________________________ Koha-patches mailing list [email protected] http://lists.koha.org/mailman/listinfo/koha-patches
