From 476bdf2ba1bb60a339ffb23717e547f7c79fc3e6 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). --- 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.25.1