Commit 8ca55a7f authored by Galen Charlton's avatar Galen Charlton Committed by Kyle M Hall

Bug 16760: fix Circulation Statistics wizard under Plack

This patch fixes some variable scoping problems when running
the circulation statistics wizard under Plack.  For example,
when using the item type as a row header, with this patch the
item type description is displayed rather than "UKNOWN VALUE".

This patch also enables warnings and fixes a couple variable
initialization issues. (Note that turning on warnings across
the board would make it easier to identify Plack variable scoping
issues, as "Variable "$foo" is not available at' errors would
be recorded in the Plack error log).

To test
[1] Run the staff interface under Plack.
[2] Go to the Circulation Statistics Wizard and run a report
    using item type as the row. Note that the row labels
    display as "UNKNOWN VALUE" rather than the item type.
[3] Apply the patch and restart Plack.
[4] Run step #2 again; this time, the item type descriptions should
    be used as the row labels.
Signed-off-by: Galen Charlton's avatarGalen Charlton <[email protected]>
Signed-off-by: Wm. Nick Clemens's avatarNick Clemens <[email protected]>
Signed-off-by: joubu's avatarJonathan Druart <[email protected]>
Signed-off-by: default avatarKyle M Hall <[email protected]>
parent c7596a48
......@@ -18,7 +18,7 @@
# along with Koha; if not, see <>.
use strict;
#use warnings; FIXME - Bug 2505
use warnings;
use CGI qw ( -utf8 );
use Date::Manip;
......@@ -45,7 +45,7 @@ Plugin that shows circulation stats
# my $debug = 1; # override for now.
my $input = new CGI;
my $input = CGI->new;
my $fullreportname = "reports/";
my $do_it = $input->param('do_it');
my $line = $input->param("Line");
......@@ -70,19 +70,19 @@ my ($template, $borrowernumber, $cookie) = get_template_and_user({
flagsrequired => {reports => '*'},
debug => 0,
our $sep = $input->param("sep");
our $sep = $input->param("sep") // '';
$sep = "\t" if ($sep eq 'tabulation');
$template->param(do_it => $do_it,
my $itemtypes = GetItemTypes();
my $categoryloop = GetBorrowercategoryList;
our $itemtypes = GetItemTypes();
our $categoryloop = GetBorrowercategoryList;
my $ccodes = GetKohaAuthorisedValues("items.ccode");
my $locations = GetKohaAuthorisedValues("items.location");
our $ccodes = GetKohaAuthorisedValues("items.ccode");
our $locations = GetKohaAuthorisedValues("items.location");
my $Bsort1 = GetAuthorisedValues("Bsort1");
my $Bsort2 = GetAuthorisedValues("Bsort2");
our $Bsort1 = GetAuthorisedValues("Bsort1");
our $Bsort2 = GetAuthorisedValues("Bsort2");
my ($hassort1,$hassort2);
$hassort1=1 if $Bsort1;
$hassort2=1 if $Bsort2;
......@@ -219,8 +219,8 @@ sub calculate {
push @loopfilter,{crit=>"Select Month",filter=>$monthsel} if ($monthsel);
my @linefilter;
$debug and warn "filtres ". join "|", @filters;
my ($colsource, $linesource);
$debug and warn "filtres ". join "|", @$filters;
my ($colsource, $linesource) = ('', '');
$linefilter[1] = @$filters[1] if ($line =~ /datetime/);
$linefilter[0] =
( $line =~ /datetime/ ) ? @$filters[0]
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment