From f0a26ffb3ac0e45346c9a7e5e91932e5f759f2bd Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 12 Jul 2022 10:09:25 +0200 Subject: [PATCH] Bug 31138: Don't ignore DataTables errors and raise them to the end-user DataTables is not raising error to the end user, it's only displaying a generic message in the console. This leads to lot of questions on IRC or the mailing list ("the table is empty"). We can do better and display what went wrong. We could also imagine add a link to the wiki for the more common problems (won't be implemented here however). Test plan: Revert "Bug 31104: Put each link on a separate header" and search for a patron using a very long string You should get an alert with the reponse of the server. In my case: """ Something went wrong when loading the table. 414: Request-URI Too Long """ You can also make the REST API returns a 500 (bad specs or simply with a die statement). Signed-off-by: Martin Renvoize Signed-off-by: Kyle M Hall --- koha-tmpl/intranet-tmpl/prog/js/datatables.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/datatables.js b/koha-tmpl/intranet-tmpl/prog/js/datatables.js index e2d85471579..21dfe526369 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/datatables.js +++ b/koha-tmpl/intranet-tmpl/prog/js/datatables.js @@ -485,7 +485,13 @@ function filterDataTable( table, column, term ){ } jQuery.fn.dataTable.ext.errMode = function(settings, note, message) { - console.warn(message); + if ( settings.jqXHR ) { + console.log("Got %s (%s)".format(settings.jqXHR.status, settings.jqXHR.statusText)); + alert(__("Something went wrong when loading the table.\n%s: %s").format(settings.jqXHR.status, settings.jqXHR.statusText)); + } else { + alert(__("Something went wrong when loading the table.")); + } + console.log(message); }; (function($) { -- 2.30.2