--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/myams-error.js Thu Feb 13 11:43:31 2020 +0100
@@ -0,0 +1,73 @@
+/**
+ * MyAMS errors management
+ */
+(function($, globals) {
+
+ var ams = globals.MyAMS;
+
+ ams.error = {
+
+ /**
+ * Default JQuery AJAX error handler
+ */
+ ajax: function(event, response, request, error) {
+ /* user shouldn't be notified of aborted requests */
+ if (error === 'abort') {
+ return;
+ }
+ if (response && response.statusText && response.statusText.toUpperCase() === 'OK') {
+ return;
+ }
+ response = ams.ajax && ams.ajax.getResponse(response);
+ if (response) {
+ if (response.contentType === 'json') {
+ ams.ajax.handleJSON(response.data);
+ } else {
+ var title = error || event.statusText || event.type;
+ var message = response.responseText;
+ ams.skin && ams.skin.messageBox('error', {
+ title: ams.i18n.ERROR_OCCURED,
+ content: '<h4>' + title + '</h4><p>' + (message || '') + '</p>',
+ icon: 'fa fa-warning animated shake',
+ timeout: 10000
+ });
+ }
+ if (console) {
+ console.error && console.error(event);
+ console.debug && console.debug(response);
+ }
+ } else {
+ console.error && console.error("Missing MyAMS AJAX module!")
+ }
+ },
+
+ /**
+ * Show AJAX error
+ */
+ show: function(request, status, error) {
+ if (!error) {
+ return;
+ }
+ var response = ams.ajax && ams.ajax.getResponse(request);
+ if (response) {
+ if (response.contentType === 'json') {
+ ams.ajax.handleJSON(response.data);
+ } else {
+ ams.skin.messageBox('error', {
+ title: ams.i18n.ERRORS_OCCURED,
+ content: '<h4>' + status + '</h4><p>' + error + '</p>',
+ icon: "fa fa-warning animated shake",
+ timeout: 10000
+ });
+ }
+ if (console) {
+ console.error && console.error(error);
+ console.debug && console.debug(request);
+ }
+ } else {
+ console.error && console.error("Missing MyAMS AJAX module!")
+ }
+ }
+ };
+
+})(jQuery, this);