Bug 34533: jsdiff library missing from guided reports page

This patch restores the inclusion of the jsdiff JS library on the guided
reports page when displaying saved SQL reports. This fixes a JS error in
the browser console when the user tries to use our automatic update on
SQL reports which use an older syntax.

The patch also corrects a problem with svc/convert_report which was
causing an error when trying to display the diff information.

To test, apply the patch and restart services.

- Go to Reports -> Create from SQL.
- Add a report which is based on an older db structure. The example I
  found was:

  SELECT biblionumber,
  ExtractValue(marcxml,'//datafield/@tag/text()[substring(.,1,1) = "5"]') as 'notes'
  FROM biblioitems
  HAVING notes <> ''

- Save the report and go to the list of saved reports. There should be
  an "Update" column in the table, with a message about your newly-added
  report:

  "This report seems obsolete, it uses biblioitems.marcxml field."

- Clicking the "Update SQL" button should trigger a modal window that
  shows the before an after versions of the report. There should be
  no error in the browser console. Unfortunately the diff will not
  display because of a separate bug in svc/convert_report

Signed.off-by: Jessie Zairo <jzairo@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f2be2cedc5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Owen Leonard 2023-08-15 08:38:20 +00:00 committed by Fridolin Somers
parent ae8937fb8d
commit 13bc2848a1
2 changed files with 3 additions and 2 deletions

View file

@ -1477,6 +1477,7 @@
[% INCLUDE 'datatables.inc' %]
[% IF ( saved1 ) %]
[% INCLUDE 'columns_settings.inc' %]
[% Asset.js( "lib/jsdiff/jsdiff.min.js" ) | $raw %]
[% END %]
[% Asset.js( "lib/codemirror/codemirror.min.js" ) | $raw %]
[% Asset.js( "lib/codemirror/overlay.min.js" ) | $raw %]

View file

@ -19,10 +19,10 @@
use Modern::Perl;
use C4::Auth;
use C4::Reports::Guided;
use Koha::Reports;
use C4::Output;
use C4::Auth qw( get_template_and_user get_session );
use C4::Output qw( output_html_with_http_headers );
use CGI qw ( -utf8 );
my $query = CGI->new();