X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=svc%2Freport;h=0cff7dc4c1ccce9743926b31356a7516498612d9;hb=71f0d1639784aab68013ef3d052852f7c605cc66;hp=654ef1572b76c231badabfc1e1c782510734bee6;hpb=42acfbf75b7bb4ee53c6a6f035e258a0b522ce10;p=koha.git diff --git a/svc/report b/svc/report index 654ef1572b..0cff7dc4c1 100755 --- a/svc/report +++ b/svc/report @@ -1,25 +1,24 @@ #!/usr/bin/perl -# Copyright 2011 Chris Cormack -# # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Copyright (C) 2011 Chris Cormack +# Copyright (C) 2013 Mark Tompsett # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . -use strict; -use warnings; +use Modern::Perl; use C4::Auth; use C4::Reports::Guided; @@ -32,6 +31,10 @@ use Koha::Cache; my $query = CGI->new(); my $report_id = $query->param('id'); my $report_name = $query->param('name'); +my $report_annotation = $query->param('annotated'); + +my $report_rec = get_saved_report( $report_name ? { 'name' => $report_name } : { 'id' => $report_id } ); +if (!$report_rec) { die "There is no such report.\n"; } my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { @@ -52,12 +55,17 @@ if ($cache_active) { } unless ($json_text) { - my $report_rec = get_saved_report($report_name ? { 'name' => $report_name } : { 'id' => $report_id }); my $offset = 0; my $limit = C4::Context->preference("SvcMaxReportRows") || 10; my ( $sth, $errors ) = execute_query( $report_rec->{savedsql}, $offset, $limit ); if ($sth) { - my $lines = $sth->fetchall_arrayref; + my $lines; + if ($report_annotation) { + $lines = $sth->fetchall_arrayref({}); + } + else { + $lines = $sth->fetchall_arrayref; + } $json_text = to_json($lines); if ($cache_active) { @@ -69,5 +77,8 @@ unless ($json_text) { } } -print $query->header; +print $query->header( + -charset => 'UTF-8', + -type => 'application/json' +); print $json_text;