From 7a5d048b51b60dcb7123e2fd0b73e5d95f9e554e 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 Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 76b984bb6ccee55ba1ddfdb5b08c6ee2e75eaa37) Signed-off-by: Lucas Gass --- 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($) {