@@ -, +, @@ --------- https://.../cgi-bin/koha/svc/report?id=## https://.../cgi-bin/koha/svc/report?id=##&header=1 NOTE: There are two patches, but you could just test 1. --- opac/svc/report | 6 +++++- svc/report | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) --- a/opac/svc/report +++ a/opac/svc/report @@ -30,11 +30,11 @@ use Koha::Cache; my $query = CGI->new(); my $report_id = $query->param('id'); my $report_name = $query->param('name'); +my $report_header = $query->param('header'); my $report_rec = get_saved_report( $report_name ? { 'name' => $report_name } : { 'id' => $report_id } ); die "Sorry this report is not public\n" unless $report_rec->{public}; - my $cache_active = Koha::Cache->is_cache_active; my ($cache_key, $cache, $json_text); if ($cache_active) { @@ -48,7 +48,11 @@ unless ($json_text) { my $limit = C4::Context->preference("SvcMaxReportRows") || 10; my ( $sth, $errors ) = execute_query( $report_rec->{savedsql}, $offset, $limit ); if ($sth) { + my $header = $sth->{NAME}; my $lines = $sth->fetchall_arrayref; + if ($report_header) { + unshift @{$lines}, [ @{$header} ]; + } $json_text = to_json($lines); if ($cache_active) { --- a/svc/report +++ a/svc/report @@ -32,7 +32,9 @@ use Koha::Cache; my $query = CGI->new(); my $report_id = $query->param('id'); my $report_name = $query->param('name'); +my $report_header = $query->param('header'); +my $report_rec = get_saved_report( $report_name ? { 'name' => $report_name } : { 'id' => $report_id } ); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { template_name => "intranet-main.tmpl", @@ -52,12 +54,15 @@ 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 $header = $sth->{NAME}; my $lines = $sth->fetchall_arrayref; + if ($report_header) { + unshift @{$lines}, [ @{$header} ]; + } $json_text = to_json($lines); if ($cache_active) { --