[Koha-patches] [PATCH] Bug 8588 - Duplicate field IDs cause problems with SQL report parameter entry
Owen Leonard
oleonard at myacpl.org
Tue Aug 7 21:14:07 CEST 2012
Changes to markup and script to enable unique ids on form
fields. These changes allow for working label+input pairs
on one or more text and select inputs and multiple working
datepickers.
To test, create a report with more than one date parameter,
at least one text parameter, and one or more authorised
value parameters. The datepickers should each work properly,
and labels should by clickable.
---
.../en/modules/reports/guided_reports_start.tt | 16 +++++++++++-----
reports/guided_reports.pl | 8 ++++++--
2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
index 3d9a7ab..c28862b 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
@@ -501,16 +501,22 @@ canned reports and writing custom SQL reports.</p>
<input type='hidden' name='reports' value="[% reports %]" />
<h1>Enter parameters for report [% name %]:</h1>
[% IF ( notes ) %]<p>[% notes %]</p>[% END %]
+ <fieldset class="rows">
+ <ol>
[% FOREACH sql_param IN sql_params %]
[% IF sql_param.input == 'date' %]
- <p>
- [% sql_param.entry %]: <input id="date_[% sql_param_entry %]" type="text" value="" size="10" name="sql_params" class="datepicker" />
- </p>
+ <li>
+ <label for="date_[% sql_param_entry %][% loop.count %]">[% sql_param.entry %]:</label> <input id="date_[% sql_param_entry %][% loop.count %]" type="text" value="" size="10" name="sql_params" class="datepicker" />
+ </li>
+ [% ELSIF ( sql_param.input == 'text' ) %]
+ <li><label for="sql_params[% loop.count %]">[% sql_param.entry %]: </label><input id="sql_params[% loop.count %]" type="text" name="sql_params" /></li>
[% ELSE %]
- <p>[% sql_param.entry %]: [% sql_param.input %]</p>
+ <li><label for="sql_params_[% sql_param.labelid %]">[% sql_param.entry %]:</label> [% sql_param.input %]</li>
[% END %]
[% END %]
- <input type='submit' value='Run the report'/>
+ </ol>
+ </fieldset>
+ <fieldset class="action"><input type="submit" value="Run the report" /></fieldset>
</form>
[% END %]
diff --git a/reports/guided_reports.pl b/reports/guided_reports.pl
index 1112274..8a2aada 100755
--- a/reports/guided_reports.pl
+++ b/reports/guided_reports.pl
@@ -508,6 +508,7 @@ elsif ($phase eq 'Run this report'){
for(my $i=0;$i<($#split/2);$i++) {
my ($text,$authorised_value) = split /\|/,$split[$i*2+1];
my $input;
+ my $labelid;
if ($authorised_value eq "date") {
$input = 'date';
}
@@ -563,8 +564,11 @@ elsif ($phase eq 'Run this report'){
$authorised_lib{$value} = $lib;
}
}
+ $labelid = $text;
+ $labelid =~ s/\W//g;
$input =CGI::scrolling_list( # FIXME: factor out scrolling_list
-name => "sql_params",
+ -id => "sql_params_".$labelid,
-values => \@authorised_values,
# -default => $value,
-labels => \%authorised_lib,
@@ -575,9 +579,9 @@ elsif ($phase eq 'Run this report'){
);
} else {
- $input = "<input type='text' name='sql_params'/>";
+ $input = "text";
}
- push @tmpl_parameters, {'entry' => $text, 'input' => $input };
+ push @tmpl_parameters, {'entry' => $text, 'input' => $input, 'labelid' => $labelid };
}
$template->param('sql' => $sql,
'name' => $name,
--
1.7.9.5
More information about the Koha-patches
mailing list