From 36c2828cdd72625d2e9e48c8d082b216481272db Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 23 Oct 2025 14:21:41 +0200 Subject: [PATCH] Bug 39296: [POC] Send objects to the templates [% SET all_subjects = {} %] [% FOREACH d IN data %] [% SET record= d.biblio.metadata.record %] [% SET fields = record.field('6..') %] [% FOREACH field IN fields %] [% tmp = field.delete_subfield('code','9') %] [% SET subject = field.as_string() %] [% IF ( all_subjects.$subject ) %] [% all_subjects.$subject = all_subjects.$subject + 1 %] [% ELSE %] [% all_subjects.$subject = 1 %] [% END %] [% END %] [% END %] [% FOREACH key IN all_subjects.nsort.reverse %] [% END %]
SubjectCount
[% key %][% all_subjects.$key %]
--- reports/guided_reports.pl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reports/guided_reports.pl b/reports/guided_reports.pl index d1444a7c6e5..422d4359a63 100755 --- a/reports/guided_reports.pl +++ b/reports/guided_reports.pl @@ -991,6 +991,7 @@ if ( $op eq 'run' ) { $total = nb_rows($sql) || 0; my $headers = header_cell_loop($sth); $template->param( header_row => $headers ); + my $needs_biblio_objects = grep { $_ eq 'biblionumber' } map { $_->{cell} } @$headers; while ( my $row = $sth->fetchrow_arrayref() ) { my @cells = map { +{ cell => $_ } } @$row; push @rows, { cells => \@cells }; @@ -1017,6 +1018,13 @@ if ( $op eq 'run' ) { my $notice_template = Koha::Notice::Templates->find($template_id); my ( $sth2, $errors2 ) = execute_query( { sql => $sql, report_id => $report_id } ); my $data = $sth2->fetchall_arrayref( {} ); + if ($needs_biblio_objects) { + $data = [ + map { + { %$_, biblio => Koha::Biblios->find( $_->{biblionumber} ) } + } @$data + ]; + } my $notice_rendered = process_tt( $notice_template->content, { data => $data, report_id => $report_id } ); my $title_rendered = -- 2.34.1