bug 6409: fix pagination of SQL report output when parameters are used
authorGalen Charlton <gmcharlt@gmail.com>
Tue, 24 May 2011 19:25:41 +0000 (15:25 -0400)
committerChris Cormack <chrisc@catalyst.net.nz>
Thu, 9 Jun 2011 23:45:47 +0000 (11:45 +1200)
Fixes bug where paging through output of an SQL report that includes
one or more parameters fails by asking you for the parameter values
and again and sending you back to the first page of results.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
reports/guided_reports.pl

index 40983fd..f5667a2 100755 (executable)
@@ -21,6 +21,7 @@ use strict;
 #use warnings; FIXME - Bug 2505
 use CGI;
 use Text::CSV;
+use URI::Escape;
 use C4::Reports::Guided;
 use C4::Auth qw/:DEFAULT get_session/;
 use C4::Output;
@@ -521,6 +522,9 @@ elsif ($phase eq 'Run this report'){
 
         my $totpages = int($total/$limit) + (($total % $limit) > 0 ? 1 : 0);
         my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report&amp;phase=Run%20this%20report";
+        if (@sql_params) {
+            $url = join('&amp;sql_params=', $url, map { URI::Escape::uri_escape($_) } @sql_params);
+        }
         $template->param(
             'results' => \@rows,
             'sql'     => $sql,