From bd4b1e6b57b5ccdc12b586ac8082936fb405005d 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 --- 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 e2d8547157..21dfe52636 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.20.1